Samba

Freeing up the Windows workgroup protocols

 Andrew Tridgell
 Samba Team
 20th December 2007
The Samba Team has gone through rather an amazing journey over the last few years, culminating in todays announcement where we finally get guaranteed access to detailed documentation on all the protocols we have been working on over the years, plus many protocols we have yet to look at.

This article is an attempt to explain some of the history behind todays announcement. In a separate article I will go through some of the key aspects of the PFIF agreement, and explain how it will work in practice.

How it started

Back in September 1998 Sun Microsystems wrote to Microsoft asking for documentation to allow Sun to build software which was interoperable with Microsoft Active Directory. Microsoft turned them down.

It turns out that Microsoft, because of its position in the market, is obligated by anti-trust laws to provide that documentation, along with a wide range of other documentation for related "workgroup server" protocols. In December 1998 Sun lodged a complaint with the European Commission and so began one of the most significant legal actions in the history of the IT industry.

The big question for the free software community was whether the legal mechanisms that deal with anti-trust could cope with the extra complexities involved with free software licensing. We saw this case as an opportunity to correct some of the imbalance between the way that Microsoft can develop its server products and the way that the Samba Team needs to develop competing products, but for that to work we needed to be sure that any outcome from the case would not result in benefit only to proprietary implementers of the workgroup server protocols, but also to free software.

The EC Investigation

Following up on the Sun complaint, the European Commission launched an extremely detailed investigation of the workgroup server market. The investigation took years, and involved both deep technical investigations of the networking protocols involved as well as intensive investigations of the workgroup server market and the impact that Microsoft's position and actions in that market were having.

In a short article like this it is difficult to do justice to such a detailed and complex investigation, but I would like to say that it was a truly impressive piece of work. I was particularly impressed by the ability of the commissions investigator's to understand the complex pieces of technology involved.

Getting Involved

The investigation had already been running for a few years when we first had the opportunity to get involved. When that happened, Jeremy Allison and I had a long discussion on the merits of being involved in such a complex legal process. Would Microsoft take retaliatory action against us in some way? Would the case consume so much of our time that we lost vital development momentum? Could the case be won? Would the other participants in the case stick with it to the end? Would the result of the case be applicable to free software?

We had so many questions and no real way to judge the answers. In the end we decided that we should be involved just because it was the right ethical and moral thing to do. Microsoft had a stranglehold over much of the IT industry, and we had the opportunity to help loosen that grip just a little. That had to be a good thing.

My own involvement with these crucial early stages was very limited. Jeremy Allison and Volker Lendecke led the way, dealing with an enormous load of technical and legal information. They were helped enormously by the Free Software Foundation Europe, and especially by Carlo Piana, a lawyer for the FSFE who spent a huge amount of time untangling the complexities of anti-trust law in Europe.

One of the more significant of our early involvements was when Jeremy Allison presented information about Samba on behalf of the Free Software Foundation Europe at an oral hearing in November 2003. This was important as Microsoft had tried to portray the existence of Samba as proof that it was not necessary for them to provide any documentation to competitors. As a key developer of Samba, Jeremy was able to explain how Samba had been developed, and how lack of protocol documentation was hampering our attempts at full interoperability.

Expanding the case

During the investigation by the commission the case grew somewhat, expanding into areas beyond those raised in the original 1998 letter from Sun to Microsoft. Perhaps the most significant expansion was the inclusion of RealNetworks as an additional party, along with the complaint that the bundling of Microsoft Media Player with Windows was illegally harming the market which RealPlayer was trying to compete in.

The result was that the case now had two major parts. The original part, which dealt with interoperability, and the new part which dealt with bundling. The part which directly affected Samba was the interoperability part.

The Decision

In March 2004 the European Commission finished its investigation, and adopted a decision. That decision was, like the whole case, complex, but the key piece for us was that Microsoft had abused its monopoly position, and that in future Microsoft would be required to provide protocol documentation. This was the first big step towards the announcement that we have made today.

