Microsoft aims at VM market with Linux kernel code offering

Microsoft has contributed Hyper-V drivers to the Linux kernel in order to …

Microsoft is contributing approximately 20,000 lines of source code to the Linux kernel with the aim of improving support for running the Linux operating system in virtualized environments on Windows servers. The move is part of a broader trend at Microsoft towards collaboration with the open source software community.

Prominent Linux kernel developer Greg Kroah-Hartman announced the code submission today in a message posted to the Linux kernel mailing list. He says that the new drivers contributed by Microsoft will soon land in the staging tree where they will undergo some refinement before they are merged directly into the mainline kernel. Microsoft is making the code available under the terms of GNU's General Public License (GPL), the open source software license that is used by the Linux kernel.

"I'm happy to announce, that after many months of discussions, Microsoft has released their Hyper-V Linux drivers under the GPLv2," Kroah-Hartman wrote. "These drivers are to enable Linux to work better when running as a guest on top of the Hyper-V system."

Although Microsoft has released source code under open licenses in the past, this is the first time that the company has contributed directly to the Linux kernel.

Kroah-Hartman is employed by Novell to work on the Linux Driver project, an initiative through which the Linux Foundation and kernel development community provide free technical assistance to vendors who want Linux support for their hardware.

Microsoft is working with Kroah-Hartman to get its Hyper-V code merged directly in the kernel so that it can be fully supported out of the box in all mainstream Linux distributions. Kroah-Hartman credits several people at Microsoft who played an important role in the process, particularly Microsoft software engineer Hank Janssen who supplied the code and is continuing to work with kernel developers to prepare it for merging. Kroah-Hartman says that Microsoft platform strategy director Sam Ramji—who often works to improve relations between Microsoft and the open source community—was also instrumental in the effort "for his push within Microsoft to make this happen in a manner that works with the Linux community."

"We are seeing Microsoft communities and open source communities grow together, which is ultimately of benefit to our customers," Ramji said in a Microsoft roundtable discussion. "There's mutual benefit for customers, for Microsoft, and for commercial and community distributions of Linux, to enhance the performance of Linux as a guest operating system where Windows Server is the host."

Microsoft is increasingly embracing open source software and is actively participating in a number of interoperability efforts in collaboration with the open source community. For example, Microsoft became a sponsor last year of the Apache Software Foundation and has contributed to Apache's Stonehenge project. Microsoft also recently issued a legally binding promise that it will not enforce its patents against Mono and other open source implementations of the C# and .NET standards.

Although Microsoft has released source code under open licenses in the past, this is the first time that the company has contributed directly to the Linux kernel. It also shows that the company is willing to use the GPL, a license that Microsoft has consistently avoided in the past. Microsoft has typically used its own OSI-approved open source licenses as well as several popular permissive licenses such as the Apache Software License.

In a statement, Microsoft says that they used Linux code in order to develop the Linux Hyper-V driver, which means that they had to release the resulting code under the GPL in order to comply with the licensing requirements. They are working with the kernel community to get their driver included in the mainline kernel so that the code can be maintained as part of the kernel and remain compatible in the future.

The code contributed by Microsoft can be freely used and redistributed by anybody, not just companies that have controversial patent agreements with Microsoft. As stipulated by the GPLv2, Microsoft says it will not charge royalties or assert patents covering the specific code that it is contributing.

Satisfying the skeptics?

It's unclear, however, if this will satisfy the vocal minority of free software extremists who believe that Microsoft cannot be trusted and that all of the company's efforts to empower open source are part of an elaborate trap. The patent nonenforcement requirements of the GPLv2 are not as explicit as they are in the GPLv3, a new version of the license that the kernel community has not adopted. The Free Software Foundation recently issued a statement saying that Microsoft cannot be trusted because of the company's past patent litigation threats against the Linux community.

Microsoft claimed in 2007 that the Linux kernel violates hundreds of its patents, but the company declined to substantiate the claim or specify which patents are infringed. The company called for Linux vendors to sign vague patent covenants which would protect their customers from patent infringement litigation but would not cover downstream use. At the time, Microsoft emphatically said that it would not collaborate on interoperability issues with companies that were unwilling to agree to the covenant.

Microsoft later changed its position on that issue and has since begun collaborating with Red Hat and other vendors on virtualization interoperability. Microsoft's release of the Hyper-V Linux drivers under the GPL is the latest move in that trend towards unencumbered interoperability. Microsoft's recent dispute with TomTom over FAT patents, however, indicates that the company is still using its IP to hold back interoperability in some cases.

In order to make Hyper-V a compelling solution for enterprise virtualization, Linux support is a basic necessity. Microsoft obviously realizes that locking out a dominant server platform is not going to help make Hyper-V competitive against the offerings of entrenched virtualization vendors like VMware. Mixed environments are increasingly common, so getting native Hyper-V support integrated into the mainline kernel will make it possible for companies to deploy almost any mainstream Linux distribution alongside Windows with Hyper-V, a capability that could help boost adoption of Microsoft's virtualization technology.