Microsoft versucht, Vertrauen in .NET-Bibliotheken von Drittanbietern aufzubauen

Microsoft beklagt, dass viele Entwickler in der .NET-Community nur ungern Bibliotheken verwenden, die nicht von Microsoft erstellt wurden, und möchte .NET-Entwicklern dabei helfen, Vertrauensentscheidungen zu treffen und sie zu ermutigen, auf Bibliotheken zu vertrauen, die von Dritten entwickelt wurden.

In einem Dokument, das am 14. Dezember auf GitHub veröffentlicht wurde, schrieb Immo Landwerth, Programmmanager des Microsoft .NET Framework-Teams, dass Microsoft Kunden gelehrt hat, alle Funktionen von Microsoft zu erwarten. Da Microsoft jedoch nicht alles erstellen kann, insbesondere nicht in dem Tempo, in dem sich andere Open Source-Ökosysteme entwickeln, muss der Satz vertrauenswürdiger Bibliotheken für .NET „über Microsoft hinauswachsen“.

Microsoft muss die Praxis normalisieren, dass Anwendungsentwickler sich auf Bibliotheken verlassen können, die nicht vom Unternehmen kontrolliert werden, bemerkte Landwerth und fügte hinzu, dass ein Kulturwandel bei Microsoft erforderlich sein wird, um dies zu erreichen. Ziel der geplanten .NET 6-Version ist es daher, eine Vision zu fördern, die das Vertrauen in Bibliotheken von Drittanbietern umfasst. .NET 5 ist gerade im Oktober angekommen, während .NET 6 im November 2021 erwartet wird.

Landwerth schrieb, dass die Wahrnehmung besteht, dass andere Ökosysteme, insbesondere Java, JavaScript und Python, eine größere technologische Vielfalt und damit „ein insgesamt stärkeres Open-Source-Ökosystem“ aufweisen. Er bemerkte auch die Wahrnehmung, dass Microsoft die Luft aus dem .NET-Ökosystem „saugt“, weil Microsoft-Lösungen normalerweise beworben und häufig eng in die Plattform integriert werden, wodurch vorhandene Lösungen weniger attraktiv werden.

Um diese Probleme zu lösen, muss Microsoft laut Landwerth mit den Eigentümern vorhandener Bibliotheken zusammenarbeiten, um deren Qualität zu verbessern und die Integration in die .NET-Entwicklererfahrung zu verbessern. Microsoft habe dies bereits mit gRPC, OpenTelemetry und Apache Spark / Arrow getan, fügte er hinzu.

Laut Landwerth ist auch eine Änderung des Ansatzes erforderlich, wenn neue Netztechnologien geschaffen werden, für die es noch kein Ökosystem gibt. Anstatt alles zu erstellen, sollten Projekte so erstellt werden, dass Microsoft nicht der einzige Betreuer ist. Externe Mitwirkende sollten gesucht werden. Laut Landwerth gibt es auch ein Problem mit dem Support, da Microsoft-produzierten Code immer unterstützt wird, Code von anderen nicht.

In dem Dokument wurde betont, dass Erfahrungen von Drittanbietern genauso gut sein können wie Erfahrungen von Erstanbietern, und es wurde der Schluss gezogen, dass für optionale Komponenten für .NET ein kuratierter Erkennungs- und Erfassungsprozess erforderlich ist. Mit .NET 6 und der Unterstützung mobiler Workloads wechselt Microsoft zu einem Modell, bei dem ein Teil von .NET optional ist. Dies stellt sicher, dass das Kernprodukt klein und „bissig“ zu installieren ist und gleichzeitig die gesamte Breite der .NET-Plattform unterstützt.