Microsoft stellt die eigene Implementierung der C++ Standard Library (STL) für MSVC unter die Apache-2.0-Lizenz mit LLVM-Ausnahmen.
Hinter MSVC verbirgt sich das “Microsoft Visual C++ Compiler and Libraries Toolset”. Ziel der Übung sei es, den MSVC zum Compiler der Wahl für die Windows-Plattform zu machen. MSVC soll C++ besser unterstützen, sinnvollere Fehlermeldungen und Warnung ausgeben, stabiler und performanter laufen und sicherer werden. Dabei habe die Anpassung an den C++-Standard laut Blogpost die oberste Priorität.
Helfen sollen dabei offenbar viele Freiwillige. Das könnte klappen, weil Microsoft den Code für die angepasste Standardbibliothek nun auf Github anbietet. Kunden können also selbst Patches senden und Pull Requests stellen. Das Unternehmen erhofft sich von dem Schritt zudem einen besseren Austausch mit den LLVM-Entwicklern: Microsofts STL und die Libc++ des LLVM-Projekts seien nach wie vor unterschiedliche Bibliotheken, aber womöglich könne man bestimmte Features nun austauschen. Womöglich treibt Microsoft bei der Entscheidung also auch die Angst, aufgrund der wachsenden Popularität des LLVM-Projekts ins Hintertreffen zu geraten.
Auf der anderen Seite veröffentlicht Microsoft nicht den Quellcode der anderen Komponenten und Bibliotheken rund um MSVC. Die STL steche hervor, weil sie – anders als andere MSVC-Bibliotheken – vom C++ Standardization Committee entwickelt werde und sich schnell verändere. Die Umstellung des Buildsystems, der Testinfrastruktur und des Issue Tracking mache es zugleich nötig, die Arbeit an einigen C++20-Features vorübergehend zu verlangsamen.




