In a landmark move, Microsoft has open sourced the server-side .NET stack which will be made available to be run on Linux and Mac operating systems.
The open sourced components consist of a full server-side .NET stack, which includes ASP.NET, the .NET compiler, the .NET Core Runtime, and .NET Framework and Libraries. In cooperation with the .NET foundation, an organization dedicated to overseeing open source .NET technologies, Microsoft will be inviting developers to contribute to the .NET stack going forward. To that end, it has established a Github account where the .NET code is available to anyone for download.
The Microsoft brand, of course, is not one commonly associated with the open source movement. But according to S. Somasegar, Microsoft's corporate VP of its Developer Division, open sourcing .NET was a practical decision. "With billions of devices in the market today, developers need tools that target many different form factors and platforms,” he stated.
As part of its announcement, Microsoft revealed that it has extended its partnership with Xamarin, maker of cross-platform development tools, and will be including Xamarin Starter Edition, a free version of its cross-platform development software, in Microsoft Visual Studio 2015, which Microsoft says is being "built from the ground up with support for iOS, Android and Windows."
The developer community reacts
The developer community was quick to respond to the news that Microsoft is open sourcing the .NET server-side stack and embracing other platforms. There was a good amount of praise. For instance, on Hacker News, many suggested that they'd be more inclined to use C#, a programming language developed within Microsoft's .NET division, now that it can be used cross-platform. "I'm a hardcore *nix guy but boy do I love me some C#. Up until now it's been the best language I have worked with but the worst platform due to it's lack of 'nice things' that we just expect from languages/ecosystems these days. Where 'nice things' is defined as being open-source, having open-source ecosystem of developer tools etc.," one user wrote.
Not surprisingly, however, there was some skepticism as well. Another user wrote, "I think this is all about making Azure services more compelling and more able to compete with Amazon than it is wanting to do 'nice things' for the open source community," referring to Microsoft's Azure cloud platform.
The changing enterprise software landscape
Whatever the true motives for Microsoft's decision to open source a big part of .NET, the decision itself highlights just how much the enterprise software market has changed. Businesses of all shapes and sizes have embraced open source technologies, and makers of open source software have proven that it is possible to build a profitable, successful business on the back of software that is open.
Obviously, countless billions of dollars a year are still spent on closed-source software, but with developers looking for flexibility and shunning lock-in, and the number of platforms on which companies must deliver their services growing, it is arguably becoming more and more difficult for even the largest of software companies to meet the demands of the market without embracing open source in some form.
Time will tell whether .NET, which is already an enterprise staple, becomes even more successful as a result of Microsoft's decision, but in the final analysis, it's hard to see the company's decision hurting .NET.