As part of the decision, the commission decided that there should be a trustee to oversee the compliance of Microsoft with the detailed implementation of the decision. The trustee that was appointed, Professor Neil Barrett, led a team which looked carefully at the documentation that Microsoft produced, and reported back to the commission on the degree to which the documentation met the standards of the decision. Neil was selected from a list of experts suggested by Microsoft.

The Appeal

The decision was not the end of the matter however. As is their right, Microsoft decided to appeal, which moved the whole case from being a matter handled by the European Commission, to a matter now handled by the European courts.

Like the original investigation, the appeal process was long and complex. It had quite a different character to the original investigation however. In the original investigation the European Commission conducted the case itself, in its role as competition watchdog for Europe. In the appeal the commission was the defendant in a court action brought by Microsoft, with the commission needing to defend its decision to the court, and Microsoft trying to prove that the commission had erred.

Meanwhile, the commission continued to pursue compliance by Microsoft with the original decision. On several occasions Microsoft announced that they now considered themselves to be compliant, only to find that the commission, using an impartial evaluation of the trustee, did not agree. While we had relatively little involvement with that process, we did get to see some of the documents exchanged between the parties, and were impressed with the depth of analysis that the trustee undertook in looking at the Microsoft documentation.

Settlements

During the initial investigation a wide range of companies had helped provide evidence to the commission. Key among those companies, at least as far as the interoperability portion of the case was concerned, was Sun, Novell and the CCIA. These three helped provide a large part of the technical information which the commission needed to conduct its investigation.

Soon after the decision was handed down, and the appeal process began, Microsoft entered into settlements with all three of these key players, plus a number of other key companies. In total during the period of the appeal, Microsoft entered into settlements worth about 3.6 billion US dollars.

The settlements with Sun and Novell were particularly significant for the interoperability part of the case. The settlement with Sun meant that the original complainant could no longer play an active part in the appeal, while the settlement with Novell not only prevented them from providing direct input on their vast experience with the workgroup server market, but also meant that Jeremy Allison could no longer be directly involved in the appeal. Jeremy was employed by Novell at the time.

All was not lost however. The evidence that these companies had already provided was still available to the commission, and the extremely thorough investigation that the commission had undertaken meant that they were able to conduct the appeal without the help of these key players.

The Court of First Instance

These settlements led to Volker Lendecke and myself becoming more involved in the case, stepping in where Jeremy could no longer be involved. The FSFE now had the status of an 'intervener' in the case, which meant we were able to provide technical support to the commission in their defense of the appeal. This effort was led by Carlo Piana, the lawyer for the FSFE, with Volker and myself providing technical support as needed.

By this stage the case had acquired quite a high profile, and we learned that it would be heard by a full panel of 13 judges in the Court of First Instance in Luxembourg. We had decided that Volker would be the one to present to the court, as he had been deeply involved in the case for so long, and had previously presented information in the case with such success.

In late January 2006 the date for the week of hearings in the appeal was finally set. By an extraordinarily unlucky coincidence, the case was to be heard in Luxembourg in the last week of April 2006. That was the same week as the annual SambaXP conference in Germany. Volker Lendecke is the primary organiser of SambaXP, which left him in a very tricky position of having to be in two places at once.

After some discussions I ended up taking the place of Volker as the person to present our material to the court, so Volker could continue to look after SambaXP.

The Appeal Hearing

The weeks leading up to the hearing in 2006 were quite intense, with lots of legal briefings. Carlo did most of the hard work, with my role mostly to provide technical input where it was needed. The week before the hearing I went over to Brussels to meet up with Carlo and others helping with the case. I worked a lot with Ronald Alepin, who was an expert witness presenting a broad industry view of the interoperability part of the case. We ended up making a joint presentation, with me concentrating on the technical side of the interoperability protocols, while Ronald gave a broader view.

One big bonus was Alan Cox from RedHat. He turned up in Luxembourg and was a big help in working out how things should be presented and explained to the court. Some of the information we were trying to get across was quite technical and it was a challenge to present it in such a way that all the judges could understand, while at the same time keeping everything completely accurate. I think we succeeded, but only with the help of people like Alan (and many other helpers!) who offered ideas on how to make the presentation less daunting to someone who may not have the right technical background.

