Microsoft keeps its open source promise with CoreCLR
CoreCLR is now Open Source. The .NET execution engine sources are now available to check, fork, clone and build, with cross-platform components expected in the coming months.
Microsoft has published the code to CoreCLR, the .NET Core code execution runtime. The release of this code coincides with Microsoft’s pledge to release all of its .NET Core development platform as open source software.
Open (source) for business
On top of their plan to open source the full server-side .NET core stack, Microsoft are also hoping to take the open-sourced .NET core stack to Linux and Mac OS X, alongside Windows. The news was revealed on the .NET Framework Blog yesterday.
The tool is the .NET execution engine that performs functions such as garbage collection and compilation to machine code, much like the Java Virtual Machine (JVM). The CoreCLR sources are available over on GitHub, as well as the complete CoreCLR implementation (including RyuJIT and the .NET GC).
The CoreCLR repo is described by the .NET team as similar to the CoreFX repo, however size-wise the CoreCLR repo boasts 2.6 million lines of code. Approximately 375,000 lines take up the JIT and garbage collector, with a predicted 5 million lines set to make up the two repos by the time .NET becomes completely open source.
However, there is a difference between the two repos: While the CoreFX is written in C#, the CoreCLR has big chunks of C# and C++ making up the code. If you plan to rely on Visual Studio for your project, you might want to make the switch to CMake:
The coreclr repo requires multiple toolsets to build both C# and C++ code, including tools that do not ship with Visual Studio. We took a dependency on CMake, an open source and cross-platform build system. We needed a build system that we could use on Windows, Linux and Mac and that could build for each of those targets.
JAXenter reported on Microsoft’s open source intentions last year, after an open email was sent to all Microsoft employees by CEO Satya Nadella. He announced that he was working to increase Microsoft’s involvement with open source as part of a move to “evolve” the company’s organisation and culture.
The .NET Framework Blog also touched on Microsoft’s open source pledge, stating that this latest release was the demonstration of their “strong commitment to sharing a complete cross-platform .NET implementation.”