Early this week Microsoft was granted a patent on their approach to serializing an object to XML. While I can see how XmlSerialization provided by the .NET Framework is unique, I have mixed emotions about the patent. For instance, XmlSerialization is probably my number one favorite feature in the .NET Framework. I find I use it all the time. But I now also spend a lot of development time in Delphi writing a Win32 application and I have thought about ways to implement a similar Xml serialization feature based on RTTI.

My concern with such a patent is that it might discourage other developers from inventing a form of Xml serialization for a different environment such as Delphi that is as flexible and easy-to-use as .NET XmlSerialization. Put another way, if Borland decided to implement a way to store metadata about a class structure for a Win32 target and a developer used this metadata to provide a mechanism to map the object shape into an Xml schema as defined by the metadata and serialize the object into an Xml document based on that schema, would that be a violation of Microsoft's XmlSerialization Patent?

Also, how does such a patent effect open source efforts such as Mono? If someday Mono is widely adapted will Microsoft want to charge developers for the use of XmlSerialization in applications using the Mono framework?

I don't know the answers to my questions, and as I said I have mixed emotions about the patent. On one hand, I see how it is a unique technique for serializing objects to Xml. On the other hand, I fear it will limit or completely eliminate a similar approach in other development environments.

posted by Kirby Turner | 27-May-2005 7:58 AM | comments (2)


I have SERIOUS concerns with software patents in general. So many of these "novel" ways of doing things in code (like this serialization of XML) have *probably* been done by many coders in many slightly different ways that will pre-date the patent application, but, the "little guys" have no resources to launch an effort to block such large, sweeping patents because they have no way to show "prior works" (to block the patent), let alone have the funding/initiative to do so.

I have seen so many incredibly-general "patents" that simply scare the heck out of me as a s/w developer. Basically, you write ANY code anymore, and you are stepping on a "patent" claim somewhere if you 1) actually sell a product that succeeds, or 2) work on a product that is free (OSS) but is a threat to a place that does make money from their s/w which is "patented".

The EU is currently evaluating their own s/w patent laws direction. I have been watching closely and hoping they don't go down this slippery slope the U.S. has taken.

What can be done? A LOT!
1) DO NOT invoke paranoia at your own company and try to protect profits by patenting what I consider to be no more than "ideas" (which, are by definition NOT patentable). Make money by having truly good software and support. The end user doesn't care HOW you wrote your software!

2) FREELY post some of you "core techniques" code on your website or other public medium as soon as you develop something that is "unique" (read: something some greedy company would try to patent). By posting it for all to see, you wipe out the "novelty" requirements any other firm must meet. Now, get all your coding friends to do the same.

3) Push our government to make changes to remove this insane software-patents junk.

I swear some of the "patents" in software I read have ZERO foundation when it comes to "novelty" anyhow. I recall reading one for something as general as "the transfer of data between users of more than one computer on a network" or some such garbage. Well heck, I recall doing THAT since the first computer I had access to.

Enough said. :)

posted by Mike | May 27 07:58 PM


http://koala.ilog.fr/XML/serialization/
XML serialization has been implemented for Java objects back then in 1998-1999. If that's not prior art, I don't know what is.

posted by Toto | June 3 07:31 AM

Add Your Comment

Comment:
(No HTML)

Name:
E-mail/Web site:
Your e-mail/web site will not be published on this site. It is optional and will only be used by me should I need to contact you directly.
 
By checking this option, this site will remember your name and e-mail/web site on future visits. Uncheck this option to have the site not remember who you are on future visits.
 
Enter the code shown above:
Copyright © 1999-2008 Kirby Turner.
Site software written by White Peak Software Inc, a provider of custom software and software development coaching.