Microsoft Embraces Open Interoperability

Well, sort of.

You can’t swing a dead cat without hitting this story in the news somewhere (here, here, here, here, here, and here), so I thought I’d bring it up.

On February 21st, 2008, Microsoft announced it has seen the light on open standards and interoperability, with a press release saying:

Microsoft will "enhance connections with third-party products," by publishing documentation for all its high-volume [SQL Server, Office, etc.] products' APIs and communications protocols that are used to connect with other Microsoft products. "Developers do not need to take a license or pay a royalty or other fee to access this information. Open access to this documentation will ensure that third-party developers can connect to Microsoft's high-volume products just as Microsoft's other products do."

On the face of it, it looks pretty good. Microsoft has been threatening to sue open source software for years, covertly funding SCO in it’s horribly failed lawsuit against Linux. To have them write up a covenant saying they won’t sue free software developers, and also that they will specify which patents cover the API’s (another first), is a pretty big deal.

There are some pretty serious problems, however.

  • Microsoft has been big on interoperability promises and woefully short on delivering. When they embrace open standards, it's generally to squeeze the life out of them, or they will add proprietary extensions to open protocols to kill interoperability (shakes fist at Kerberos).
  • The timing - the EU is suing Microsoft's pants off and they are getting ready for another ISO vote on their train wreck of an office file format - is highly suspicious. In many ways their new revelation is simply meeting their obligations under rulings of the EU courts. And it doesn't appear to have swayed the EU. A week after the Microsoft announcement the EU fined them $1.3 billion for not abiding by a 2004 ruling to do this very thing (more or less).
  • The limitations on how you can use the docs are extremely.....well, limiting. Basically they're creating a market for their API's, because if your product makes money, you have to pay a license fee. Even if you make an in-house product using the API's but you use it to help make some other product to sell that doesn't use the API's, you may still have to cut Bill a check.
  • These limitations make the API's completely incompatible with the GNU GPL, which I'm sure Microsoft is very aware of. This kills it for most open source projects. Which in turn makes the API's not terribly "open".
I've read a lot of feedback on this announcement, ranging from euphoric to skeptical to somewhere in between. I think it's way too early to tell if this is a real shift or if it's simply PR hot air. Taken at face value, I'd say it's a baby step, but a good start.