Although many people think XML is being overused (which I tend to agree with), it is finding an enormous range of uses and applications.
It is therefore quite unfortunate then that anyone using XML for object serialisation may either have to stop, face being sued, or cough up a lot of money. Why?
The simple reason is that Microsoft was granted last week a patent on using XML to serialise and deserialise objects.
Microsoft defended its position, claiming "studies routinely rank our innovations among the most significant across any industry". But as one reader of the above article pointed out, there is a fairly obvious flaw, asking "Where is the patentable 'innovation' in using XML for the purpose it's born for?" [sic]
The Extensible Markup Language (XML) has its one of its roots in the Oxford English Dictionary, as
creator Tim Bray explains. Its genesis also lies in SGML, largely a creation of IBM, who spent many years developing markup languages for large structured documents.
it has since become a swiss army chainsaw of data formats. XML is being used in a phenomenal variety of applications, for user preferences, simple databases, RPC mechanisms, and so on. And yes, even to serialise objects.
Fundamentally, XML is a data format. Even the XML specification talks about "entities" and "objects". The Document Object Model (DOM) in JavaScript in web browsers is yet another good example. I'm sure there are dozens of examples where XML is used as a persistent form for the public instance data of an object.
The only aspect of the patent claim that does not make it completely general is the idea that the schema is generated from annotated source code. This idea however, is by no means new or novel either, and still does not constitute a "novel invention" and "non-obvious to someone skilled in the art". Especially since annotated source has been around for many many years, and all sorts of tools (preprocessors, literate programming tools, doxygen-style tools) have performed similar functions.
We developers can only hope that people come forward with prior art in this area, published prior to the patent application. Otherwise, we find ourselves facing yet another landmine in the software landscape.

Leave a comment