31 comments

[ 3.7 ms ] story [ 76.6 ms ] thread
Microsoft? GPL? wow! I never imagined I'd live to hear this.
The drivers allow Linux to run atop Microsoft's new virtualization platform, and don't do anything if you're running Linux any other way.

They're giving themselves a lot of credit for releasing drivers that only support their product.

As a former MS employee (with quite a few friends who still work there) it definitely surprises me to see them releasing GPL code at all. MS is terrified of the GPL -- I don't mean as an enemy in the marketplace (although there too) -- but mortally afraid of GPL code tainting any of their proprietary code bases causing them to need to give up the source to Windows or Office.

I can imagine a team within LCA (the MSFT legal department) worked long and hard on this project -- quite possibly more work as a legal exercise than as a development one.

The GPL cannot force you to open your source: http://www.groklaw.net/article.php?story=20031214210634851
That was interesting, thanks for posting that. But (going slightly off-topic), it left me with a question:

"Because there are no further agreed-upon promises, no reciprocal obligations. It would be a contract if I said to the owner of a pond: if you give me a license to fish in this pond, I'll give you half of all the fish I catch. In that scenario, each of us has voluntarily entered into a kind of promise. We each give the other something of value, so if I get the license and then I don't give over half of all my catch of the day, the pond owner can sue me for not living up to the terms of the contract."

This makes no sense to me. Why is it "It would be a contract if I said to the owner of a pond: if you give me a license to fish in this pond, I'll give you half of all the fish I catch." and not "It would be a contract if I said to the owner of a pond: if you give me a license to fish in this pond, I'll give you ten bucks." ??

What you're doing there is not a contract, it's an invitation to bargain (aka invitation to treat). You make an offer, the counterparty can accept, reject, or negotiate, and once you have reached mutually agreeable terms you conduct an exchange and your business is over. There may be an implied contract (eg that the pond has not since dried up) but not necessarily.

A contract, on the other hand, is a forward looking document. It's based on the idea that you'll reach an agreement and something of value will be exchanged to seal the deal (which is why you hear of contracts for $1), but that the exchange will be incomplete until some time later.

For example, if you buy a concert ticket, your transaction with the vendor ends as soon as you receive the ticket, but the ticket itself is (typically) a kind of contract between the holder and the promoter, who promises to stage the event and provide admission to all ticket holders or refund the face value.

Strictly speaking this is true. However, if it were to be that Linux code ended up in NT, you might expect that the damages would be disastrous to the company. Perhaps enough so that the only practical remedy would be to release the kernel as GPL to avoid the damages that would be awarded. This is the concern.
I would think that the most likely thing to happen is that no-one would ever know that GPL'd code was used. This is one feature of binary releases: copyright infringement is easy, widespread, and largely undetectable.

I don't know of large damages being awarded for violations of the GPL. Is there must history of this?

I would have thought Microsoft could write a replacement in house while their lawyers stall, then they would pay a fine quite small compared to their issues with proprietary IP, such as double space.

The D-Link case on gpl-violations.org fetched ~2,870 euro. Small change perhaps, but if a larger damages could be found on the scale of Microsoft it wouldn't be insignificant.

And as we see from the ffmpeg hall of shame, binary releases of wrongly-distributed GPL'd code often leave telltale strings in the binary. If you'd go to enough effort to obsfucate the binary effectively (not just strings) for every possible source file, why not just write it yourself?

but mortally afraid of GPL code tainting any of their proprietary code bases causing them to need to give up the source to Windows or Office.

how could that possibly happen? microsoft is still the copyright owner on the code, they can use it however they want. they can release it again under a different license or use it in their own products under no license at all.

the worst that could happen in this case is the gpl proves to not be legally binding and someone else is able to use microsoft's gpl code in their own product without releasing the code.

It's less of a risk in this case and more of a risk of a GPL library ending up in an executable (Linux kernel source in NT, libreadline in cmd.exe, etc). It's something MS is very conscientious and deliberate about in every case, even when the risks are slight.
Well, first off it's a "PressPass" story - i.e. a marketing release - so maximum back-pattage is to be expected.

