Open source .NET: CoreCLR now on GitHub

DevToolsGuy / Friday, April 24, 2015

At the beginning of February, Microsoft announced their release of CoreCLR on GitHub, where developers can now get their hands on the roughly 2.6 million lines of source code of which it is comprised. This move comes as part of their wider open sourcing of the .NET Core and a lot of people are already finding interesting ways of using the code. The releases are currently restricted to Windows, but will soon be available in Linux and Mac OS too (although there are means of getting at it already from different Operating Systems as this article explains).

We looked at Microsoft’s choice to begin outsourcing some of their proprietary coding in an earlier post and it’s exciting to see how these releases are panning out. For years - ever since they released .NET in 2002 - this information was kept well under wraps. The community are, of course, ecstatic about this move and for many, the ability to access, fork, clone and copy Microsoft’s fundamental codes is a big deal. What this means for developers, how the community can get involved and what the repercussions of Microsoft’s open sourcing will be are all compelling questions. In this post we’ll be delving into these issues.

CoreCLR - an overview

The .NET Framework is built out of a collection of interrelated architectures which relate to one another and is mainly written in C#. The CoreCLR fits in underneath the various parts of this structure and has the fundamental role of compiling code into machine language. It also has other functions such as garbage collection and IL bytecode loading.

Microsoft have explained that since originally launching .NET, they’ve gradually built in various verticals with different APIs into the overall architecture which have the same source code. Each of these projects was run by different teams and gradually ended up working at different paces on different projects. This was fine to begin with but it eventually became clear that building in horizontal components shared across the different verticals was becoming increasingly complex. The underlying aim of the .NET Core project therefore, is to write one code base which is interoperable across the whole platform and the choice to invite the developer community in here is part of a bid to gradually improve the whole structure. Open Sourcing CoreCLR was therefore a necessary but significant step in this process.

How can developers get involved?

Besides diving straight in and playing with CoreCLR’s code, there are a number of sources of guides and information on the release. The Mono Project is aimed at supporting the open sourcing of the .NET framework in general and it has handy guides for developers including a specific wiki for CodingCore CLR and this is a great place to start. Mono also has a community section where questions and topics can be discussed. In addition, GitHub also includes developer guides for working on CoreCLR.

So what’s Microsoft's game plan? 

There’s a variety of reasons that Microsoft are going down this route of open sourcing their code bases. While for many coders this is a dream come true - and something they’ve been waiting on for years - Microsoft have bigger motives than simply keeping the coding community happy. In many ways the CoreCLR is their “secret ingredient”, so releasing it to the world at large might seem like an illogical move. Why let everyone get their hands on the highly advanced code they’ve kept secret for so long; is this not a risky strategy?

It says a lot about Microsoft’s confidence of their place in the world that they’re ready and willing to reveal this information at all; only a company which is so assured of its relevance would take such a step. However, beyond this, there are a number of other reasons why they would release this data.

To a degree, Microsoft are drawing on the intelligence of the crowd. In their announcements about open sourcing, Microsoft have expressed their confidence in the open source community - through long experience they’ve come to recognize that collaboration with the community can in fact be very useful. When developers fork, clone and copy code they can make real contributions to Microsoft’s overall plans of developing .NET.

It’s a win win situation however, as developers too can take advantage of this information. It can help inform builds and projects, and give an insight into Microsoft’s internal code writing, which really is state of the art.

Get involved

By making CoreCLR available on GitHub, Microsoft have demonstrated their dedication to a more transparent and open business model, yet also displayed their confidence in their position in the world. For devs this is also an exciting opportunity to contribute to .NET and help better understand Microsoft’s work.

Want to see what the fastest grid on the market can do for you? Download Infragistics ASP.NET Data Grid and enjoy the ride!