by Sam Ramji on December 19, 2007 11:03pm
First, let me say thanks to Jeremy Allison and Andrew Tridgell for their decades of hard work and their optimism.
Back in March, Jeremy invited me to talk about Samba and Microsoft, and how we could work together. It turned out that our first opportunity to meet was actually at the annual Samba developers’ conference, SambaXP in Gottingen, Germany in late April. I spent three days there listening to the Samba Team's reports on work they were doing, their observations relating to Microsoft protocols, and at breakfast with Tridge, Jeremy, and other team members we established a potential roadmap for collaboration. Frankly, I think my commitments were viewed with disbelief by some but with cautious optimism by Tridge and Jeremy – as well as by Dan Shearer and by John Terpstra, a man of vision and entrepreneurial spirit.
I worked with legal and engineering teams at Microsoft once I returned from Germany, and over a few weeks in May I got consensus that we could help the Samba Team by delivering on the roadmap. This included donating software licenses (MSDN Premium subscriptions) to the core team, building a test bed and beginning to share testing tools, preserving the UNIX extensions in CIFS to ensure that the work Jeremy and Steve French were doing would continue to be compatible with Microsoft implementations, accepting Samba Team’s observed bugs in Microsoft’s CIFS implementation and vice versa, providing some technical support on CIFS questions, and sending Microsoft engineers to the CIFS Conference @ Google in September 2007.
About the same time, Tom Hanrahan of IBM’s Linux Technology Center and the OSDL joined my team at Microsoft. His experience in working with Linux – and with Tridge – made it clear that we could sustain the work required to support the roadmap. Apart from his three decades of software engineering and management, one of Tom’s greatest assets is his combination of patience and perseverance; we knew it would take time and progress would be slow, but worthwhile. We’re still early in the process of doing joint testing and engineering with the Samba Team, and have many milestones to achieve (for example, shared test suites & frameworks). Thanks to Tom’s work with key engineers and managers in the company, we have already made progress and are committed to the long term.
Based on the dialog we’d established with Tridge and Jeremy, when the European Commission published the terms that would satisfy them in regards to Microsoft protocols, I saw an opportunity to continue aligning our work with the Samba Team. The terms were good, but the Samba team wanted Microsoft to make some changes to fully conform with the existing practices of the Samba developer community. Jeremy and Tridge saw the opportunity as well, and thus began a 6+ week process of improving and correcting the agreement to arrive at terms that both dramatically expanded their access to protocol information and enabled the Team to continue developing Samba as they have in the past. Attorneys and technologists (always an odd combination) on both sides worked hard to refine the language and do so in a clear and cooperative way. The discussions were masterfully led by Microsoft’s GM of Protocol Programs, Craig Shank (ex-Lineo!) and Samba’s Andrew Tridgell.
Today the Samba Team announced that they’re satisfied with the agreement, and are taking a Work Group Server Protocol Program (WSPP) trade secret and copyright license. This will give them access to Microsoft specifications for the protocols in WSPP (such as file, print, and user and group administrative services) and allow the Samba Team to create, use, and distribute implementations. I expect that this will significantly improve the process of Samba development, and produce better quality interoperation between Windows and Linux/UNIX environments.
What this process has shown me is that if we focus on technology, and patient, diligent execution, we can make real progress together.
This is a historic moment, and one that I’m proud of. But it is only a moment, and now it’s time to get back to working on interoperability, one day at a time.