If You Can’t Beat ‘Em, Join ‘Em: Microsoft and Open Source

Windows logo

Earlier this year I wrote that Microsoft needed to open source something big. Even Apple, hardly a bastion of openness, had its Darwin and Webkit projects. Microsoft was talking to the open source talk, but other than a bunch of random ASP.NET stuff, it hadn’t really released much code.

The problem was finding something Microsoft could open source that would matter. Even assuming it had the will to open source something like Internet Explorer or the Windows kernel, technology licensed from other companies could hold it back.

Microsoft has now solved this problem by contributing to existing non-Microsoft projects like Apache Hadoop and Node.js. It’s a great win-win situation for both Microsoft and the open source community.

It’s in Microsoft’s best interest to see next generation technologies like Node.js and Hadoop run on its platforms. Although its .NET languages have large, dedicated developer communities, Microsoft has seen the writing on the wall. Open source programming languages from Java to PHP to Ruby to Scala are becoming the norm. JavaScript in particular is quickly becoming ubiquitous.

One of the most interesting things about yesterday’s Azure release, other than the use of Github to share SDKs, is Microsoft’s JavaScript library for Hadoop. Microsoft’s now discontinued alternative to Hadoop used Microsoft’s own LINQ framework. Instead, Microsoft is focusing on making Hadoop accessible to developers via a language most of them already know – JavaScript (the preview is not open so I don’t know yet whether the libraries will work with a non-Azure hosted Hadoop instance, or whether the libraries will actually be open source).

As I mentioned yesterday, Microsoft is investing heavily in JavaScript. JavaScript is the primary programming language for Metro, though you can still use other languages with the framework. Microsoft supports it for scripting in Office and now Node.js is supported on Azure. It might bother the long nurtured .NET community that Microsoft has built over the years, but the company knows which way the wind blows.

So does that mean that Microsoft is in the clear here? The open source community certainly benefits from having Microsoft’s support in porting popular projects to Windows, but I’d like to see Microsoft supporting some cross platform initiatives (and I’ve been critical of the company’s approach to differentiating Internet Explorer, but that’s another story). That said, this is a good start (along with the announcement that the Windows Store will include open source apps) and if does open source those JavaScript libraries for Hadoop, Microsoft will be well on its way towards making significant contributions to open source.