Microsoft veröffentlicht STL-Implementierung auf GitHub

Die MSVC-Implementierung der C++ Standard Library wird künftig als Open-Source-Projekt unter Apache-2-Lizenz weitergeführt.

In Pocket speichern vorlesen Druckansicht 19 Kommentare lesen
Microsoft veröffentlicht STL-Implemetierung auf GitHub
Lesezeit: 3 Min.
Von
  • Rainald Menge-Sonnentag
Inhaltsverzeichnis

Das Team hinter Microsoft Visual C++ (MSVC) hat die Veröffentlichung ihrer Implementierung der C++ Standard Library als Open-Source-Projekt angekündigt. Die Bibliothek ist ab sofort auf GitHub verfügbar und steht unter derselben erweiterten Apache-2-Lizenz wie libc++. Neben der Library findet sich im Repository das zugehörige CMake-Build-System.

Bei Microsoft heißt das Repository ebenso wie die Implementierung STL, auch wenn die Bezeichnung kein Synonym für die C++ Standard Library ist, sondern typischerweise als Akronym für die Standard Template Library steht. Letztere gilt zwar als Grundlage für Erstere, aber beide Bibliotheken existieren unabhängig voneinander, und keine ist ein Superset der anderen.

Das mag vor allem C++-Puristen ärgern, aber unabhängig vom irreführenden Namen ist Microsoft insgesamt recht schnell mit der Implementierung aktueller Entwicklungen bei der C++ Standard Library. Das ist wohl auch die Hauptmotivation für die Open-Source-Legung.

Einerseits sollen andere Entwickler Gelegenheit bekommen, Implementierung einzelner Features von Microsoft zu übernehmen und andererseits erhofft sich das MSVC-Team von der Offenlegung Beiträge aus der Community für die Umsetzungen kommender Features im C++-Standard. Kunden sollen zudem auf die Weise die Entwicklungen leichter verfolgen und Pull Requests begutachten können.

Die Offenlegung bezieht sich aber lediglich auf die Library-Implementierung, und Microsoft plant explizit nicht, weitere Teile des MSVC-Toolsets als Open-Source-Projekte freizugeben. Die anderen MSVC-Bibliotheken und der Compiler werden somit auch weiterhin proprietäre Entwicklungen bleiben. Einzige mittelfristige Ausnahmen sind wohl Support-Librarys für die MSVC STL, aber auch zu deren Freigabe existieren noch keine konkreten Pläne.

Die Library steht unter der erweiterten Apache-2-Lizenz, genauer der von der LLVM Foundation eingeführten "Apache License v2.0 with LLVM Exceptions". Damit sollen Kunden die Library ebenso verwenden können wie bisher, ohne die Lizenz zu verletzen. Außerdem gilt dieselbe Lizenz für die LLVM-Implementierung der C++ Standard Library libc++. Das soll den Austausch von Code zwischen den beiden Implementierungen vereinfachen.

Weitere Details zur Open-Source-Legung der Library lassen sich dem Entwicklerblog bei Microsoft entnehmen. Die MSVC-Implementierung der C++-Standardbibliothek ist auf GitHub zu finden. Microsoft bedankt sich im Blog bei Dinkumware und deren Präsidenten P.J. Plaugr, die für die ursprüngliche Umsetzung der MSVC-Library verantwortlich sind und offensichtlich der Freigabe zugestimmt haben. (rme)