Microsoft open-sources .NET Core framework

November 13, 2014 // 11:02 a.m.

Tags: #linux #microsoft #mono #net-core #net-framework #open-source #os-x #xamarin

Microsoft has made a surprise announcement: the release of its .NET Core development stack under an open source licence, complete with official support for OS X and Linux in addition to Windows.

The .NET Framework has long been a jewel in Microsoft's software development crown. Released in beta form in 2000 and properly in 2002, the framework was designed to work with a variety of languages and allow for the easy development of Windows-centric software. Tied in to the company's Visual Studio integrated development environment, the .NET Framework is a frequent requirement of first- and third-party packages running on Windows, but has hitherto been unsupported on rival operating systems bar third-party efforts like Xamarin's Mono which uses a separate code base.

That changes now, Microsoft claimed in an announcement late last night. 'Today is a huge day for .NET! We’re happy to announce that .NET Core will be open source, including the runtime as well as the framework libraries,' wrote Microsoft's Immo Landwerth in a blog post on the move. 'This is a natural progression of our open source efforts, which already covers the managed compilers (C#, VB, and F#) as well as ASP.NET.

'As a .NET developer you were able to build & run code on more than just Windows for a while now, including Linux, MacOS, iOs and Android. The challenge is that the Windows implementation has one code base while Mono has a complete separate code base. The Mono community was essentially forced to re-implement .NET because no open source implementation was available. Sure, the source code was available since Rotor but we didn’t use an OSI approved open source license, which made Rotor a non-starter. Customers have reported various mismatches, which are hard to fix because neither side can look at the code of the other side. This also results in a lot of duplicated work in areas that aren’t actually platform specific. A recent example is immutable collections.

'The best way to build a cross-platform stack is to build a single stack, in a collaborative manner,' Landwerth claimed. 'And the best way to do exactly that is by open sourcing it.' The release covers the .NET Core, the heart of .NET that will form all future releases, plus a 'subset of the libraries' currently available for Windows with a roadmap to releasing the entire .NET Core library stack under an open source licence by Microsoft's Build 2015 conference. There's also a major catch for third-party operating system support: currently, the stack as-released builds only on Windows. 'We intend to build a public working group between us and the Mono community [to support building and running on non-Windows platforms] once we have enough code out there,' Landwerth added.

Microsoft has indicated it is taking the open source ethos seriously, publishing the code on GitHub and indicating it will accept pull requests from the community while also advertising new positions within the company to work on the project. 'We do not agree with everything Microsoft does and certainly many open source projects compete directly with Microsoft products. However, the new Microsoft we are seeing today is certainly a different organisation when it comes to open source,' the Linux Foundation's Jim Zemlin wrote of the move on 'Microsoft understands that today's computing markets have changed and companies cannot go it alone the way they once did. Open source has fundamentally altered the software industry and that puts developers, developers, developers in charge.'
Discuss this in the forums