Blogs

RedMonk

Skip to content

Microsoft, the GPL and Linux: The Q&A

One year ago next week, at the same conference I’m set to attend, Microsoft announced that it would be sponsoring the Apache Foundation. Reactions to this news varied; from praise to suspicion, views of the significance were all over the map.

My own view was appreciative but not overwhelmed:

The announcement is, in my view, news. What it is not, I think, is an Eclipse-open-sourced moment – with all due respect to my colleague. Let alone a Sun-buys-MySQL-for-$1BN event.

It’s a nice and significant gesture, and a step in the right direction, but it’s incremental to me. Not revolutionary.

This reaction seemed to disappoint Microsoft, and why wouldn’t it? Their own view of the announcement was inevitably colored by the effort involved which was, by all accounts, substantial. Ironically, it also disappointed some open source advocates, lending support as it did – mild though it may have been – to Microsoft’s efforts to engage.

A little less than one year later, Microsoft is back in the news with another announcement; one that has many believing that pigs have achieved flight and that hell’s thermostat’s been turned down.

Perhaps predictably, I do not subscribe to either of those beliefs. My view on the news this week is, ultimately, not so different than it was last year. To help explain why Microsoft contributing to Linux under the GPL license is as predictable as it is welcome, let’s turn to our old friend the Q&A.

Q: Before we proceed, is there anything to disclose?
A: Indeed. Most germane to this discussion, Microsoft is a RedMonk client. Competitors of Microsoft that are RedMonk clients and relevant to this discussion include Canonical, IBM, Red Hat and Sun. Non-clients mentioned include Novell. That should about cover it.

Q: Ok. For those that haven’t seen the news, can you give us a quick summary of what Microsoft announced?
A: Yesterday, Microsoft announced its intention to contribute approximately 20,000 lines of code to the Linux kernel via the Linux Driver Project. The code, as with all kernel assets, will be governed by the GPLv2 license.

Q: How did this happen?
A: Greg Kroah-Hartman has some of the background, and there’s more depth here. The gist of the story is that it became apparent that, absent the contributions, making Linux a proper guest on Hyper-V was going to be a licensing issue, at which point discussions with Microsoft were initiated.

Q: What do these device drivers do, specifically?
A: Microsoft’s materials describe them thusly:

The Hyper-V Linux Device Drivers are designed so Linux can run in enlightened mode as well, giving it similar efficiency as a Windows virtual machine running on top of Hyper-V.

In English, that means that Linux will run more efficiently on Hyper-V, Microsoft’s virtualization layer. Essentially, this code will allow Linux to be a first class guest on Windows based hosts.

Q: Is this a significant announcement?
A: Yes, absolutely. It’s not pigs in flight, in my view, but it’s certainly setting a new precedent.

Q: And what precedent is that?
A: It sets the precedent that Microsoft will a) contribute to GPL licensed projects and b) the Linux kernel. This would have been unthinkable several years ago.

Q: Why? How is this different than the Apache contribution last year?
A: On the open source licensing spectrum, the Apache and GPL licenses are about as distinct as two licenses can be. Microsoft, like many enterprises, prefers Apache licensed assets for the simple fact that as a permissive license, it imposes few restrictions on the code itself. GPL licensed assets, on the other hand, contain a reciprocal provision intended to protect not developers but users; this provision means that vendors that intend to distribute a GPL derivative asset must, by license, make any changes, fixes or updates available under precisely the same terms as the original codebase. Contrasted with the Apache license, which permits vendors to use such licensed assets in proprietary products, and you can see why Microsoft would look less favorably on the GPL.

And why this announcement is both interesting and precedent setting.

Q: What about the Linux portion of the announcement? Doesn’t Microsoft hate and fear the project?
A: That’s the second angle that’s of interest to many. Beyond the GPL – the license governing the kernel, Linux has long been public enemy number one within the halls of Redmond. There’s a long history of antagonistic behavior and rhetoric towards the open source platform that need not be rehashed here. That Microsoft could see its way not only towards acknowledging the competition, but actually contribute something to it, is indicative of the progress Microsoft has made vis a vis its relationship with open source.

Q: How so?
A: Because they are run by people, businesses are often run, at least in part, by emotion. Microsoft is no exception in this regard. Much of the company’s behavior with respect to open source generally and Linux specifically has been driven by emotions ranging from fear to anger to disdain. Its behavior most recently, however, has exhibited something else: maturation.

There have been and will continue to be major hiccups, but with decisions like this week’s, Microsoft is indicating that it at least is willing to set aside the instinctive open source reactions when its business interests dictate that it do so.

