It gets worse the more I look at it. In recent blog items I have been looking at the issue of companies getting US patents for technologies that are part of international standards or obvious applications from them.
I have been concerned about this issue for a long time: in fact, I asked the Australian national standards body Standards Australia to raise the issue of the encrouchment of patents on standards (in particular the legal status of standards) at a JTC1 plenary, and they told me it had. I gather that the JTC1 representatives would prefer it to be someone else's problem. They need a boot up their collective backside. Of course legal protection must be gained through the political process, but the standards organizations need to act as a union for standards-makers: the standards bodies don't need to wait for a grassroots movement, they already are a grassroots movement (in countries where the standards body is not a government department.)
Is the reason that IBM and Microsoft are the top patentees because they bottom-feed standards and the obvious uses or workarounds of standards? I wrote about this a few years ago, claiming Microsoft was trying to patent a XML patent-writing machine. (Note the comment accusing me of Microsoft-bashing :-)
The latest one that came to my attention is IBM's patent 7,143,346 Simple types in XML schema complex types.
What is claimed is:
1. A method of parsing an XML stream containing simple types wherein said simple types are not XML elements within a complex type, said method comprising: receiving said XML stream; parsing said XML stream comprising: on encountering a parent element in said XML stream, utilizing an XML schema to locate a type for said parent element; where said type is a complex type, determining whether a mixed flag for said complex type in said schema is set to true; where said mixed flag is set to true, interpreting fragments embedded in said parent element in accordance with said complex type, each fragment being one of an arbitrary string and an element; generating parser output events interpreting each embedded fragment as one of an embedded simple type and an inherited simple type where, in accordance with said complex type, each embedded fragment corresponds to a dummy element having a simple type, with one of (i) a name of said dummy element and (ii) a name of said simple type being one of a predetermined set of names.
IBM's patent provides a way annotating a schema so that the text fragments found in element content can implied by the software to belong to an element and therefore to have some simple type.
Sound familiar? ISO SGML (IS8879:1986) provides a feature called tag omission. This is a way of annotating a schema so that text fragments in element content can be implied by the software to belong to an element and therefore to have some element type.
Now in the case of SGML, the schemas are DTDs not W3C XML Schemas. And the implication is at the tag level rather than elements. And it is built-in to the parser rather than being a post-process. I don't see how it makes any difference. The idea is obvious, there is prior art in doing this kind of thing.
I was on the W3C XML Schema Working Group that created XML Schemas. And I was on the ISO/IEC committee that maintain SGML in the 1990s. This patent just sucks.
Why is there no reference to SGML in the patent? SGML was largely invented at IBM, and the efforts of IBM-ers like Goldfarb, Adler, Berglund and Wohler were key to what success it achieved.
Is it really true that one standard (W3C XML DTDs) can take out a feature from another standard (ISO SGML DTDs), then alter it cosmetically with some extra features (W3C XML Schemas), and then a US company can get a patent on that original feature again?
Apart from obviousness, wilfull ignorance, and prior art (IMHO IANAL), this patent has another aspect that unsettles me, though I am cannot really articulate it at the moment. In Thomistic terms, it treats accidents as a substance. What is the substantial difference between an XML Schema schema and any other kind of schema (RELAX NG, XML DTD, SGML DTD)? To me, it is like the difference between a red brick and a green brick: a patent that limits itself to red bricks to do something that was old hat for green bricks and unrelated to colour just seems dodgy, to use our slang.