Secondly, what they've done is to contribute code to the linux kernel, under the GPL, in order to improve linux in a way that plays to their commercial advantage. Which is, after all, what the vast majority of corporate linux contributions are about.

The fact that his particular contribution happens to be obviously tactical rather than the more strategic aims of some of the bigger corporate backers doesn't mean that it isn't exactly what we want to see, and entirely in the spirit of commercial open source contributions.

If I ever meet any of the people at Microsoft who made this happen at a conference, I have every intention of buying them a beer to say thanks - enlightened self interest is almost always the best way to motivate a corporation to do something useful and I'd imagine the path to making MSFT's self interest sufficiently enlightened to see the advantage of funding this has been a hard one. Well done, guys!

Insightful Magic Hat Award.
Most companies only write drivers for their own products...
Yeah I know it's not a big deal.

But MS using GPL was a big news for me.

I was pretty surprised myself, but it's not necessarily "hell freezing over" as some have put it. This could be nothing more than an attempt to regain some favor among FOSS enthusiasts, or an attempt to increase use of their Hyper-V products.

It's a nice gesture, but for all I know about Hyper-V (which admittedly is very little), it's a deliberate strategy with an ulterior motive.

edit: After some quick reading on Wikipedia, I'm more convinced that what I said above is true.

>It's a nice gesture, but for all I know about Hyper-V (which admittedly is very little), it's a deliberate strategy with an ulterior motive.

Almost like they're a business or something. ;)

This isn't a first for MS: http://msdn.microsoft.com/en-us/netframework/aa569283.aspx

http://www.ecma-international.org/publications/standards/Ecm...

The entire spec for .NET including the CLR and C# are under ECMA's control, rather than Microsoft's. And MS is actively supporting the Mono project.

I'm not claiming that they're doing it out of altruism, but rather that they're seeing the value in supporting open source. It just took them longer than it did for others ;)

yes, but the issue at hand is the fact that MS, the M$, released code under GPL. it's huge no matter how you look at it.
True. I didn't intend to minimize that, just pointing out that it does seem to be a trend.
(comment deleted)
Tentative Opinion: If Microsoft would just completely loosen up and willfully co-exist that they could increase their popularity and sales.

Idealistic fantasy? I have no sense of what % of the market are dual-booters/VM users. Businesses that use MS – they won’t, IMO, switch to Linux any time soon. From the trial of windows 7, it seems like a promising OS. With me, avoiding MS is more a matter of not wanting to support their controlling business practices.

This seems viable to me. Anyone agree?

Slightly off topic, but I just read an article regarding how Nissan Plants used MS's Hyper V visualization to consolidate 159 servers down to 28 via combining apps & stacking multiple VM's per rack server (avg of 8 VM's per server).

Tangentially related to the release of the drivers I suppose, but the article was fresh in my mind.

Well... Now we know what Linux code is covered by Microsoft's patents ;-)

Seriously: this is something that should be expected. This is the only license they would use to license Linux kernel drivers that allow Linux to run better under Hyper-V. It's not out of kindness but of forcedly enlightened self-interest.

It's likely a response to some heavyweight clients saying: "Look... We use Windows here, but those Linux servers won't go away and they run like crap under your Hyper-V thing. Fix it or we will run VMWare, Xen or something else"

I think this is more of an indicator that Microsoft finally has the business sense to realize that GPL'ed software isn't just some fad for tree-hugging hippies. That also means that they may be starting to realize that they can't control the market just based on the fact that Windows is on 90% of all desktops.
They didn't mention the word "GNU" once. Is it a deliberate snub? They said "General Public License" and "GPL," leaving out any mention of Stallman, GNU or the FSF. Seems like they're targeting this release more toward corporate IT that view "Linux" as another platform like "Windows" rather than the free crowd.
There are a lot of people in the ESR/open source crowd who never mention GNU, FSF, or RMS. MS is hardly unusual in that respect.
I don't know how wide spread it is in MS, but I've heard conspicuous rival-brand avoidance before. For example, references to "the company named after a fruit", rather than, "Apple".