When former Microsoft CEO Steve Ballmer famously called Linux a cancer over a decade ago, little did he realise that open source software would go on to become a big part of the technology industry.
Around that time, Microsoft went on the offensive over open source, often spreading fear, uncertainty and doubt (FUD) by casting open source software in a negative light.
Back then, it provided the media with heaps of industry reports – of which some were sponsored by Microsoft – on how the total cost of ownership of using the Windows platform is lower than that of the open source stack comprising Linux, Apache, MySQL and PHP.
The FUD campaign did not seem to have much effect, as CIOs and developers continued to embrace open source technologies, which are often touted for their flexibility and cost advantages. Microsoft realised this and began to flirt with open source.
In 2006, it launched CodePlex, an open source project hosting website that’s still in use today. And a year later, it opened a Linux/open source software interoperability lab through a controversial partnership with Novell.
Redmond’s more recent open source efforts include code contributions to the Samba project, as well as hosting two major open source projects – Hadoop and Node.js – on its Azure cloud platform. It has also contributed code to the Linux kernel.
Last week, Microsoft took a major leap in its efforts to embrace open source, by open sourcing the full server-side .Net software development platform and expanding .Net to run on Linux and Mac computers.
What this means is that developers who have stayed away from the Windows-only platform can now use .Net to build software for Linux and Mac OS X.
Porting Windows apps to other operating systems should also be easier, though some work needs to be done as the user side of things like the Windows Presentation Foundation is not yet open source.
There’s already an open source .Net project known as Mono, which can be used to build and run .Net applications across multiple platforms including Android, Linux, Mac OS X and Windows.
Microsoft has been helping toolmaker Xamarin to develop Mono, and will now spearhead future implementations of the software. It will also work closely with the open source community, taking contributions for future improvements to .Net.
The move by Microsoft to open up .Net is laudable, and follows Redmond’s recent attempts to embrace a multi-platform strategy by making versions of its Office software for rival operating systems such as iOS and Android.
In a world where Windows is no longer as dominant as before, opening up .Net should change the perception of Microsoft as a company that’s bent on locking users into its Windows and Office franchise. But more importantly, it signals that Microsoft has finally come to its senses, that being open does not always lead to disease.
But Microsoft still won’t open source the VB6 programming language. Still a half-hearted approach to open source.