Saturday, August 15, 2009

Microsoft Granted Another Ridiculous Patent

Why do the US patent office keep doing this? The patent described here tells of a mechanism by which meta data is included in an XML schema that describes markup information without having to embed it between within the actual text. The intention is to provide compatibility with other applications that can load, process and save documents based on this schema.
Why is this ridiculous? Well basically an XML schema can almost be seen at the same level as a communications protocol, describing document layout and properties in the same way you might use meta data in a database to describe a record layout, types, lengths etc. So the patent covers the application of an XML schema which in itself is not an invention. Furthermore it is trivial: if you know how to write a schema anyone can make one, just like anyone who knows how to write a formal letter can write one. Thirdly, what happens if the schemas I have made resemble those of Microsoft too closely - do I get taken to court? This is yet another example of how software patents are abused. Copyright can be used to protect your software property so there is no need for software patents. Writing a computer program is the same as writing a letter or a piece of music, which is not the same as an invention.
Even worse, Microsoft have this week themselves been found guilty of patent infringement on a similar issue and as a result have been ordered to stop selling MS Word. Computer World reports on how i4i have patented a method for creating XML document templates, a method which is also used by Microsoft Word for creating custom templates. Apparently the patent was infringed with full knowledge of Microsoft so that the judge actually increased the claim for damages. Now once again, using XML to manage document content is trivial, so the fact that a company can actually patent such a method and then call it an invention is once again absurd. Even worse, it actually limits innovation because anyone who creates software from scratch that looks a little too much like code from another, even though there may be only one way to implement it, could get taken to court.