Thursday, July 23, 2009

All we wanted was to run well on Hyper-V...

This week, Microsoft announced that it would be releasing the optimized virtualization drivers for Hyper-V under the GPLv2 license and had submitted them for inclusion into the mainline Linux kernel tree. That was big news, and all this week the open source community and tech-industry as a whole have been trying to fully process it.

Unexpectedly, Vyatta found itself in the middle of this story. For the past few days, we have remained largely silent, but in the last 24-hours or so, news stories have started to circulate that have bordered on putting words into the mouths of both Vyatta and its employees. In this post, I'll try to set the record straight.

On Monday, after seeing Greg Kroah-Hartman's posting to the Linux kernel mailing list announcing that Microsoft had opened its Hyper-V drivers, Stephen Hemminger, a principle engineer here at Vyatta, created a blog post that provided a little background for what happened. It turns out that Stephen was the one who got this whole thing moving.

In his blog, Stephen wrote:

This saga started when one of the user's on the Vyatta forum inquired about supporting Hyper-V network driver in the Vyatta kernel. A little googling found the necessary drivers, but on closer examination there was a problem. The driver had both open-source components which were under GPL, and statically linked to several binary parts. The GPL does not permit mixing of closed and open source parts, so this was an obvious violation of the license. Rather than creating noise, my goal was to resolve the problem, so I turned to Greg Kroah-Hartman. Since Novell has a (too) close association with Microsoft, my expectation was that Greg could prod the right people to get the issue resolved.

It took longer than expected, but finally Microsoft decided to do the right thing and release the drivers.

Stephen's posting is purely factual and also suggests a lot about his personality. Stephen was simply trying to solve a technical problem (help Vyatta's open source networking system run more optimally in Microsoft Hyper-V environments; we already support optimized drivers for Citrix XenServer and VMware vSphere) and ended up running into a licensing problem (Microsoft's drivers included closed-source, binary-only components that were statically linking with GPL components). While many in the open source community would love to play "Licensing GOTCHA!" with Microsoft on the GPL, immediately posting such a discovery on Slashdot to whip everbody into a frenzy, Stephen isn't that kind of guy. Instead, Stephen decided to work the issue itself, not score PR points. He called Greg Kroah-Hartman at Novell and asked him to approach Microsoft about the issue. Fast forward, and Microsoft makes the (right, IMO) decision to open source the Hyper-V drivers.

In a quest for more drama than occurred in reality, some press accounts have suggested that Stephen or Vyatta "accused" Microsoft of a "GPL violation." As you can tell by reading Stephen's blog posting, nobody "accused" anybody of anything. Stephen merely called the situation to Microsoft's attention, again, working the issue, not the PR. There were no threats, no screaming, no broken fingers, no frothing at the mouth. Just a few calm phone-calls placed behind closed doors, out of the limelight and media focus. And that was that. Microsoft noodled on things. And then it decided to open source the drivers and contribute them to the kernel.

So, beers all around, I say. Microsoft just released its first GPLv2 code and made a large contribution to the Linux kernel. Let's raise a toast and welcome them. Using that contribution Linux can now achieve high performance in a Hyper-V environment. Building on that, Vyatta will shortly deliver optimal performance in a Hyper-V environment as well, further securing our place as the leading virtual networking and security solution, supporting XenServer, vSphere, and Hyper-V.

PS: Gordon Haff has a good write-up and analysis over at Cnet.