CoreCLR: Microsoft macht .NET-Engine zu Open Source

Microsoft (Bild: Microsoft)

Den Quellcode veröffentlicht der Softwarekonzern unter der MIT-Lizenz auf GitHub. Microsoft macht damit den nächsten Schritt, um den kompletten serverseitigen Core-Stack als Open Source freizugeben. Dadurch soll die plattformübergreifende Anwendungsentwicklung vereinfacht werden.

Microsofts CoreCLR, die Ausführungsengine für den .NET-Framework-Zweig .NET Core, ist ab sofort Open Source. Damit ist der Konzern einen Schritt weiter, um das Versprechen einzulösen, den kompletten serverseitigen Core-Stack als Open Source unter der MIT-Lizenz freizugeben. Ziel ist es, die Anwendungsentwicklung für windowsbasierte Mobile-, Desktop- und Server-Umgebungen zu vereinfachen.

Bereits im April 2014 hatte Microsoft mitgeteilt, dass es Teile der Entwicklertechniken als Open Source verfügbar machen will. Dazu zählen auch ASP.NET, die unter dem Codenamen “Roslyn” entwickelte .NET-Compiler-Plattform, das .NET Micro Framework, .NET.Rx und die Programmiersprachen VB sowie C#. Zur Verwaltung “einer wachsenden Sammlung von Open-Source-Technologien” gründete es außerdem die .NET Foundation.

Darüber hinaus kündigte Microsoft gegen Jahresende an, die .NET Runtime für Linux und Mac OS zu portieren und .NET Core zum Fundament aller künftigen .NET-Releases zu machen. In Zukunft soll es das Kernstück mehrerer .NET-Frameworks für unterschiedliche Geräte und Plattformen bilden.

Microsoft .NET Logo (Bild: Microsoft)

Nun hat der Softwarekonzern den Quelltext für die gesamte .NET Core Common Language Runtime – kurz CoreCLR – auf GitHub freigeben. Dies umfasst auch RyuJIT, .NET GC, native Interoperability und weitere NET-Runtime-Komoponenten. Mit CoreCLR lassen sich Funktionen wie Garbage Collection ausführen und Maschinencode kompilieren.

“Diese Veröffentlichung folgt auf unser vorheriges Release der Kernbibliotheken. Beide zeugen von unserem starken Bekenntnis, eine vollständige plattformübergreifende .NET-Implementierung verfügbar zu machen”, schreibt das .NET-Team in einem Blog. Das schließe auch Komponenten für Linux und Mac OS ein.

Rund 5 Millionen Codezeilen

Etwa 2,6 Millionen Codezeilen in C# und C++ enthält das heutige Release. CoreCLR ähnelt CoreFX, das Microsoft schon zuvor freigegeben hat. Allerdings umfasst letzteres nur C#. Gemeinsam kommen beide auf rund 5 Millionen Codezeilen, wenn .NET Core vollständig auf GitHub verfügbar wird.

Entwickler müssen unterschiedliche Toolsets verwenden, um C#- und C++-Code zu erstelle, da das .NET CoreCLR Repository sowohl C#- als auch C++-Codesammlungen enthält. Darunter befinden sich auch Werkzeuge, die nicht von Visual Studio bereitgestellt werden. Der Developer Guide bietet einen Überblick.

Microsoft setzt für die plattformübergreifende Programmierung auf CMake, eine freie Werkzeugsammlung zum Erstellen, Testen und Packen von Software. “Wir brauchten ein Build-System, das wir unter Windows, Linux und Mac OS nutzen können und mit dem sich für alle diese Zielplattformen entwickeln lässt. Wir haben uns verschiedene Optionen angesehen und uns – auch auf Ratschläge hin – für CMake entschieden.”

[mit Material von Björn Greif, ZDNet.de]