Microsoft releases Hyper-V Linux drivers as open source

Microsoft's GPL virtualization Linux driver raises eyebrows in the open source community

Many believed that certain areas must have "frozen over" on Monday, but it was just an unprecedented move by Microsoft announcing that it was contributing code to the Linux community with hopes of inclusion into the Linux tree -- approximately 20,000 lines of device driver code to be exact, using GPLv2 open source licensing.  With this announcement, the folks at Redmond released the Hyper-V enlightened drivers for Linux guest operating systems called the Linux Integration Components (LinuxIC) -- paravirtualized drivers that are designed to make Microsoft Windows and Hyper-V a better hosting platform for Linux VMs.

"The Linux device drivers we are releasing are designed so Linux can run in enlightened mode, giving it the same optimized synthetic devices as a Windows virtual machine running on top of Hyper-V," Tom Hanrahan, director of Microsoft's Open Source Technology Center, said in a statement. "Without this driver code, Linux can run on top of Windows, but without the same high-performance levels."

In the same statement, Hanrahan noted that this is a significant milestone for Microsoft because it's the first time the company has released code directly to the Linux community.  Also significant is that Microsoft is releasing the code under the GPLv2 license, the preferred license in the Linux community, and one that Microsoft has questioned in the past (to put it in polite terms).

This move also seems to help validate the GPLv2 as a licensing mechanism and could give more credence to the community's notion that all Linux drivers should be released as open source in the same way. 

So I suppose the big question is, why is Microsoft doing this now?  The official press statement seems to talk about interoperability and performance stating things like, "our strategy is to enhance interoperability between the Windows platform and many open source technologies, which includes Linux, to provide the choices our customers are asking for," and "we are hearing more and more customers and open source partners telling us they see some of their best value when they deploy new open source software solutions on top of existing Microsoft platforms."

But doesn't it seem to be more about market dominance?  Microsoft has found itself in an interesting position.  With VMware currently holding the lion's share of the virtualization market and supporting quite a large list of guest operating systems, Microsoft needs to understand that in order to compete and start chipping away at VMware's dominance, it needs to also support those companies that are running multiple operating system platforms.  This is, after all, a heterogeneous IT world.  And even if these companies aren't running Windows to operate their applications, there is still plenty of money to go around by owning the virtualization and management layers.

Another area that VMware has done very well for itself and where Microsoft has fallen short is within the virtual appliance marketplace.  It is safe to say that most of the virtual appliances being distributed today are running an application stack on top of a Linux distribution, and they are being operated on VMware hypervisor platforms -- not on Hyper-V.  With this announcement, things could possibly change.

There are still some performance issues, however, that need to be addressed.  Specifically, Microsoft Hyper-V currently only supports a single vCPU on Linux guest operating systems.  For some applications, this won't be enough compute power.  Microsoft realizes this, and the company plans on addressing it at some point in the near future.

Now we just have to wait and see how long it takes for Linux distros to backport and accept Microsoft's new virtualization drivers.  Novell seems to have taken a major role in this project, and as Novell is a strategic partner, I would expect adoption to be quick.  Greg Kroah-Hartman, the Linux Driver Project lead and a Novell fellow, has already added the Hyper-V Linux integration components into the project's tree.  His tree is for all Linux device drivers being contributed to the community.  However, the ICs won't end up in Torvald's mainline tree until it has been generally accepted in other trees over time.  With vendors like Novell, Red Hat, Oracle, and Sun participating in Microsoft's Server Virtualization Validation Program (SVVP), hopefully that won't be too far off.

Copyright © 2009 IDG Communications, Inc.