Q: By hiccups, I assume you mean things like the saber rattling around patent threats?
A: Indeed. The fact is that in spite of some excellent efforts from certain Microsoft constituencies to reach out to open source communities, there have continued to be significant divisions between Microsoft and open source advocates, and more critically, within Microsoft. It was never clear to me what the theoretical benefits were to Ballmer’s comments, while the downsides were immediately and directly apparent.

Witness the fact that one of the first questions we’re getting regarding this week’s news is how we reconcile Microsoft’s previous comments with its previous passive-aggressive threats.

Q: And how do you reconcile those contradictory viewpoints?
A: By understanding that, eventually, Microsoft will act in a manner consistent with its mandate, which is increasing shareholder value. Picking a fight with a massive and growing community backed by some of the largest and most capable firms in the world was never a brilliant strategy, absent a smoking gun. Which, one would assume, would have been produced by now if it existed.

Making Linux – which customers will run whether Microsoft likes it or not – perform better on top of their platform, however? That’s simply good business and good strategy. Keep your enemies closer, and all that.

Q: I’m not sure that I follow that: how is this good business for Microsoft?
A: Let’s accept as a given that customers – most of them – are going to be running both Linux and Windows for the foreseeable future. Let’s also grant that virtualization is going to be a core infrastructure strategy for many enterprises. Without these contributions, Microsoft would be offering customers a world in which Linux hosts could run either platform with similar efficiency, while Microsoft would host Linux instances that were challenged relative to their Windows competition. Setting aside the potential interest the DOJ might have had in this, that’s a difficult message for customers who are increasingly putting a premium on interoperability.

By contributing these loadable driver modules, Microsoft could at once demonstrate a) its willingness to work with open source communities, b) its increasing maturity vis a vis Linux and c) its commitment to interoperability. All for the price of swallowing a bit of pride.

Q: Was this an easy decision and process for Microsoft?
A: Not likely. Few would dispute that this move would have been impossible just a few years ago; and while it was obviously announced, I suspect that the conversations internally were, shall we say, spirited.

Q: Is this good for Linux?
A: Yes. Conspiracy theories aside, the ability to run more efficiently on Windows is a significant win, as there is still a lot of Windows on the market.

Q: What about the patent question?
A: The 451 Group’s Matthew Aslett – in a format that looks familiar ;)answers this question well, I think:

If we were putting money on the most likely conspiracy theory to emerge in response to this news it would be that this is a Trojan horse and Microsoft is contributing code to Linux that it will later claim patent rights over. Whether that is even theoretically possible depends on your understanding of the GPLv2.

The GPLv2 contains an implicit patent promise that some would say makes a Trojan horse impossible. However, the FSF obviously thought it necessary to introduce a more explicit patent promise with the GPLv3 to remove any doubt.

Even considering the GPLv2’s theoretical patent weakness relative to its successor, however, it’s difficult to foresee a circumstance in which Microsoft could, in practical terms, reverse course and claim patent rights. They would be facing massive legal retaliation from the corporate forces arrayed behind Linux and, more problematically, an avalanche of criticism from customers who would be at some potential risk.

Nothing is impossible, I suppose, but it’s hard to see even the hardest of the hardcore IP elements with Microsoft concluding that such a decision constituted growing shareholder value.

Q: What do Linux vendors think of the move?
A: They are mostly positive. Novell, as Microsoft’s closest Linux partner, is predictably enthused. Red Hat issued a press release welcoming the news, calling the contribution “significant.” Canonical’s Matt Zimmerman, responding at least in part to a slight from Novell, was more skeptical, saying:

What can Linux do now that it couldn’t do before Microsoft’s contribution? According to Microsoft’s press release, it’s a device driver which enables Linux to run much faster—on Windows servers. That’s right, it helps us to get more value out of our expensive Windows Server 2008 licenses by consolidating our Linux servers into Windows Hyper-V virtual machines.

Which, when you get past the novelty of Microsoft contributing GPL code to the kernel, is pretty much accurate.

Q: So you take Zimmerman’s position? You’re against the move?
A: Against the move? I’m not sure that’s an accurate portrayal of Zimmerman’s position, but I’m certainly not against the move. Not at all. The above is not to diminish its impact; while it is Microsoft making Linux run faster on Windows, that’s far from a bad thing, in my view. This move makes Linux more competitive on the Windows platform, which will benefit those customers that choose to run Windows as their host platform and leverage its virtualization capabilities. If anything, this is more problematic for VMware than for Linux.

But it’s also necessary to keep this move in perspective. This is Microsoft acting in its own best interests; nothing more and nothing less. While those who made this announcement possible should be commended – applauded, even – it’s also worth remembering that the reason this decision is notable at all is a long term animosity towards the target project.

