If you've been following Microsoft's interoperability moves over the past several years, you might be familiar with the fact that the software giant has pledged to be more "open" many times, in many different ways. For the most part, however, Microsoft has fallen far short of the idealized model of openness that's advocated by the Open Source movement, due largely to the vast success the company has realized over the decades from its proprietary approach to software development.
The world, of course, is changing. And although Microsoft continues to make seemingly half-hearted efforts to open up in order to meet the changing needs of its customers, the company's primary goal has always been to protect and extend its core markets: Windows, Windows Server, and Office. For example, when the secret sauce of its proprietary Office document formats was seen as the key to its stranglehold on the office productivity market, Microsoft held those formats close to the vest, forcing competitors to reverse engineer them and offer, at best, only partial support for these most crucial of data types. But when national and local governments around the world began voicing concerns about storing their data in these proprietary formats and actively began seeking open alternatives, Microsoft reversed course. It created the so-called Open XML document formats and offered them up as international standards. Here Microsoft's strategy changed with the times, but as always the key goal was protecting one of its core markets, in this case Office.
Last week, Microsoft made a sweeping announcement to expand the interoperability of its most high-volume products, opening a new era of openness that I suspect is largely the handiwork of Microsoft Chief Software Architect Ray Ozzie, finally cashing in on his influence in the waning days of retiring Chairman Bill Gates, who would almost assuredly never have allowed such a change had he still been in charge of the company. The announcement seemed directed at a lot of different groups: not only the third-party developers who would now be able to create solutions that integrate more seamlessly with Microsoft's products, but also antitrust regulators in Europe and the corporate foes opposing its bid to make Open XML an ISO standard.
Microsoft's announcement can be broken down into four parts, though only the first is a true blockbuster: Microsoft has pledged to document all of the APIs and communication protocols that Microsoft's other products use to access the features and functionality in its most high-volume products. (These "high-volume" products are described as Windows Vista, Windows Server 2008, SQL Server 2008, Office 2007, Exchange Server 2007, Office SharePoint Server 2007, and the .NET Framework, as well as their successors.) Accessing this information is free: There's no license or royalty fee. However, many of these protocols are covered by Microsoft patents. Developers who want to take advantage of that information must pay a license, "on reasonable and non-discriminatory terms, at low royalty rates." And Microsoft will only promise to not sue open source developers who use this information to create non-commercial implementations of these protocols.
Some of this documentation is already available. As part of its ongoing effort to conform to the requirements of its European Union (EU) antitrust case, Microsoft has created 30,000 pages of interoperability documentation for Windows and Windows Server, and although that information was previously made available only to developers who paid for a trade secret license, it's all available to anyone for free as of now. In the near future, Microsoft will ship similar documentation for the other products. The goal, it says, is to allow third parties to create solutions that integrate with Microsoft's products as well as do Microsoft's own solutions. But the company is clearly trying to stave off various new EU antitrust investigations and quell criticisms that it has never met the requirements of its initial EU case.
Microsoft also announced that it will update Office 2007 so that third-party developers can change the applications to use other, non-Microsoft default document types. Thus, a government that wished to standardize on the Open Document format would still keep using Microsoft Office and not be forced to adopt a less full-featured alternative. (Remember: retaining Office sales is the goal here.) The company will also document how it implements and extends open standards in its products and reach out to customers, developers, and open-source communities through an Interoperability Forum. (Yawn.)
Opening up APIs and protocols is a step toward openness, and arguably a big step for a company as proprietary as Microsoft. But it's also only a step. The access rights on these APIs are reminiscent of the "look but don't touch" licensing Microsoft provides through its Share Source initiative for Windows CE and other technologies. By making it possible for third parties to create solutions that work better with its most entrenched products, Microsoft is bolstering the success of these products at a time of transition to cloud-based computing, a new usage era that could seriously undermine these very products. I look at this as more of a hedge: If more Internet-based services tie into Windows, Office, and other products, these products will continue to be relevant in the coming era.
So is this true openness? I don't think so. Until Microsoft's competitors can gaze upon the Windows source code and engage directly with the company on future versions, Microsoft is simply doing what it's always done. And that's just fine, as long as we all understand that's what's happening here.