Thanks to the Samba project, documentation about Windows networking protocols is now available to free software developers who want it. With the help of the Software Freedom Law Center (SFLC) and the Free Software Foundation Europe (FSFE), Samba has hammered out an agreement for obtaining the documentation and has set up the new Protocol Freedom Information Foundation (PFIF) to make it accessible to other free software projects.
The announcement marks the end of nearly a decade of litigation that began when Sun Microsystems requested documentation for the Microsoft Active Directory to build software interoperable with Windows. When Microsoft refused, Sun lodged a complaint with the European Commission, which launched a five year investigation into the issue. The investigation quickly expanded beyond issues of interoperability to include questions about software bundling as well.
From the beginning, the investigation was watched with interest by free software interest groups. As Andrew Tridgell, one of Samba's co-founders, writes in a summary of the case, "The biggest 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."
However, it was only in the first years of the new millennium that Samba members became directly involved in the investigation. Jeremy Allison, another Samba co-founder, and Volker Lendecke, described in the news release as "head of the Samba Team in Europe," together with Carlo Piana, a lawyer for FSFE, all contributed testimony to the investigation about the need for documentation to permit interoperability between operating systems and other pieces of software.
In particular, in November 2003, at an oral hearing, Allison testified about the difficulties of implementing interoperability without documentation, helping to refute Microsoft's claim that the existence of the Samba project, which allows GNU/Linux installations to manage to Windows networks, proved the existence of competition.
In March 2004, the European Commission announced its decision: Microsoft had abused its monopoly, and was required to provide documentation about its networking protocols to competitors. Almost immediately, Microsoft appealed.
Soon after the appeal began, Sun and other companies in the case, including Allison's then-employer Novell, settled with Microsoft out of court. As a result, Allison was required to curtail his involvement, leaving Tridgell and other Samba members, as well as Kernel developer Alan Cox and other supporters, to prepare for the appeal. The appeal hearing was not held until April 2006, and news that the appeal had failed was not released until 17 September, 2007.
Meanwhile, the Commission appointed British computer science academic Neil Barrett as trustee in the case, charging him with evaluating the documentation that Microsoft would release. Microsoft claimed several times to be in compliance with the requirements of the original decision, but its claims were rejected several times before finally being accepted.
Several weeks after the posting of the appeal decision, Microsoft posted two possible sets of conditions for sharing its documentation: An applicant could either pay €10,000 ($14,400) without any patent protection, or the fee plus a per-seat royalty with patent protection.
"Our initial reaction was dismay," Tridgell writes. The reason is obvious: No free software project cares to open itself up to accusations of patent violations, and a per-seat royalty would be impossible to police for a free software project. However, Barrett put the Samba members in touch with Craig Shank of Microsoft, and, in the last few weeks, the two sides managed to negotiate a more acceptable, if still imperfect agreement that will go into effect when Samba pays Microsoft €10,000. The money will be taken from Samba's travel and expense budget, according to Allison.
Highlights of the agreement
Samba has posted the text of the agreement in PDF format, as well as a redlined version that shows how the final agreement has changed from Microsoft's original wording. For those disinclined to read legal agreements, Tridgell has also written a
summary "Basically, it's an NDA [Non-Disclosure Agreement]," Allison explained to Linux.com.
The agreement covers twenty pages of protocols from the File/Print, User and Group and General Networking groups listed in Exhibit A of the agreement. Under the agreement, licensees are entitled to receive the documentation they ask for within ten days of the effective date of their application. They are entitled to receive updates at either the first beta or final version of updates, and Microsoft also agrees to provide corrections for inaccuracies. and omissions in the documentation. Unless otherwise terminated, the agreement lasts for five years, and can be extended after that. Following termination of the agreement, signatories are obliged not to disclose information for three months after their last access to the documentation.
For free software developers, the agreement has several interesting points. First, as an aside, in section 7, Microsoft agrees to indemnify licensees against so-called intellectual property claims from third parties that might arise from their use of the documentation -- an ironic clause, given Microsoft's threats to use patents against free software.
More seriously, under section 5, licensees can publicize that they have signed the agreement, but Microsoft cannot. This provision helps assure that Microsoft cannot use a licensee for its own purposes. For example, Microsoft could not use the agreement as evidence that no monopoly exists, or claim the licensee as a supporter of a technology or policy. Nor, according to section 10.5.a, does signing the agreement bar licensees from questioning Microsoft's patent claims, or complaining about the company's behavior to the European Commission.
Another important concern is that the non-disclosure agreement specifically does not cover source code comments or code variables, according to section 5.8. Without this provision, using the documentation to write code interoperable with Windows protocols would be difficult, and revision of it by anyone except the original developer probably impossible.
However, probably the most important part of the agreement is section 2.1.b, which allows licensees to sub-license their access to the protocol documentation to others who fulfill the requirements described in Exhibit B -- basically, that they are either a corporation or equivalent in good standing or else an individual with government-issued identification that shows their current address. It is this provision that allows Samba to set up the PFIF, and allow free software developers access to the documentation. In effect, the provision is a compromise that falls short of the unlimited access that Samba would prefer but also makes the documentation more accessible than Microsoft would prefer.
Still another compromise lies in the fact that, although no patent protection is granted to licensees or sub-licensees, Appendix 4 specifies the patents that may be involved in the specific protocols. According to Allison, "We don't believe that Samba violates any patents, so I don't think there is any patent risk," so the specification of patents may be moot. All the same, those who want to decide for themselves can at least get a sense of what risks they might be taking. And, as Allison says, "The good thing about this agreement is that it gives us a list of the patents so that we can examine them and make sure going forward that there continues to be no patent risk."
The Foundation and sub-licensees
Samba paid the €10,000 fee for access to the documentation, and established the Protocol Freedom Information Foundation as an off-shoot of the Software Freedom Law Center. Allison explains that the Protocol Freedom Information Foundation is "just a means so that Microsoft has a legal entity to deal with." Many free software projects have no legal existence -- which is why, for instance, the recent cases about violations of BusyBox's license were filed by individuals rather than the project -- so establishing the Foundation simplifies the steps required for average members of the free software community to have access to the documentation.
Details about exactly how the Foundation will operate are still being developed. However, Allison suggested that access to the documentation will likely be available to anyone who can prove themselves "an open source developer in good standing."
Despite the compromises required to obtain the agreement, Allison is obviously jubilant over the decision. Speaking on behalf of Samba, he told Linux.com, "It's a great step forward for us. And I'm very happy. We've been working on this a long time. But I'm not sure that I'll believe it until we have the docs in our hands."