Q: And what about the actual contributions? Are you among those who are decrying them as mere device drivers?
A: No. It’s true that this is not a higher lever contribution such as, say, FAT filesystem assets, Microsoft can only be expected to contribute what they can build a business case for. Those who would hold their breath for Microsoft contributing major pieces such as the Windows operating itself to open source projects are likely to asphyxiate themselves. This contribution made sense, and – thanks to some herculean efforts – it was made possible.

Q: The word precedent has been mentioned several times: do you expect to see more Microsoft contributions to GPL projects?
A: I do. If you step back and view Microsoft’s behaviors the past few years, what you see is a steady progression towards yesterday’s news. The trajectory has been clear for sometime; from engagements with Mozilla to Eclipse to Apache to Linux, there’s been a clear progression towards acknowledging – and where it makes sense, working with – open source. That this process has taken time is lamentable, but unavoidable: those who were able to make it happen needed to establish their credibility, while those who would oppose it need time to acclimate to the reality that open source is not a transient phenomenon.

Q: What is the ultimate significance of this decision? Is Microsoft Linux or GPL friendly now? Open source friendly?
A: They are, as should be expected, friendly to that which will benefit them and advance their cause. Have they been converted like Saul on the Road to Damascus? Hardly. Answering the question last year around this time of what I would actually consider quote unquote big news from Microsoft in the realm of open source, I said the following:

With some time to think, my answer would be something that indicated that the acceptance of open source within the firm was more than an acknowledgment of the need to coexist and interoperate with open source. A move that signaled an awareness that open source, while hardly the only approach to developing software, does possess certain advantages over its proprietary competition…

But while open source is not, in my view, the one true path for software development, it’s difficult to argue the point that it possesses certain intrinsic advantages in distribution and so on. True, these advantages are something less of a premium to a firm like Microsoft that enjoys the market position it does, but not every Microsoft offering has the marketshare that Windows and Office enjoy. Or IE. Or Sharepoint. Or Active Directory. Or…you get the point.

And yet Microsoft’s open source activities thus far have only recently included participation and then generally in the areas of interoperability. Drivers, installers, patches and so on. Good, but not earth changing.

So this news isn’t big, by those standards. Microsoft is, this week’s contribution notwithstanding, still holding open source at arms length, in contrast to an IBM who embraces it strategically in certain areas in service of a larger strategy.

But while it is not a conversion, it is important news, a welcome development, and a job well done for those involved.

I wonder what Microsoft will have for us at next year’s OSCON?

Categories: Open Source.

  • http://www.webmink.net Simon Phipps

    The one other angle on this is related to timing. Microsoft thought it worthwhile to fabricate an announcement so they would be in the news cycle at OSCON in a positive and concrete way. That in itself is news, regardless of the technology involved.

  • Pingback: 451 CAOS Links (caostheory) 's status on Wednesday, 22-Jul-09 15:27:21 UTC - Identi.ca

  • Pingback: Once More unto the Breach

  • Pingback: ssl1900's status on Thursday, 23-Jul-09 10:10:13 UTC - Identi.ca

  • Pingback: Why Linux Did Not Need Microsoft’s Code Injection | Boycott Novell

  • http://daveshields.wordpress.com dave shields

    Good summary, as usual.

    Re patents, the issue is not about MS picking a fight with the open-source community.Since all enterprises run Linux, at least on some machines, for MS to file a patent infringement suit would put it in the same sad postion as SCO — suing some of its own customers.

    Re MS motiviation, see Linus’s apt response at http://www.linux-mag.com/cache/7439/1.html:

    “I agree that it’s driven by selfish reasons, but that’s how all open source code gets written! We all “scratch our own itches”. It’s why I started Linux, it’s why I started git, and it’s why I am still involved. It’s the reason for everybody to end up in open source, to some degree.

    So complaining about the fact that Microsoft picked a selfish area to work on is just silly. Of course they picked an area that helps them. That’s the point of open source – the ability to make the code better for your particular needs, whoever the ‘your’ in question happens to be.”

  • Pingback: On Microsoft’s Contribution of Drivers to Linux « The Wayward Word Press

  • http://www.michaeldolan.com Mike Dolan

    I think the most significant implication is that at least 1 year ago, Microsoft realized Hyper-V had no chance of gaining market support unless Windows could support Linux as a guest. Once Microsoft realized that, GPL’ed code was inevitable. The need to support Linux just confirms how much penetration the OS has made into Microsoft’s own territory.

    Zimmerman is absolutely right – at the end of the day, Microsoft has “given” the Linux codebase nothing useful… it’s only self-service for enabling Microsoft’s own product in the market.

  • Pingback: tecosystems » Microsoft Frees CodePlex: Now What? The Q&A