A complicated third-party arrangement means that the open-source Samba project will be able to make use of proprietary documents describing Microsoft file-sharing software.
Samba, governed by the General Public License (GPL), lets Unix or Linux servers behave like Windows machines used to share files over a network and control networked printers. But the effort has been difficult: Microsoft doesn't go out of its way to share the details of the protocols; patent infringement concerns also have appeared more than once.
On Thursday, though, the Samba team announced a deal that gets around the previous barriers. The increasingly influential Software Freedom Law Center, led by open-source legal guru Eben Moglen, established a nonprofit group called the Protocol Freedom Information Foundation. The PFIF is paying Microsoft 10,000 euros (about $14,400) for documentation that will be shared under a nondisclosure agreement (click here for a PDF of the NDA or read this Samba explanation for further details) with Samba programmers.
Those programmers are free to write code based on the documentation, though not to share the documentation itself, Samba said. And Microsoft must keep the documentation up to date.
The move is interesting for a number of reasons. For one thing, it's a concrete outcome after years of antitrust efforts that had left many Microsoft foes bitter. For another, the technological repercussions very likely will strengthen a direct Microsoft competitor. And perhaps most interesting, it illustrates the growing legal sophistication and clout of the free and open-source programming movement.
Samba leader Jeremy Allison is champing at the bit with the technical possibilities the agreement opens up for the software project.
"If you'll pardon me breaking into song: it's beginning to look a lot like Christmas," Allison said.
Among the features he expects will be added as a result of the agreement are full support for Microsoft's Active Directory, encrypted files, a better search interface, and support for "SMB2," a new version of Microsoft's Server Message Block protocol after which the Samba project took its name. SMB2 is built into Longhorn Server, which when released in 2008 will be called Windows Server 2008.
I asked Allison whether open-source code in fact reveals information in the proprietary documentation. "It does to those who can understand it. It's not revealing the actual documents, though, and that's the main thing," he said.
Why was Microsoft so willing to share the specifications now? In short, the antitrust case the European Union brought against Microsoft required the company to release interoperability information. Most recently, Microsoft agreed to share the information for a one-time fee rather than requiring a share of revenues from products--a pricing scheme that doesn't jibe well with open-source methods.
The roundabout way of getting proprietary information to an open-source project may sound abstruse, but it's actually relatively common. Companies provide information to open-source programmers under nondisclosure terms, knowing full well the coders will release open-source code that reveals at least in part how hardware works.
Indeed, one purpose of the Linux Foundation is to make sure there's an organization in place to handle NDAs. Novell programmer Greg Kroah-Hartman now runs a program that regularly does so in order to write software drivers that let Linux computers communicate with various hardware devices.
One specific case in point: Red Hat programmer David Miller has worked with Sun Microsystems to bring Linux support to its Sparc processors. "I signed an NDA with Sun that got me the documentation and allowed me to write GPL code using it, but I'm not allowed to pass on those documents to others."
What's notable about the Samba case is that it involves Microsoft, which at times has been outspoken about free and open-source software. Although the company tried to tone down earlier rhetoric that called the programming movement "un-American" and a "cancer," the company resumed the offensive this year, declaring in May that Linux and other open-source projects infringe 235 Microsoft patents. Microsoft didn't say which specific patents it believed were infringed.
The Samba agreement also specifically addresses the patent issue. Microsoft is required to make a current list of patents involved in the protocols, Samba said, letting programmers work around them.
"The patent list provides us with a bounded set of work needed to ensure non-infringement of Samba and other free-software projects that implement the protocols documented by Microsoft under this agreement," Samba said Thursday. "Any patents outside this list cannot be asserted by Microsoft against any implementation developed using the supplied documentation."
For a blow-by-blow history of Samba's attempts to get access to the Microsoft documentation, another Samba leader, Andrew Tridgell, has posted a long account at the Samba Web site.