A Long Wait

After the appeal hearing in April 2006 it took 15 months before the ruling was announced. We thought that the case had been presented well, and we had a lot of faith in the extremely thorough work the commission had done, but we didn't know for sure what the outcome would be.

We finally heard the result on 17th September 2007, and were relieved to hear that the commission had won a resounding victory. It was particularly nice that the judgement document was very clearly written, and showed that the victory had not just been because of some legal point of law, but had been because the court had properly understood the technical details of the case and the reasoning behind the commissions decision. This was important, as it made a further appeal less likely, and established the interoperability principles involved in the case in a very firm manner.

The Agreement

One of the results of the court decision was that Microsoft would finally be required to offer detailed protocol documentation to their competitors, including open source competitors like us. This was what the commission had been pushing for since 2004, but now there really was no further opportunity for delay or misunderstanding.

We first got an idea of how this might work in October 2007, when Microsoft posted a pair of license agreements on their WSPP website. The basic form of the agreements were that Microsoft would provide a choice to licensees. They could pay a single flat fee of 10,000 Euro, which would give access to the protocol documentation but without any patent licenses. Or a licensee could choose to pay the fee plus a per-copy royalty which would give access to the documentation, plus a patent license on a set of Microsoft patents which were possibly relevant to the workgroup server protocols.

Our initial reaction was dismay. The per-copy royalties on the patent license were completely incompatible with the principles of free software, so we knew that we could not even consider that agreement. We had hoped that the commission would view the courts decision of the 17th of September as sufficient to warrant a patent license which didn't involve a per-copy royalty, but unfortunately that was not the case.

We were certainly pleased that there was an option for a flat-fee agreement which would give us access to the protocol documentation, but the terms of that agreement as they were posted in late October included a number of sections which made the agreement very hard for us to accept. After so many years, we wondered if the effort had been wasted, and we would not be able to get access to the protocol documentation that we wanted.

Then a remarkable thing happened. Responding to an article on Groklaw where the agreement was being discussed, the trustee Neil Barrett posted a suggestion that I get in touch with him. Neil directed me to Craig Shank, who heads up Microsoft's protocol licensing team. Neil thought that Craig would be the right person to talk to to try and fix some of the problematic parts of the agreement.

This in turn resulted in several weeks of intensive discussions, during which we found that Microsoft was indeed very willing to make modifications to the agreement to make it more suitable for use by the free software community. Microsoft was keen to ensure that it complied with the court ruling, Neil Barrett was happy to help facilitate those discussions, and of course we were more than willing to point out the parts of the agreement that were problematic for free software projects.

We weren't able to change the fundamentals of the agreement, so we still didn't have a complete solution to the patent problem, but we did find a way to put quite a strong boundary around which patents we needed to avoid. We also couldn't change the fact that the protocol documentation would need to remain confidential - the decision by the commission did not force Microsoft to publicly document their protocols, which is of course what we would have preferred, only that Microsoft must license the documentation under reasonable and non-discriminatory terms.

Despite these limitations, we were able to make a great deal of progress. These discussions were helped a great deal by our legal counsels, especially Eben Moglen of the Software Freedom Law Center, and Carlo Piana of the FSFE. The agreement was also critically examined by key people (including lawyers) from various Samba vendors, and various free software community members.

The PFIF

The result is what we are announcing today. There is now a new organisation, the Protocol Freedom Information Foundation, which is a Microsoft WSPP licensee, and which can provide detailed documentation on Microsoft protocols to developers in the free software community under non-disclosure terms, while still allowing for the development of free software under open licenses, including the GNU General Public License. Writing code which interoperates with Microsoft operating systems just got a lot easier.


Donations


Nowadays, the Samba Team needs a dollar instead of pizza ;-)

Beyond Samba

Commercial Support

Global · By Country

Conferences

sambaXP by SerNet

SDC by SNIA

Releases

Current stable release

Samba 4.20.0 (gzipped)
Release Notes · Signature

Release History

Versions & Notes

Maintenance

Patches · Security Updates · GPG Key

Future

Release Planning · Roadmap