"We will have to patent our schema," advised Bill Gates in an internal email in June 1998, "and some of our key objects like people / schedules".
Whether an XML schema can be a patentable invention is an interesting question, but only fairly recently the Microsoft chairman was attracted the idea that he not only could, but should pursue the option. So the release of the first of Microsoft's XML schemas for Office 2003 - files that describe the format for office documents saved as XML - caused some anxiety in the community yesterday.
Microsoft issued the schemas under a royalty-free license that had some wondering if they could work with GPL software. "Microsoft may have patents and/or patent applications that are necessary for you to license in order to make, sell, or distribute software programs that read or write files that comply with the Microsoft specifications for the Office Schemas," according to the accompany patent license agreement. Given that GPL software developers have refused to work with patent-encumbered code, the anxiety was familiar.
"I don't think the alarm is justified," the FSF's pro bono counsel Eben Moglen told us last night. "This is not a license that I would like to accept; Microsoft is saying we might have some patents. But it's not a problem if Microsoft is making it available to everyone to make use and sell.
Moglen says that Microsoft's schema license conforms to the compromise that he worked out with community leader Bruce Perens when revising the World Wide Web Consortium's (W3C) proposed RAND license. Two years ago the W3C proposed to allow, in parallel to the web's tradition of royalty-free licenses which saw a developers revolt.
"A patent-encumbered web threatens the very freedom of intellectual debate, allowing only large companies and big media houses to present information in certain ways," wrote Linux kernel developer Alan Cox at the time.
Iyer Venkatesan, product manager for StarOffice at Sun Microsystems, generally welcomed Microsoft's move to publish the schema but sounded a note of caution. "We're probably going to see how the lawyers look at it," he told us. "It's possible a GPL program would not be able to read Office 2003 files but BSD would be able to read it. But we have to figure that out."
The OpenOffice.org project, the fruits of which Sun markets as StarOffice, has had some marked success in interoperating with Microsoft Office, in some cases even being able to read and write to files that Microsoft's software balked at. Sun has submitted its OpenOffice.org schema to a standards body. "We have invited them to participate in OASIS but they have declined for good reasons of their own," said Venkatesan.
The schema isn't a panacea. Microsoft Office still natively saves to undocumented binary files, and as we noted here, there's plenty of room in the specification for binary data or what Microsoft calls "arbitary schema". People forget that the X in XML is for extensible.
As Mike Champion asked here, "What is the point of storing data in XML if the schema is so hideous and proprietary than no one can use it without proprietary API support? What advantages does WordML have over the HTML-like stuff that current versions of Word generate on request? At least you can tidy.exe the HTML-like stuff into standard XML, but what can you do with WordML except load it into Word...unless of course you are an XSLT uber-geek?"
"It doesn't make me sleep any easier," said programmer and free software systems consultant, Karsten Self. "I see a noose. I'm trying to see what's in it, and when it's going to be sprung."
"There is no mention in the license of what specific patents are licensed. For the license to have any specific application, either the schema or its interpretation would seem to need specific patent coverage, although a cursory search of the USPTO patent database shows no patents assigned to Microsoft specifically detailing an XML schema."
"The terms of the Microsoft license while being royalty-free, prevent modification or creating derived works based on the schema. This effectively rules out any software license meeting the OSI Open Source Definition from being used with an implementation based on a program using the schema."
Moglen says that this doesn't prevent a free software programmer creating derivative works, because the schema is being licensed from Microsoft.
"Section 7 of the GPL says if you're restricted by a judgement or a license you've accepted, and they're incompatible, then you can't distribute your software under GPL. But it's not the case that this license violates Section 7."
"I want to reassure people that it's not an issue". ®