Microsoft’s march toward Linux interoperability is taking a leap forward this morning with the release of 20,000 lines of code under the GPLv2 open source license.
The code release includes a trio of Linux drivers designed to help Linux operating systems better run as guests on Microsoft’s Windows Server 2008 through its Hyper-V virtualization technology.
Microsoft’s relationship with Linux has been a touchy one over the years. In the past, Microsoft has alleged that open source technology infringes on over 200 of its patents.
To date, Microsoft has signed a number of patent licensing agreements with Linux vendors and users including Novell and most recently Buffalo Technology.
The new code release, however, marks a departure for Microsoft. It’s the first time the company is releasing code under the GPLv2, which is the license under which the mainline Linux kernel is licensed. Yet while the GPLv2 doesn’t mean patent-free, Microsoft maintains that it won’t be targeting users of the code.
“Our use of the GPLv2 license means we will not charge a royalty for, nor assert any patents covering the driver code that we are contributing,” Sam Ramji, senior director of platform strategy at Microsoft, told InternetNews.com.
The actual code that Microsoft is making available are drivers — known as loadable kernel modules — that will enable Linux to run better on Hyper-V. Specifically, Ramji explained that the drivers will enable Linux to benefit from Microsoft’s “enlightened” virtualization.
“What we’ve done in Windows Server 2008 is a system called ‘enlightenments,’ where the operating system knows whether it’s installed directly on the metal or if it’s installed on top of a virtualization hypervisor,” Ramji said. “What we’ve done in these Linux device drivers is we’ve enabled Linux as a guest to run on top of Hyper-V in exactly the same way that Windows Server does.”
Openness: How far Microsoft is going
Ramji added that Windows Server 2008 ships with over 40,000 device drivers which a guest Linux operating system could now access.
“The beauty of the model is that it is very consistent with how Linux device drivers are built — we’re doing this through the Linux Kernel Driver project,” Ramji said. “Simply put, a distribution can choose to use it the drivers, and we fully expect that VARs and systems integrators we expect they will choose to customize, improve and sell solutions based on this technology.”
The Linux Kernel Driver project started in 2007 as an effort led by Novell staffer and Linux kernel contributor Greg Kroah-Hartman to expand Linux driver availability.
While the code contribution is being driven via the Linux Kernel Driver project, the actual code development of the Microsoft drivers is not an open project, yet. That is, the open source Linux driver code is not a Microsoft CodePlex project, which would enable the user community to actively contribute to the code.
Ramji said that Microsoft has considered having an open collaboration on the project code, but as of yet, hasn’t made a final determination.
“The most important thing to us is to contribute the drivers to the Linux Driver project in a way that is consistent with their practices,” Ramji said. “How we develop the code and how that changes, that is up to us, but we will be treating the mainline Linux kernel as the source for what we build our future versions on.”
Microsoft already has virtualization partnerships in place with both Novell and Red Hat. With Novell, Microsoft has a patent and interoperability agreement while the deal with Red Hat is a certified offering agreement ensuring that vendor’s virtualization solution work with each others operating systems.
“We see more opportunity ahead in working together with both those partners [Red Hat and Novell] in bringing more open source applications and interoperability solutions to market,” Ramji said.