​Microsoft pushes more open source with .NET engine CoreCLR

Microsoft has released its new runtime for .NET Core, its framework for cross-platform development.
Written by Liam Tung, Contributing Writer

Microsoft has released the open source code for CoreCLR, the execution engine for its .NET Framework fork, .NET Core. .NET Core was opened-sourced last year, and aims to make it simpler to develop applications for Windows mobile, desktop, and server environments.

Microsoft is no stranger to open source, but recently it's been more vocal about its internal efforts to increasingly embrace the model through its core developer tools, such as open sourcing .NET and porting the .NET runtime to Linux and Mac OS.

In December, the company also laid out its plans to make .NET Core the foundation of all future .NET releases and the centrepiece of its effort to reign in multiple .NET frameworks that catered for different devices and platforms.

Today Microsoft has published the source code for the complete CoreCLR runtime on GitHub, along with RyuJIT, the .NET GC, native interoperability, and other .NET runtime components.

"This release follows from our earlier release of the core libraries, both of which demonstrate our strong commitment to sharing a complete cross-platform .NET implementation," Microsoft's .NET team said in a blog post.

According to the company, CoreCLR performs functions such as garbage collection and compilation of machine code.

The vision is for .NET Core to be truly cross-platform, and while it's not quite there yet, Microsoft intends to add Linux and Mac implementations of components for these platforms in coming months, just like with its .NET open source efforts.

Today's release contains around 2.6 million lines of code made up of C# and C++. CoreCLR is similar to CoreFX, which Microsoft released previously, however the latter is all C#. Together, they represent around five million lines of code.

Microsoft said it based its cross-platform capabilities on CMake, a set of tools to build, test, and package software.

"We needed a build system that we could use on Windows, Linux, and Mac and that could build for each of those targets. We looked around at the options, and also based on advice, selected CMake," Microsoft 's .NET team said.

Read more about .NET

Editorial standards