Microsoft releases Hyper-V Linux Integration Components as open source

microsoft logo

With an unprecedented move, today Microsoft releases the Hyper-V paravirtualization drivers for Linux guest OSes, called Linux Integration Components, as GPLv2 open source software.

When EMC, the VMware parent company, signed a 3-years alliance on virtualization with Microsoft wondered if the hell was frozen (not the case as the two companies seem to call this co-opetition), but this goes much beyond that.

To be credible in the enterprise Microsoft has to support Linux inside its virtual machines. And Linux has to deliver enterprise-grade performance.

To achieve the goal the company releases the Linux Integration Components as a free stand-alone package since September 2008.
Through them Microsoft supports Novell SUSE Linux Enterprise as guest OS, which is a first step in the right direction but certainly not enough to satisfy the many customers that have more than one Linux distribution to consolidate.

Now, rather than just extending its support to Red Hat Enterprise Linux guest OSes, Microsoft prefers to do something amazing: release the Linux Integrated Components as an open source code, licensed with the General Public License (GPL) v2.

In details Microsoft is giving away the code of three drivers that integrate with the Hyper-V VMbus (check the hypervisor architecture here), submitting 20,000 lines of code for review and inclusion in the Linux kernel. 
Today they appear in the Greg Kroah-Hartman’s tree (aka The Linux Driver Project) and, if accepted, over time every major Linux distribution will offer them out of the box.

Novell took a major role in this project: they reviewed the code and are committed to further enhance it in the future.
With them there was Tom Hanrahan, the Microsoft Director of Linux Interoperability at Port 25 facility and former Director of Engineering at the Linux Foundation (formerly Open Source Development Labs or OSDL). 

Why Microsoft is doing this?

The official press announcement offers a very vague explanation, talking about the desire to address interoperability and performance issues. The reality is probably different: Microsoft wants to speed up the consolidation process.

Moving physical Linux boxes inside Hyper-V still is a very time-consuming activity because you have to download the Integration Components, install them inside the distribution, and only at that point you can safely perform a P2V migration.
You can probably automate the process through smart scripting but dealing with Hyper-V-ready Linux distributions is much easier.

Even if this is the real intention, the plan has a big flaw (at the moment): only because the Linux kernel includes the Hyper-V Integration Components it doesn’t mean that Microsoft will support every Linux distribution that features them.
Yes, the customers will accelerate the P2V migration, but their new Linux virtual machines will be completely unsupported.

So, or Microsoft has something else in mind, or we are about to see a massive extension of the Hyper-V support for Linux.

Update: Microsoft confirmed that every Linux distributor joining the Server Virtualization Validation Program (SVVP) will be supported.