Is Microsoft Truly Embracing Open Source?


Back in the day, Microsoft viewed open source and Linux as a threat and did its best to retaliate with FUD and patent threats. So it must have been galling to its executives as, over the past 20 years, the bulk of the Internet came to rely on Apache Web servers; while Microsoft now leads in hostnames (according to Netcraft), Apache remains ahead in terms of hosted active sites.

And then a funny thing happened: Whether in the name of pragmatism or simply marketing, Microsoft began a very public transition from a company of open-source haters (at least in top management) to one that’s embraced some aspects of open-source computing. Last month, the company blogged that .NET Core will become open-source, adding to its previously open-sourced ASP.NET MVC, Web API, and Web Pages (Razor).

Wait, What Is .NET Core?

It’s a new subset of the .NET framework without WPF or Winforms, with added ASP.NET for Mac OS X and Linux. It uses .NET Native, a new compiler technology that compiles .NET code directly to highly optimized machine code, which sounds a lot like the way Xamarin’s C# compilers generate code for iOS. Microsoft claims that some Windows Store apps will start up to 60 percent faster and use 15-20 percent less memory when compiled with .NET Native.

If you want to experience .NET Core, you will have to wait for Visual Studio 2015, or download the preview version.

Wait, Why Would Microsoft Move Into Mac OS X and Linux?

Microsoft needs to push back against Linux’s hold on Web development. Traditionally, Linux hosting has been far cheaper than Windows hosting, ensuring its popularity. Plus, the scripting language PHP has proven a major open source success story, and runs great on Linux—it’s less popular on Windows with Apache Web server because of thread safety issues. (Once Microsoft enabled its IIS Web server to run PHP, it opened up Windows to running PHP open-source packages such as WordPress and Drupal, but that can’t be exactly what Microsoft wanted.) Microsoft’s ASP.NET MVC technology, based on C#/VB.NET, is technically superior to PHP, and the rising popularity of Microsoft Web servers a likely consequence of that.

C# isn’t exactly new to Linux and Mac, thanks to the Mono Project, which is the open-source equivalent of .NET. But Mono has never been that popular with the Linux community, due to considerable distrust concerning the use of Mono applications on Linux. Open-source advocates have feared for years that Microsoft would use the Mono Project to somehow damage Linux via patent claims. At least for the moment, those fears have proven groundless; Microsoft has been working with Miguel de Icaza of Mono/Xamarin on the cross platform implementation of .NET Core.

Is Microsoft… Really Committed to Open Source?

Despite these baby steps into the realm of open source, Microsoft remains fiercely protective of its proprietary-software franchises, most notably Office and Windows; for the time being, at least, its open-source efforts are directed primarily at Web development and mobile devices. In theory, an open-source version of Office or Windows would devastate the company’s bottom line, as it would lead enterprises to create their own versions.

There’s no doubt that, at least in some respects, Microsoft wants to make a big show of being more open and supportive of interoperability. The company’s even gotten involved with the .NET Foundation, an independent organization designed to assist developers with the growing collection of open-source technologies for .NET. But there’s only so far Microsoft will go into the realm of open source—whereas once upon a time, the company tried to wreck the movement, now it faces the very real danger of its whole revenue model being undermined by free software.

Upload Your ResumeEmployers want candidates like you. Upload your resume. Show them you’re awesome.

Related Articles

Image: Microsoft

3 Responses to “Is Microsoft Truly Embracing Open Source?”

  1. This isn’t the first surprising venture by MS. Back in 2002, as .NET was being introduced, they took their Visual Studio product (which sold for about $1400) and made it available as a free download in VS.NET (which included the new language of C#).
    Apparently they decided that with all the free development tools available, they were losing new developers to the open-source market and, long term, they would not have anyone left to develop products for Windows. So far it seems to have been a good choice and a large number of dev’s have migrated to .NET and continue to build Windows products.

    Now that the Windows-8-type pieces are out there and MS is losing market share again, apparently they have decided to see if dev’s will build apps using their tools for other platforms…still not sure how that will generate more revenue for them, but maybe the idea is to keep people aware of Windows by getting dev’s to build things that work on ALL platforms but better on Windows?

    Time will tell. I think you’re right that Office is their last strong-hold, but even that is being undermined by LibreOffice (look up my eBook on Amazon on how to use it from the perspective of a long-time MS Office user who wanted to convert…Rob the ComputorTutor)

  2. jelabarre

    Well, now that Pinky & The Brain (Balmer & Gates, respectively) have left the day-to-day management of Microsoft to others *less* bent on world domination, MS can focus on being a company able to survive and compete in a more open-specification world. Goes to show that, as shady as MS may be on many occasions, they’re still way smarter than IBM.

  3. They have to move to Open Source because they need to compete in the Cloud, Grid, and Big Data
    Big Data is dominated by Apache technologies: Hadoop, Hive, Spark, Kafka, HBase, The list grows every day. It is only supported on Linux grids. So if you want to run this stuff either on your own systems or the cloud, you need to have Linux. Microsoft is not an option. All of MS competitors, Amazon, Facebook, Google, Oracle use Linux as development and deployment platform for the past decade.