Microsoft opened Linux-driver code after 'violating' GPL
Traded credibility for kudos?
Microsoft was in violation of the GPL (General Public License) on the Hyper-V code it released to open source this week.
After Redmond covered itself in glory by opening up the code, it now looks like it may have acted simply to head off any potentially embarrassing legal dispute over violation of the GPL. The rest was theater.
As revealed by Stephen Hemminger - a principal engineer with open-source network vendor Vyatta - a network driver in Microsoft's Hyper-V used open-source components licensed under the GPL and statically linked to binary parts. The GPL does not permit the mixing of closed and open-source elements.
This story emerged after Hemminger congratulated Microsoft on its decision to release the driver to GPL. Microsoft announced the move as part of a release of 20,000 lines of code to the GPL - an open-source license it has historically hated.
Hemminger said he uncovered the apparent violation and contacted Linux Driver Project lead Greg Kroah-Hartman, a Novell programmer, to resolve the problem quietly with Microsoft. Hemminger apparently hoped to leverage Novell's interoperability relationship with Microsoft.
"Since Novell has a (too) close association with Microsoft, my expectation was that Greg could prod the right people to get the issue resolved," Hemminger blogged.
Neither Kroah-Hartman nor Microsoft spoke of a potential problem when announcing the code drop on Monday. Quite the opposite. Microsoft presented its embrace of the GPL as something it had done to help customers reduce the cost of deploying and managing their IT infrastructure through server consolidation, by speeding the performance of Linux on Hyper-V.
Kroah-Hartman appeared to verify Microsoft's GPL violation in an email exchange with All-About-Microsoft blogger Mary-Jo Foley, here.
Microsoft stunned the industry with its decision to embrace GPL. The reaction of Hemminger was typical of many Linux aficionados, who congratulated Microsoft, but others were left puzzled.
Microsoft's decision to release the code will be welcomed by anyone who simply wants Linux to work better with Windows. But if Hemminger and Kroah-Hartman are to be believed, then Microsoft will have done itself no favors whatsoever on the trust front.
The company's done much to mend its relations with the open-source community in recent years. And where it has erred in the past - as when non-open-source code was posted on its CodePlex site - individual staff rather than corporate conspiracy were blamed. When Microsoft had to be reminded of a long-overdue commitment to release the ECMA specs for its C# and the CLI under a royalty free license, charitable partners cited the short-term memory of a big company.
But this time it seems Microsoft didn't just omit certain key, unflattering facts - a move we expect from IT vendors when presenting their version of the news. It went a step further, by positioning the GPLing of the code as something it clearly was not.
Microsoft called it a "break from the ordinary", a "significant milestone," and a "prime example" of customer demand being a "powerful catalyst" for change. In realty, it looks like Microsoft messed up and was doing the right thing - if only to avert an embarrassing legal problem.
We don't know why Microsoft positioned the news as something it was not. Maybe it was because of the strategic and political importance of Hyper-V to the company, the unmissable kudos of embracing GPL and helping Linux on Windows, and how such an act could finally silence doubters.
The combining of open- and closed- code in the Hyper-V driver may well have been a case of individuals not really knowing what they were doing, not understanding the license, or hoping to get away with it. Microsoft wouldn't be unique in this respect: combining open and closed code happens elsewhere.
But that won't matter. Microsoft has more than anybody else to prove in its relationship open source. The episode will "prove" to skeptics Microsoft simply cannot be trusted and that it has things to hide. For others, it demonstrates Microsoft deals with open-source where it helps Microsoft and that acceptance of open-source inside Microsoft is not as widespread as such a milestone announcement would have led us to believe. ®