Despite Microsoft Corp.’s aggressive criticism of the open source movement – most notably one of its flagship software licences, the GNU General Public License – the company has quietly been publishing source code under that license for one of its own products for the past two years.
Microsoft distributes a product called Interix, which is used by customers to port Unix applications to its Windows operating systems. Interix includes a software compiler called the GCC (GNU Compiler Collection), a product first developed by Free Software Foundation founder Richard Stallman that is covered by the General Public License (GPL).
Microsoft’s use of the GPL contradicts the increasing criticism it has leveled against the license, which senior company officials have called an intellectually property killer. While Microsoft’s proprietary code remains under the tight watch of the Redmond, Washington, software maker, the company has made use of the popular open source compiler – and adhered to its software license.
The GPL mandates that any software that incorporates source code already licensed under the GPL will itself become subject to the same terms of the license. In the case of Microsoft’s use of the GCC in the Interix software, the company is only obliged to make available the source code for the compiler – a program that turns written code into the ones and zeros that run on a computer – not the entire software product that the compiler ships with.
“It’s hypocritical for them to benefit from GPL software and criticize it at the same time,” said Bradley Kuhn, a spokesman for the Free Software Foundation, which oversees the GCC and other open source projects.
Responding to the criticism of its use of the GPL, Microsoft Senior Vice President Craig Mundie argued it does not change the company’s opinion on the dangers of open source software licenses. “In many cases there is a technical need to have these tools in order to successfully migrate the applications,” he said in a statement. “The open source tools were part of the acquisition of the Interix product and are strictly maintained to meet the functionality requirements of our customers.
“While we occasionally run into these issues because of acquisitions, Microsoft develops and releases all new products under the commercial software model,” he added.
How the GCC ended up in Microsoft’s product portfolio is a somewhat complicated story. Microsoft acquired the Interix software – and its incorporated open source technologies – in 1999 when it purchased a small vendor called Softway Systems Inc. Softway had developed the suite of tools to help customers who were running Unix keep those legacy applications when migrating to Windows NT. Originally called OpenNT, Interix was the first product to allow customers to complete a Unix-Windows migration.
Interix was developed in the late 1990s in response to a similar version of the migration tools that Microsoft had created months earlier on its own, according to Mumit Khan, a former contracted engineer for Softway, who helped develop the compiler that ran on Interix.
“(Microsoft) had a baseline implementation (of migration tools) that basically didn’t do anything,” Khan said. So through a joint development and licensing agreement with Microsoft, Softway went to work on the Interix tools.
“Softway had a very interesting license agreement with Microsoft,” said Jeremy Allison, co-creator of the open-source program Samba – which allows users to access printers and files on a variety of operating systems – who has followed Microsoft’s acquisition of Softway and its ongoing criticism of open source. “They had access to Microsoft’s source code with the idea that they would make a small operating system” within Windows that would run Unix programs.
Using parts of the Windows source code that were provided under a special agreement with Microsoft, Softway built a set of products that incorporated a number of open-source technologies, including the GPL-protected compiler and other technologies that were developed by the open-source community and made available under the BSD (Berkeley software distribution) open-source license .
Within a few months, Softway’s little-known tool for porting Unix applications to Windows would become more valuable than many in the industry would know, said Allison, who is now a senior engineer with open-source server vendor VA Linux Systems Inc. The developers of Interix had made a tool that could easily take Unix applications to a Windows platform and, in doing so, had made a number of contributions to the development of the GCC. Much of Softway’s work on the compiler would become incorporated in later versions of the GCC.
“For about four or five months everything quieted down,” said Khan, a researcher at the University of Wisconsin. “Microsoft was quite up front about the (open source) licensing issues.
“Back then the rhetoric wasn’t as harsh as it has been in the last few months,” he said.
During that period, Allison said he and other developers believed that Windows NT might become a platform for running applications that competed with Microsoft programs, thanks to tools such as Interix. “The hopes were it would be an open operating system that people could write subsystems for,” he said.
Microsoft, however, quickly realized that it really didn’t want to allow Windows NT to grow into a platform friendly to competing applications, Allison said, and Microsoft made a bid to acquire Softway and regain its source code. But the details surrounding the acquisition were never made clear, Khan said. “No one outside (Microsoft) really knew what happened,” he said.
What is clear is that after less than a year on the market, Microsoft acquired Softway Systems and took control of its technology, rolling it into a division that distributed Unix tools for Windows. The acquisition would allow Microsoft to offer its own product to customers that were running Unix, and buy back Softway’s license for Microsoft’s source code.
By January 2000, Microsoft shipped its own version of the software under the name Microsoft Interix 2.2. It kept the technology unchanged and, under the guidelines of the GPL, has continued to provide related source code to customers with the software. The open source pieces of the program are available at its developers’ Web site and for purchase on CD.
“We have been diligent in following the terms of the GPL for the Interix tools and will continue the same as long as we support the Interix product,” Mundie said in a statement published on the Web. “This issue highlights what I was talking about regarding the choices of organizations. In this case, given the legacy code base of our customers, the desired functionality of the Interix product and the pre-existing licenses of software in an acquisition; it made sense for us to maintain the licensing structure in a limited fashion.”
Microsoft’s distribution of GPL-licenced software runs counter to recent noise from the Redmond, Wash. software maker. Top Microsoft executives have come out against open source projects such as Linux that rely on the GPL, claiming that the license “fundamentally undermines” the commercial software model and poses a threat to intellectual property.
Mundie delivered a biting commentary on its downside during a presentation at New York University’s school of business in May. He is scheduled to continue the debate in July at the O’Reilly Open Source Conference in San Diego, Calif.
That criticism is unwarranted, critics say, since Microsoft under the GPL license, for example, needs to make available the source code for only the Interix compiler, and not the whole product.
“That’s a great example of how open source software does not automatically infect their whole software base,” said Eric Allman, founder of Sendmail Inc., which makes the widely used open source e-mail server software of the same name. “It’s true that if they make a change to one of the source codes they are required to make that available; however, it no way infects any of their other source code just because (that software) uses an open source tool.”
“It’s part of what’s so absurd about the Microsoft claims,” he added. “(Microsoft) implies that the GPL is like the Ebola virus – if you are in a room with it you’re going to be infected.”
More and more, critics have pointed out that Microsoft’s crusade against open source are flawed. The Wall Street Journal reported recently that the company relies on an open source project called FreeBSD to run parts of its free e-mail service Hotmail.
“The problem is they’re fighting a war against an enemy they can’t buy and they can’t destroy,” Allison said.