Microsoft cherche à renforcer la confiance dans les bibliothèques .NET tierces

Déplorant que de nombreux développeurs de la communauté .NET soient réticents à utiliser des bibliothèques non créées par Microsoft, Microsoft souhaite aider les développeurs .NET à prendre des décisions en matière de confiance et les encourager à faire confiance aux bibliothèques développées par des tiers.

Dans un document publié le 14 décembre sur GitHub, «Faire croître l'écosystème .NET», Immo Landwerth, responsable de programme pour l'équipe Microsoft .NET Framework, a écrit que Microsoft a appris aux clients à s'attendre à ce que toutes les fonctionnalités viennent de Microsoft. Mais étant donné que Microsoft ne peut pas tout construire, surtout pas à un rythme auquel d'autres écosystèmes open source évoluent, l'ensemble des bibliothèques de confiance pour .NET «doit se développer au-delà de Microsoft.

Microsoft doit normaliser la pratique selon laquelle les développeurs d'applications peuvent dépendre de bibliothèques non contrôlées par l'entreprise, a noté Landwerth, ajoutant qu'un changement de culture chez Microsoft sera nécessaire pour y parvenir. Ainsi, un objectif de la version prévue de .NET 6 est de promouvoir une vision qui inclut la confiance dans les bibliothèques non-Microsoft. .NET 5 vient d'arriver en octobre tandis que .NET 6 est attendu en novembre 2021.

Landwerth a écrit qu'il existe une perception selon laquelle d'autres écosystèmes, en particulier Java, JavaScript et Python, ont une plus grande diversité technologique et donc «un écosystème open source globalement plus fort». Il a également noté une perception selon laquelle Microsoft «aspire l'air» de l'écosystème .NET parce que les solutions Microsoft sont généralement promues et sont souvent étroitement intégrées à la plate-forme, ce qui rend les solutions existantes moins attrayantes.

Pour résoudre ces problèmes, a écrit Landwerth, Microsoft doit s'engager avec les propriétaires de bibliothèques existantes pour améliorer leur qualité et renforcer leur intégration dans l'expérience des développeurs .NET. Microsoft a déjà fait cela avec gRPC, OpenTelemetry et Apache Spark / Arrow, a-t-il ajouté.

Un changement d'approche est également nécessaire, a noté Landwerth, lorsque de nouvelles technologies nettes sont créées pour lesquelles il n'existe pas encore d'écosystème. Au lieu de tout construire, les projets doivent être créés de manière à ce que Microsoft ne soit pas le seul responsable. Des contributeurs externes doivent être recherchés. Il y a aussi un problème de support, a déclaré Landwerth, avec la perception que le code produit par Microsoft est toujours pris en charge alors que le code d'ailleurs ne l'est pas.

Le document a souligné que les expériences de tiers peuvent être aussi bonnes que les expériences de première partie, et a conclu qu'un processus de découverte et d'acquisition organisé est nécessaire pour les composants facultatifs pour .NET. Avec .NET 6 et la prise en charge des charges de travail mobiles, Microsoft passe à un modèle dans lequel une partie de .NET est facultative. Cela garantit que le produit principal peut être petit et «rapide» à installer tout en prenant en charge toute l'étendue de la plate-forme .NET.