by Sam Ramji on February 22, 2008 02:06pm

Four years ago, we started the Linux Lab at Microsoft.
Two years ago, we established the Open Source Software Lab at Microsoft.
One year ago, we initiated the Linux Interoperability Lab at Microsoft.

Yesterday, we announced the broadest change to the way the Microsoft builds software and works with open source communities and developers.

By now you’ve probably read the announcement – “Microsoft Makes Strategic Changes in Technology and Business Practices to Expand Interoperability” and are wondering what it all means, and where it came from.  In a nutshell, the documentation for the APIs, document formats, and protocols used in Windows Vista, the .NET Framework, Windows Server 2008, SQL Server 2008, Office 2007, Exchange Server 2007, and Office SharePoint Server 2007 will be made publically available.  All developers will be able to access the documentation with no need to sign a license or pay any fee.

We are also announcing the launch of the Open Source Interoperability Initiative – a framework that will let us consistently support community development teams who build implementations of these specs with labs, technical support, plugfests, and joint testing and development.

To me, it’s a logical progression from the work and learning we’ve done with the Mozilla Foundation, the Eclipse Foundation, the Linux Foundation, the Apache Foundation, the Samba Project, MySQL, and PHP.  We’ve learned how to make agreements with community projects – including those which lack a legal entity for formal agreements; how to deliver technical support; who to listen to; and how to prioritize our work.  We have seen how positively developers and users respond to these kinds of collaborative efforts.  This is reflected by the progression of our approach: the creation of the OSP (Open Specification Promise), the IECC (Interoperability Executive Customer Council), the IVA (Interoperability Vendor Alliance), the submission and approval of the Ms-RL and Ms-PL by the OSI, and the PFIF/Samba agreement and ongoing collaboration.

It’s also a major evolutionary step, and significant commitment for our engineering teams.  Ray Ozzie says it best:  “Customers need all their vendors, including and especially Microsoft, to deliver software and services that are flexible enough such that any developer can use their open interfaces and data to effectively integrate applications or to compose entirely new solutions.  By increasing the openness of our products, we will provide developers additional opportunity to innovate and deliver value for customers.”

In order to meet these new and higher standards that we’re setting for ourselves, engineers will need to build public documentation of the new formats, protocols, and APIs they develop as they advance our products.  For those of us who write (or have written) code, we realize that this is a significant additional phase to the development cycle: design the feature, specify the feature, implement and test it, then proof and test the documentation of the specification, build user documents and sign off on the whole thing. 

Because we are a platform company first and foremost, it will be entirely worth the investment both due to the increased transparency to developers, and due to the expanded range of innovation that can be built on Microsoft technologies.

I think this is a great day not just for Microsoft, but for the software industry.  And I thank the people who have helped us learn what it’s taken to get here – most notably Jeremy Allison, Matt Asay, Mike Schroepfer, Andi Gutmans, Jim Zemlin, Mike Milinkovich, Zack Urlocker, Marten Mickos, Andrew Tridgell, Miguel de Icaza and Stephen Walli.  We will continue to look to their perspectives and advice as we continue down the open road.

Here are a few of the responses we’ve seen – and I’ll quote from the industry publications and blogs: “The announcement is sweeping enough to make one check the calendar, but we are still a month and a week early for pranks. Microsoft is making available specifications for APIs and communication protocols for Exchange, Office, SQL Server, SharePoint, and others without requiring a license or royalty payments. They will indicate what patents they believe cover any of the protocols and "will license all of these patents on reasonable and non-discriminatory terms, at low royalty rates." There may be lurking dangers, but it appears to be a sincere effort at providing interoperability.”

Matt Asay (Alfresco/The Open Road): “As a Microsoft admirer, critic, and competitor, I can't help but applaud the depth and breadth of this move ...  All in all, a huge day for Microsoft. Will there be gaps in Microsoft's efforts? Undoubtedly. For one thing, it hasn't really made much progress on its covenant not to sue commercial open-source providers, despite what Ina writes. But I'm impressed that it's even bothering to try.”

Andi Gutmans (PHP/Zend): “I believe Microsoft has finally understood that their closed nature has significantly hindered the growth of their eco-system. In many ways the threat of Linux has by many been interpreted as a threat of open-source (wrongly so in my opinion) …. Microsoft is now enabling the open-source community to grow its contributor base around such technologies and significantly improve the delivered quality. As most open-source developers and users live in heterogeneous environments this will benefit many.”

Jeremy Allison (via The Register): "It's definitely a positive step.  Doesn't mean any change for us [Samba] as we already had all these docs, and the promise not to sue is only for 'non-commercial' open source, which is a bit meaningless. But that's the same thing we had really (they're listing the patents etc.).  At least everyone now gets access to the same info, which I'm very happy about.  As for the rest, the devil is in the details. If they can follow through with this, the world will be a better place.”

Zack Urlocker (MySQL/Open Sources): “… even if it was legislated, it's still good for the industry. And it’s good for Microsoft customers. And ultimately, it's probably good for Microsoft to be more open. If Microsoft wants to attract the next generation of developers and users, they should take the hint: Open works.”

We recognize that the communities’ judgments of the significance of this announcement will be entirely based on the actions that follow.  The optimistic undertone that I’ve seen so far suggests that we can make real progress.

We will report back frequently on the progress and details of this work – especially on the Open Source Interoperability Initiative – here on Port 25.  This announcement is the starting point of the next phase of Microsoft’s work with open source, and as Port 25 readers know, we are here for the full marathon.

The interoperability principles are posted here: