Sometimes, some things are just too good to be true. Earlier this week, Microsoft made a relatively stunning announcement that it would contribute some 20000 lines of code to the Linux kernel, licensed under the GPL. Microsoft isn’t particularly fond of either Linux or the GPL, so this was pretty big news. As it turns out, the code drop was brought on by… A GPL violation.
This story begins when Stephen Hemminger, principal engineer with open-source network vendor Vyatta and Linux contributor, finds out that a network driver in Microsoft’s Hyper-V uses open source components licensed under the GPL. These components were statically linked to closed-source binaries, which the GPL does not allow.
Consequently, Hemminger contacted Linux Driver Project head Greg Kroah-Hartman, who works for Novell. Commendably, Hemminger wanted the case to be worked out without fireworks and massive media attention. “Since Novell has a (too) close association with Microsoft, my expectation was that Greg could prod the right people to get the issue resolved,” he writes on his blog.
When the code drop was announced Monday, nor Microsoft, nor Kroah-Hartman spoke of the violation. To confirm the story, About-Microsoft blogger Mary-Jo Foley contacted Kroah-Hartman, and he confirmed that Hemminger is indeed correct: the code drop seems to have been brought on by a GPL violation.
A “break from the ordinary” and a “significant milestone”? None of that – just a silently handled case, with an overdose of marketing spin, to prevent a major embarrassment for Microsoft.
Even if there was a GPL violation, that didn’t mean Microsoft had to contribute their code: they could have resolved the violation by not distributing.
The “why” of what they did is much less important than the “what”.
But what does MS benefit from doing that? It’s beyond me…
That is not correct.
What Microsoft did was a copyright violation and it doesn’t get away by just stopping further violations.
Typically, the copyright holders of GPL code settle with the condition that the source code is released, a “late fix” of the violation.
If MS would not follow that path, the copyright holders would probably sue MS (with a lot of media coverage) and eventually get damages paid.
Edited 2009-07-23 10:39 UTC
I think you get it wrong. Firstly whole code part is done by Microsoft so they can just change license. Secondly code was disqualified as being GPL licensed because it breaks it own rules, so it must be removed. Thirdly the closed source is most likely protected by some other license agreement.
What you think is that this is standard GPL violation where some GPL code is taken and then turned to something other without permission from authors, which this isn’t. Like I said Microsoft is author of code, code itself can’t be GPL because it links to closed source, so only reasonable solution is to remove that piece from kernel.
Thank you for pointing out that the GPL code in question is owned by Microsoft.
However, you need to note that Microsoft still violated the rights of others, particularly of the Linux kernel developers.
The GPL code in question was a glue between the Linux kernel and non-GPL code. That’s why it was distributed under the GPL (so it is allowed to be linked to the kernel) and why it needs to be considered as derived work from the Linux kernel source. You see the ‘viral’ effect of the GPL here. MS is not allowed to breach the GPL on their own code just because it is linked to GPL code owned by others.
The case is obviously not as clear as I thought. So MS would probably have gotten away with just stopping the release-while very much unpleasing their customers, however.
Or if they truly owned it all, then they could have just dual-licensed it. The problem is only if they did not own it all themselves.
Therefore it is not ‘viral’ as:
1) If they owned the could they could dual license and make everyone happy.
2) If they did not own the code, then they have to follow the license, and can (at best) dual license what they brought to the table.
Neither of those are ‘viral’ effects.
Following the license is following the license.
A viral effect would only happen if using the license caused totally unrelated stuff to have to be under the same license, and the GPL does not do that.
Apparently you did not read my post thoroughly. They did own 100% of the code. However, as soon as they link it to the kernel, it is “derived work” of the kernel. There is where they loose the right to dual-license: They are not allowed to link Non-GPL licensed code to the kernel.
That is, effectively, what they call the ‘viral’ effect. I don’t mean it negatively. I use GPL for my software myself.
You’re not exactly right here. They are allowed to license their code under whatever license they like as long as it is ALSO licensed under the GPL. GPL never prevented putting the code under many licenses. In fact, nobody can prevent a legitimate copyright holder from applying any license on the code as long as the license does not violate the law.
Ok I try to make it clear again:
If you link your code to GPL code and distribute it, it is considered derived work and has also to be distributed under GPL.
They can surely distribute their code under whatever license they want but not if linking to the linux kernel.
And this is a perfectly o.k. feature of the GPL, which some call “viral”. And I am lucky the GPL is as it is.
They might call it viral, but that is just an attempt to smear. The GPL is not viral … Microsoft’s HyperV product was being distributed with parts of it’s code being GPL code.
Microsoft did that. It was Microsoft who mixed the GPL code and their own code together in the one product.
So Microsoft had some choices … either excise the GPL code from HyperV and replace it with their own code to perform the same function, or make the entire HyperV product GPL, or drop the whole thing and not distribute it.
They chose to make the whole HyperV product GPL. Microsoft’s choice. No doubt, this choice was made because it was the least effort for Microsoft.
That observation in turn leads us to the conclusion that the MAJORITY of the HyperV product must have been GPL code, otherwise it would have been easier for Microsoft to just re-write and replace the GPL bits.
That observation in turn leads to the further observation that the GPL wasn’t viral at all in the HyperV product, but rather that Microsoft had tried to close GPL code by adding a bit of their own to it, and had not managed to get away with it.
Edited 2009-07-23 23:35 UTC
The driver for generating a better interface for the kernel to the HyperV(M) has GPL in the source, so they GLPed only the driver. Not the whole HyperV…
The GPL does prevent you from licensing other people’s code under a different license. However, it does not prevent you from licensing your own code with more than one license.
That is – you can take a GPL produce, add an extension to it, and the extension itself be dual licensed so long as no one else’s GPL code is dual licensed.
Thus, the GPL is NOT viral.
So Microsoft and anyone else CAN dual license the source they are putting into the Linux Kernel if they like – it has to have the GPL to be compatible with the Linux Kernel, and any code that only they own – code that is not tainted by any GPL code they do not own – can be dual licensed.
It is to their advantage to dual license? Not necessarily, but the GPL does give them that freedom to do so. The key is ownership, and proving that what you are dual licensing is not under a single license from someone else – that you own it all and have the ability to do that.
If the GPL forbid dual licensing in that nature, then all dual licensing with the GPL would be forbidden, and we know that is not the case.
Not quite. microsoft took some of their own code, and then stactically linked some GPL code in with it, in order to make their product.
Microsoft’s distributed product therefore actually contained the GPL code. Included within it. That makes the product as distributed a derived work of the original GPL code, as defined by copyright law.
The definition, in copyright law, of a derived work, is a work containing all or parts of an earlier work.
The GPL isn’t viral … Microsoft were distributing GPL code as part of their product. Someone else’s code. The terms of the GPL then applied to the derived work. Microsoft’s options then were either:
(1) re-write the parts that were originally GPL code so that the whole product as distributed was Microsoft’s own code, or
(2) make the whole product GPL, or
(3) stop distributing the product.
Microsoft chose option 2. That was Microsoft’s choice. It was not their only choice.
Yeah, you’re right. I wish there were more explanation of the particular kind of violation they were guilty of.
They essentially wrote a driver that was only partially GPL. Which you can’t do. They tried using a gpl ed section of code to bridge the gap between the kernel and their own binary blob. I’m guessing that the driver didn’t fall into the gray area that some binary kernel modules are allowed to fall into. Either that or by previously releasing it as partial GPL, they violated the GPL ( of the kernel code) and the easiest resolution with the copyright holders ( of the kernel) was to release all of the driver GPL.
Please, feel free to correct anything I wrote. I’m not really sure I’m right.
—
Dear Microsoft customers,
Due to a licensing violation regarding our HyperV product, as of today we are temporarily halting sales of HyperV, and suspending operation of any previously purchased HyperV products. Sorry for any inconvencience…
—
Edited 2009-07-23 12:03 UTC
They had already distributed code, anyone in receipt of those binary drivers could have asked for source code. At that point, not providing it would have been a GPL violation, as well as the initial violation: them not abiding by the copyright terms of the original code.
AFAIK and IANAL.
Not surprising, at all.
I know people like to laugh and dance and point fingers at Microsoft, but the bottom line is, when there’s a violation of the GPL, whether deliberate or not, releasing the offending code is the typical, and desired, result.
And that is the whole idea behind GPL.
The truly surprising thing to me is that Greg Kroah-Hartman exhibited some discretion for once.
A blogger working to find a solution to a problem, rather than just creating a sensationalist spectacle? Time to revoke his Internet Press credentials!
Actually, I was thinking of Greg Kroah-Hartman, mudslinging kernel developer and community “spokesperson”. But in this case I guess he’s Greg Krah-Hartman, Novell employee.
Greg KH has in the past worked on things like this quietly and successfully. I suppose that aspect of him is not as well known.
See Novell’s PR blog tearing a hole into Canonical – as Microsoft has more LOC in Linux than them now – bloody cheeky if you ask me.
It does not surprise me that everyone at Microsoft and Novell kept it quiet, however ‘unintentional’.
Yeah. Greg likes to quote Linux Kernel stats and present them as if the Linux kernel was the be all and end all of OSS software. It was highly annoying to me until I learned to just ignore most of it.
Edited 2009-07-23 17:43 UTC
It has been my experience that this is the majority of the recipe for a happy life. Well, that and huge sacks of money.
Edited 2009-07-23 18:12 UTC
Horribly off-topic. But it’s worth saying that to a great extent our lives and happiness are shaped not by what happens to us, but by how we think about, feel, and react to the things that happen. Certainly, there are exceptions in extreme cases. But in general, we create our own misery.
Edited 2009-07-23 19:14 UTC
Gotta admit that that is a great way to make sure your future hardware is fully supported by Linux. :/
The kernel matters, and since that is where he does his work, it is totally understandable that he would push for others to contribute there too.
However, it must also be said that Ubuntu is generally lacking in contributions all over the stack and not just to the kernel – this has recently been altered a little with the open sourcing of launchpad and also a few contributions here and there to other projects too, but overall, they are a consumer. That is ok, but if they manage to kill off the bigger players, there would be no one left to do the hard work and everyone would suffer in that case.
Until then, feel free to ignore any criticism of their lack of participation.
The way I look at it, Ubuntu has contributed in a unique way. Or at the very least, a different way than most distros. What Ubuntu has done is to hit on a better way to make Linux popular with “regular computer users” than has any other distro maintainer in the past. And other distros are the better for Ubuntu’s existence.
A would call that a contribution which stands appart. Certainly, it is more significant than yet another new sound server that we didn’t need anyway.
Mandrake had a similar strategy way back when, and did a good job for that time. Ultimately, trying to be cutting edge at the same time cost them dearly. But no one else has ever brought it all together and promoted desktop Linux as successfully as Ubuntu has.
As with most innovations, others soon begin to integrate the good ideas into their own distros. Though after using the “I” word like that, I should qualify it by saying that much of what Ubuntu has done is simply to address some brain-dead obvious obstacles to new users that previous distros seemed oddly blind to.
However, in my mind, that does not detract from the value of Ubuntu’s contribution. There is more to our community than lines of source code.
Laughing hysterically is a great way to start the day!
Well… they’re following the rules and not trying to make their own new ones. That’s progress of a sort.
The question I would love answered is whether Microsoft would have voluntarily handed over the code by their own free will? I find it interesting that Microsoft so interested in ‘protecting’ their ‘intellectual property’ but when it comes to other peoples they’re pretty loose with making sure they comply.
Edit: Funny enough it actually reminds me of the tax department how if you owe them money they’ll jump all over your back but when they owe you a refund the processes seem to take longer.
Edited 2009-07-23 12:59 UTC
That seems to be the standard philosophy of governments everywhere. They want everything, and they want it right away – then they take 6 months to pay the bill.
I remember reading ages ago that microsoft felt the GPL was some kind of cancer, that will creap into your code and force commercial companies to give out code they otherwise would not have, like some kind of code vampire….I guess ballmer was right, sorry to doubt you buddy!
http://www.theregister.co.uk/2001/06/02/ballmer_linux_is_a_cancer/
The irony is Microsoft could have just used crappy linux drivers. or ignored linux all together, only supporting BSDs instead.
When you make a virtualization product, you can’t really afford to ignore linux. There are other competitors in the market, some of which are virtually free. Not supporting the most popular server OS, would limit them to Microsoft only servers (sorry Free BSD isn’t as popular as it used to be in the server arena).
I must have missed the part where everyone said HyperV itself was going to be released under the GPL, as opposed to, you know, the offending pieces of code mentioned. You’re right, the GPL is pretty viral in this particular instance. I sure can’t wait until I get to download all the source and compile it myself, and I have RMS to thank for his effective and cancerous license!
Lay on a little more FUD there, bud.
The problem with that frase is that GPL doesn’t creep by itself …. it is crept by developers (in this case, Microsoft’s developers, shall we say?) in their code. Nobody forces people to use GPL code. If you don’t like the GPL, then take a hike and write your own code and place whatever license you want on it, dude.
Soooo if I use some MS code to write a driver and then I have to comply with their licensing requirements, I can cry that the MS licensing is a cancer on all software?
It really is simple if you don’t want to comply with the GPL requirements don’t use any GPL’ed code.
So Microsoft cares about their IP (related to patents) but then disregards copyrights from other parties? <sarcasm>What I shock!</sarcasm>. Remind steveb about things like this next time he opens his big mouth to complain about us GNU/Linux users owing him something for our stealing of their IP.
As a Linux advocate for over 10years I find this extremely unnerving. Microsoft is not and will never be a friendly beast. They’ve tried to defeat Linux on all fronts and now some dumb@sses think they are ceding defeat and “helping” Linux?
How long before MS takes cue from sco and cries Infringement? Its one thing to contribute to an app like samba…you don’t have to include that in yout distro..its another thing to contribute to the kernel, the heart of every linux distro.
I don’t think that MS Support is as necessary to Linux as hardware vendor and gaming studio support.
Is closed because there are massive internal violations of software patents and more than likely scarfed GPL code.
Remember Linksys?
The FSF had to serve formally CISCO to get them to cough up the code.
http://www.fsf.org/news/2008-12-cisco-suit
What we really need is to fundamentally destroy all commercial interests in proprietary closed software. The best way to do that is through the following means:
1) Actively organize your organizations I.T. department to seek out and identify Network, Storage and Applications which have open source equivalents and demand they implement them.
2) Once these substitutions are identified, eliminate the ones you feel are to risky at this point, and implement as much as you can in Open Source/GPL.
3) Restructure your department. If you have a bunch of Microsoft Certificate guys who do not want to adapt to save costs using GPL software, replace them with people who have 4 year degree comp sci degrees or who have demonstrated expertise in open source software.
4) Sponsor a Open Source project specific to your business goals. Are you an ISP? Tired of high priced CISCO routing gear? Use a different vendor who is friendly to open source, or better yet, build your own routers. The following projects would be a great place to start with either money or staff time:
http://www.quagga.net/
Patronize these vedors who do 10GE for Linux for example:
http://www.myri.com/scs/download-Myri10GE.html
Essentially what will happen if you do these things will be the following:
1) Proprietary vendors will simply cease to exist.
2) Customer service should be improved because the customer will probably be involved in the project and also has a stake in it to succeed. Whether it be a networking product as in this example or something else.
3) Quality will be transparent. Your customer will see it, your engineers will see it, and so will your vendors.
It is incredibly hard to engineer crap that people can see, who also buy.
Proprietary Hardware Vendors and Proprietary software vendors are absolutely terrified about this particular outcome of open source. They do not want you to know where they cut corners, because a big unknown like this prevents you from doing any sort of cost analysis.
It is time for proprietary software to GO AWAY.
One more thing. Get rid of support contracts, they kill budgets. I tell people that support contracts for proprietary software are there because they are defective, number one. Number 2, organizations that have support contracts have no incentive to create quality software.
Would YOU create quality software if your revenue depended on $500 a month or $200 bucks a incident?
Of course not. Open Source transparency generally yields better uptime, and when there is down time, its usually nothing major that you would need a big expert to fix. After all, you have engineers you have on salary onsite, that can look at the code and figure it out and implement their own fixes.
One of the most spectacular declines for example in the proprietary world, is in the business exchanges of the world. What happens when a stock exchange goes down?
Well, if your like Londons Stock Exchange, too MUCH happens.
http://techgeist.net/2009/07/london-stock-exchange-moving-windows-l…
Of course, you can still opt to outsource support for Open Source just like Proprietary Software. Thing is, its your choice who gets the money. You can spend it on your staff, or you can ship it out of the organization.
Please Help by following the above guidlines and indeed, given enough time, proprietary software will go away and the world will be a better place.
I know it will make my job much more pleasant with my customers and coding will be much more fun!
-Hack
Someone is a bit full of oss here ( i will comment the news a bit down )
I do like OSS very much, i am even a bit active in programming there, but i do not think OSS is the answer for every software available. A lot of applications can be replaced by oss, but with heavy disturbance in workflow or similar… It is possible to replace it if you do not need every feature in the closed version. Or you can replace it one app by 3 oss aps, which do the same. But it makes it a lot more complicated for the users.
So as long as a lot of the OSS Apps are designed and implemented from a developers narrow view without having feedback with inhouse use or wide professional use at production which can point out where the design needs to be changed, they will not be a fully countable alternative. Also the decision process takes some times to long or is steered in the wrong direction by the maintainer(s) since he does like the feature. A lot of OSS Apps are not focused on providing a comfortable work flow but pressing as much features available in or being defaulted to the already seen UI.
I have to say there are some exceptions, which i accept open hearted.
There is one more problem within the interoperability within the different alternatives or “alternativ collections”. There are sure a lot more operabilities inbetween groups or versions of applications, but the overall communication between different OSS apps sometimes really gives you a burdon. Even more problematic is the users need to accept the new system and especially ppl you have a long time in your company can have problems with adopting to new systems or completly different workflows.
So you want them to just get fired and take some other guy, then i have to say i am happy i am not working in your company if your play with the “life” of your employees like this .
i just thought to tell that
PS: I would appreciate if there would be even more OSS Software which were real alternatives to some closed source apps, but i think there will always be a market for closed source … always!
PPS: Just one example: Collaborative Software (Exchange, Kolab Mailserver, OpenXchange, .. ..). And do not come up with the “Webserver packed” Colabs like egroupware, .. .., they are no real alternative. I tried, believe me
They are quite usefull, but not in full production system which need a lot of “luxury” features and “Easy to use” widgets having fast response times on their clients. And native running apps will most likely have a faster response time than an browser based collab client system.
PPPS: For the news i think it does not weight that much what makes them release a part of code under the GPL but that MS does release it at all under GPL. Even if they were forced to. To do this without a big comment or trying to get around it is something what nobody was expecting from MS. I think it is a small step to a more open future
PPPPS: But Vista is still crappy
Edited 2009-07-23 16:18 UTC
I forgot.
There are a lot of oss apps i do not want to miss. These can be replaced by closed source, but the workflow will also be gone. I all comes down to:
REQUIREMENTS
Posting links to sites that stories are based on Steven J. Vaughan-Nichols article is like putting shit in brown bag, it’s still shit. LSE still uses .NET based system, Steven J. Vaughan-Nichols is still freetard number 1, this has nothing to do with Cisco case, propierity software isn’t dying thank god since there is enough unemployment in world and world keeps spinning around sun. The END.
The first nor in-front of Microsoft is incorrect, it should be:
excusing punctation.
I think he just wanted to emphasize that Monday ( the day of the moon and devourer of souls) didn’t speak of the violation either. Which, is pretty surprising because usually you can’t get Monday to shut up.
In response to the free driver article, I replied here on OSNews: Apparently Microsoft has moved away from bashing (except Mac OS) and choking (BeOS) competition and to hand out free lollipops. Why?
The answer (surprisingly) turns out to be: the free lollipops weren’t theirs to begin with.
They were free though.