Microsoft heeft de C++-standaardbibliotheek die bij Visual Studio wordt geleverd, als open source beschikbaar gesteld

Op de CppCon 2019-conferentie die tegenwoordig plaatsvindt, heeft Microsoft kondigde het over het openen van de code van zijn implementatie van de C++ Standard Library (STL, C++ Standard Library), die deel uitmaakt van de MSVC-toolkit en de Visual Studio-ontwikkelomgeving. De bibliotheek implementeert de mogelijkheden die worden beschreven in de huidige C++14- en C++17-standaarden, en evolueert ook naar ondersteuning voor de toekomstige C++20-standaard, na wijzigingen in het huidige werkconcept. Code is open onder de Apache 2.0-licentie met uitzonderingen voor binaire bestanden die het probleem oplossen van het opnemen van runtime-bibliotheken in de gegenereerde uitvoerbare bestanden.

Het is de bedoeling dat de ontwikkeling van deze bibliotheek in de toekomst wordt uitgevoerd als een open project ontwikkeld op GitHub, waarbij pull-aanvragen van externe ontwikkelaars worden geaccepteerd met correcties en de implementatie van nieuwe functies (deelname aan de ontwikkeling vereist ondertekening van een CLA-overeenkomst over de overdracht van eigendomsrechten op de overgedragen code). Opgemerkt wordt dat de overdracht van STL-ontwikkeling naar GitHub Microsoft-klanten zal helpen de voortgang van de ontwikkeling te volgen, te experimenteren met de nieuwste wijzigingen en binnenkomende verzoeken voor het toevoegen van innovaties te helpen beoordelen.

Open source zal de gemeenschap ook in staat stellen kant-en-klare implementaties van functies uit de nieuwe standaarden in andere projecten te gebruiken. Zo is er voor de codelicentie gekozen om de mogelijkheid te bieden code te delen met de bibliotheek libc++ van het LLVM-project. STL en libc++ verschillen in de interne representatie van datastructuren, maar indien gewenst kunnen libc++-ontwikkelaars interessante functionaliteit van STL overbrengen (bijvoorbeeld charconv) of beide projecten kunnen gezamenlijk enkele innovaties ontwikkelen. De uitzonderingen die aan de Apache-licentie zijn toegevoegd, verwijderen de vereiste om het gebruik van het originele product te vermelden bij het leveren van binaire bestanden die met de STL zijn gecompileerd aan eindgebruikers.

De belangrijkste doelstellingen van het project zijn onder meer volledige naleving van de specificatievereisten, het garanderen van hoge prestaties, gebruiksgemak (foutopsporingstools, diagnostiek, foutdetectie) en compatibiliteit op broncodeniveau en ABI met eerdere releases van Visual Studio 2015/2017. Tot de gebieden waar Microsoft niet in geïnteresseerd is, behoren het porten naar andere platforms en het toevoegen van niet-standaard extensies.

Bron: opennet.ru

Voeg een reactie