Just today, Microsoft has contributed 20,000 lines of code to Linux, licensed under the GPLv2. This is the first time Microsoft has chosen to use the GPL to license it’s own code.  The software they’ve released today helps to make Linux work better when running in a virtual machine on top of Microsoft’s Hyper-V hypervisor.

Microsoft’s announcement was a big surprise coming from the same company who argued that the “[GPL] debases the currency of the ideas and labor that transform great ideas into great products” and have compared it to a virus.

While this is the first time Microsoft has released code under the GPL, it isn’t the first contribution Microsoft has made to Free Software.  For example, in January of this year, Microsoft made it’s first contribution to the Apache project.  Microsoft’s Bing search engine includes some open source code.  Microsoft also has it’s own Free Software license called the Microsoft Public License (Ms-PL) which is recognized as such by the Free Software Foundation.

Microsoft has also been showing support for Mono with promises not to sue Mono users for patent violations.  I was also surprised to notice that Microsoft’s video website, which requires the Silverlight plugin, redirects Linux users to Mono’s Moonlight plugin page.

So, what’s next?  Perhaps Windows 8 will run on the Linux kernel.

So, Google has surprised everybody and made their own browser:  Chrome.  If you haven’t tried Chrome, you can get it here if you are running Windows.  Google hasn’t released the Linux version yet, but you can sign up for an email notification when it’s ready, if you like.  For now, Codeweavers has hacked together a .deb, available here.

When Chrome first became available, the media was in a frenzy about how Google was going to use Chrome to crush Microsoft or something, and people were downloading it like crazy.  Now, the word is that Chrome is a failure.  The LA Times and ComputerWorld think that Chrome is failing because although it gained a lot of market share the first few days, people are now going back to their old browsers.

Is Chrome a failure?  I don’t think it’s failed, yet.  The reason the media is saying Chrome is a flop, is because they don’t understand why Google made a browser, which is partly because they don’t READ and partly because they don’t understand FOSS.

If you look at what Google has to say about why they made Chrome, and read between the lines a little, their purpose becomes clear.  It isn’t about gaining Chrome market share, it’s about building a faster Java engine for Internet Explorer and the rest of the proprietary browsers.

Google’s Web 2.0 apps like Google Docs, Google Maps, and Google Calendar run on Java, and Google reports that they are being limited in what they can do with these applications only because the Java engines of all the other browsers out there are too slow.

Google’s brilliant solution was to start a project called Chromium, and to build an open source Java engine called V8, which apparently blows the competition (excluding Firefox – see below) out of the water.  The best way to spread the word about this V8 Java engine, so as to hopefully get Microsoft to implement it in IE, was to make Chrome.  Sure, it’s a nice browser, and there is a lot Google might do with it, but it isn’t the point.  It’s just the means to an end.

What about Mozilla Firefox?  Well, Mozilla is working on their own super fast Free Open Source Java engine called TraceMonkey which will be included in the quickly approaching Firefox 3.1 update.  And according to Arstechnia, TraceMonkey is already significantly faster than V8.

Why did Google go to all the effort, if TraceMonkey is faster?  The difference, is that Mozilla’s software is under the GPL and Google’s V8 has been released under a BSD license.  If Microsoft wanted to include the GPL’d TraceMonkey code in Internet Explorer, they’d be bound to the terms of the GPL, which requires putting any additional code changes back into the Free Software community under the same license.  The BSD license has no such requirement.  Microsoft could take the code, and give nothing back.

So, has Google failed?  That depends on Microsoft.  Microsoft will have the choice of delivering a sub-standard Java experience in Internet Explorer, or taking the free gift and making Google’s web 2.0 apps faster.  Time will tell.