This has been a very remarkable week.
We had Microsoft releasing some 20,000 LOC of Linux drivers so that Linux can run faster on their Hyper-V solution. A lot of MS PR saying how they love interoperability and how cool they are. I will be the first to say that I was in shock (and I bet I wasn't the only one). After all, we are talking about a license that their managers explicitly hate so why release code under that license then? I just couldn't help seeing a little hypocrisy involved.... to say the least. It's always cool to say that they had to eat their own words anyway so I didn't take it as a bad thing, after all, as Linus says, we are all developing scratching our own itches.
But a couple of days later things got even more interesting when we hear that there was an issue with some GPL code that they were using in their solution that was improperly linked and so they had to release the code... BUT it was not a GPL violation (or so they say). Now, wait a minute... if there was a situation that had to be called upon (which people involved say they wanted it to be handled quietly) and ended up with them releasing the 20 KLOC, then how can that not be a GPL violation? If there was no violation then there was no situation to be called upon (which people involved wouldn't have had to say that they would have wanted it to be handled quietly) in the first place, was there? I don't know, but something smells fishy here.
Now, let's make something clear. Microsoft representatives have stated in the past that GPL is viral and that it attaches itself in their IP. Look, pal... GPL doesn't attach itself. It's not a living thing. It's attached by developers when they choose to use it. Their own in-house developers do it (as Cisco via Linksys and others have had to learn the hard way... now perhaps Microsoft joined that Hall of Shame). After all, nobody is forcing anyone to use GPL code in their solutions. Well, at least I haven't heard of anyone complaining of having RMS threating them with using GPLed code in their solutions or.... So if you don't like the GPL, then don't use code released under its terms. Stop wining about how bad the GPL is, do your homework and write your own code instead. I know.... there's excellent GPL code out there and it's gonna take time to reproduce it but... if you choose to use it, then abide by its rules. That's all their creators asked for when they released the code under its terms after all, right?