Microsoft, Word, i4i, XML #2
This is what I wrote last 12th of august:
Microsoft ordered to stop selling Word... And basically most Office products and Visio and and and.
First personal reaction is shock ; second reaction is "oh wait, I4I ????" ; third reaction is "oooooh shit".
Just for the record, and that's something the CNet article does not mention, I4I acquired Grif's assets when it collapsed... Oh, and my old boss Jean Paoli (XML 1.0 co-editor) moved from Grif to Microsoft a while before that.
I4I filed the patent in july 1994, i.e. at a time the idea of a unified DOM and DOM api started percolating slowly into the SGML community. As a matter of fact, the patent is not about the Web but really about SGML. Please note USPTO took four years to validate the patent !!! Four years, that's more than a generation in our web wold. In 1994, the Web was still almost confidential. In 1998, the Web had already changed the world.
I am unfortunately not sure this patent fight is a patent troll. Patents on software are incredibly harmful, they are a too weak shield for innovators that use them and a burden on innovators that don't carry the patent. Let's compare codes, not ideas.
I was right. Microsoft just lost and has to pay $290 million. For those of you who don't really understand what's going on here and how it could affect the XML world, let me explain a bit...
The original authors of XML had two kinds of document instances in mind : the first ones, well-known, conform to a document model. Call it a dtd or a schema or whatever, documents conform to some sort of structural description and only what's allowed by the structure is found in the documents ; validators are the tools that can confirm a given document conforms to a given structure. On another hand, well-formed documents are documents that are XML, with tags and everything, but don't have a structure. You design them as you need them, you're the sole user of the format so you don't really need a specified structure and validation.
"Custom XML" lives between these two species. If you're working with documents conforming to a given document model, how do you insert "custom" tags (no, don't think namespaces, think 1994...) in these documents, retaining validity and still enabling load/edit/save and everything? That's the purpose of i4i's patent.
Does it affect our daily work on XML or does it affect our future work? I don't think so. First, inserting arbitrary XML tags without associated dtd/schema and namespace in a given instance is nowadays probably a very marginal use case. Second, you could always declare an arbitrary namespace for your user-defined tags and let the user-agent treat the document in a single document tree (in other terms, you don't need to separate structure and content and recreate an internal structure for your arbitrary tags, and that is the heart of i4i's patent). Third, i4i's patent was filed at a time the DOM and namespaces did not exist and we now handle compound XML instances in a different way. Fourth, schemas can control where extra XML elements are allowed (the case of DTDs is a bit more complex ).
Let's summarize: Microsoft fell in a nice trap, probably because their Legal Department did not do its job well enough. $290m, that's severe, and a few layers deserve a kick in the butt. I also think the whole debate (and to be more precise the case) is totally rotten. Microsoft was judged on the presence of a "custom XML editor" add-on in Word; but I see no clear facts in the ruling about a technical infringement on i4i's patent. In other words, yes Microsoft implemented and shipped a "custom XML editor" and a "custom XML editor" is described in i4i's patent; but no it's not clear at all they implemented it using the methods described in i4i's patent...
Again, I do believe software patents are a serious threat for Software in general. In this case, codes and algorithms were not even compared and I find it not only ridiculous but also dangerous.