.NET Core Open Source

.NET Core Open Source

Microsoft has placed the .NET runtime, the core .NET framework and the framework libraries in the open source. The step follows on earlier open source efforts covering the managed compilers C#, VB as well as ASP.NET.

For a while now a .NET developer was able to build and run code on more than just Windows using the Mono .NET framework implementation including Linux, MacOS, iOs and Android. However the Windows implementation has one code base while Mono has a completely separate code base. The Mono community was essentially forced to re-implement .NET because no open source implementation was available. This resulted in many code duplications in areas that were not really platform dependent. Developers also reported various mismatches, which are hard to fix because neither side can look at the code of the other side.

.NET Core and the samples are now hosted on GitHub where the majority of the .NET community can be found. The public GitHub repository is the leading system and all code changes are immediately live. External developers can make contributions to the .Net Framework but have to meet the same quality bar that Microsoft employees have to meet. Before developers can incorporate their work into the project, they’ll need to sign a Contributor License Agreement (CLA). All contributions will be done using GitHub’s pull request model.

By placing .NET in the open sources a single stack can emerge in a collaborative manner. Placing .NET in the open source is a big step for Microsoft that was for a long time the king of the proprietary desktop software. The move itself however is of limited impact and .NET has a long way to go to catch up to open source Java. Critics say Microsoft’s paid .NET offerings as part of Windows will always be the most stable and best-supported version of the framework.