Le langage de programmation Rust est devenu si populaire que l'équipe responsable de son développement a décidé de monter une équipe dédiée à la définition du style de codage Rust par défaut. La structure de Rust délègue la plupart des décisions à l'équipe appropriée. Cependant, une grande partie du travail ne relève pas de la compétence d'une équipe établie. Le projet Rust a publié ses plans pour un nouveau modèle de gouvernance, suite à la crise de 2021 qui a conduit à la démission de l'équipe mod.
L'équipe de modération du langage de programmation Rust avait annoncé sa démission le 22 novembre 2021 avec effet immédiat. La démission a été présentée par le biais d'une demande de retrait sur GitHub, dans laquelle Andrew Gallant, membre de l'équipe, a écrit que l'équipe démissionnait « pour protester contre le fait que l'équipe principale ne rendait de comptes à personne d'autre qu'elle-même ».
« En raison de cette absence de responsabilité structurelle, nous n'avons pas été en mesure de faire respecter le code de conduite de Rust selon les normes que la communauté attend de nous et selon les normes que nous nous imposons », poursuit Gallant, avant de faire quatre recommandations spécifiques à la communauté Rust sur la façon d'aller de l'avant.
Rappelons que Rust est un langage de programmation compilé multiparadigme, conçu par Graydon Hore alors employé chez Mozilla Research, avec la contribution du créateur de JavaScript Brendan Eich. Utilisé par plusieurs grandes entreprises et par de nombreux développeurs dans le monde, Rust est devenu le langage de base pour certaines des fonctionnalités fondamentales du navigateur Firefox et de son moteur Gecko, ainsi que pour le moteur Servo de Mozilla.
Avec Rust, il est possible de développer des pilotes de périphériques, des systèmes embarqués, des systèmes d'exploitation, des jeux, des applications web, et bien d'autres choses encore. Des centaines d'entreprises dans le monde entier utilisent Rust en production pour des solutions multiplateformes et économes en ressources. Des logiciels connus et appréciés, comme Firefox, Dropbox, et Cloudflare, utilisent ce langage. De la startup à la multinationale, du système embarqué au service web à haute disponibilité, Rust serait une excellente solution.
La communauté du langage Rust avait été laissée en plein désarroi suite à cette démission de l'ensemble de l'équipe de modération. L'équipe a également demandé que « les membres de l'équipe Rust parviennent à un consensus sur un processus de supervision de l'équipe principale », reconnaissant qu'être modérateur est « une tâche ingrate, et nous n'avons pas fait de notre mieux pour recruter de nouveaux membres. » La gouvernance de Rust est formée de 10 équipes, l'équipe principale étant chargée de « gérer la direction générale de Rust, la direction des sous-équipes et toute question transversale. »
En 2021, AWS, Huawei, Google, Microsoft et Mozilla se sont associées pour lancer la fondation Rust et se sont engagées à lui consacrer un budget de deux ans à hauteur d'un million de dollars. Ce budget permettra au projet de développer des services, des programmes et des événements qui aideront les responsables du projet Rust à développer le meilleur Rust possible.
L'annonce a été faite par Ashley Williams, Directeur exécutif par intérim de la fondation, le 8 février sur le site Internet de l'organisation. « Aujourd'hui, au nom de l'équipe de Rust, je suis heureux d'annoncer la création de la Fondation Rust, une nouvelle organisation indépendante à but non lucratif chargée de gérer le langage de programmation et l'écosystème Rust, en mettant l'accent sur le soutien de l'ensemble des responsables qui régissent et développent le projet ».
Facebook a rejoint la Fondation Rust, l'organisation qui soutient le langage de programmation Rust. Rust est l’un des langages de programmation les plus appréciés et dont la croissance est la plus rapide à l'heure actuelle. Outre l'arrivée de nouveaux talents dans son équipe Rust, Facebook a annoncé qu'elle rejoignait officiellement l'organisation à but non lucratif fondé en février 2021. « Facebook Open Source est heureux d'annoncer son soutien à la fondation Rust en qualité de membre important. Aux côtés des autres membres de la fondation, Facebook s'engage à soutenir et à faire croître l'écosystème et la communauté open source Rust », a indiqué Facebook sur son blog.
Le projet Rust dévoile sa nouvelle « constitution »
Le projet Rust interagit avec la Rust Foundation, qui gère principalement les actifs financiers de Rust, mais en est séparée. Le projet open source Rust, qui gère les standards du langage, a publié un nouveau plan de gouvernance, cumul de six mois de travail intense. Publié sous forme de demande de commentaires sur GitHub, il va maintenant être soumis à une période de commentaires. Il doit être ratifié par les chefs d'équipe avant d'être accepté.
Motivation
Historiquement, l'équipe centrale identifiait les tâches importantes qui n'étaient pas du ressort de l'équipe et tentait de les réaliser elle-même. Cependant, le fait de confier ces deux activités à la même équipe n'a pas eu d'impact et a conduit à l'épuisement.
Le conseil de direction établi par ce RFC se concentre sur l'identification et la priorisation du travail en dehors des compétences de l'équipe. Le Conseil délègue principalement ce travail, plutôt que de le faire lui-même. Le Conseil peut également servir d'organe de coordination, d'organisation et de responsabilité entre les équipes, par exemple pour les efforts inter-équipes, les feuilles de route et le succès à long terme du projet.
Ce RFC établit également des mécanismes de surveillance et de responsabilité entre le Conseil dans son ensemble, les membres individuels du Conseil, l'équipe de modération, les équipes du Projet et les membres du Projet.
Rust est devenu si populaire qu'une équipe dédiée a été présentée pour la définition du style de codage Rust par défaut. Il n'est pas surprenant que Rust connaisse une croissance rapide. D'autant plus que le gouvernement américain l'a indirectement approuvé récemment.
« Nous sommes actuellement dans une période de croissance, a déclaré Rebecca Rumbul, directrice exécutive et PDG de la Rust Foundation. Le gouvernement américain s'est levé devant les gens pour dire qu'il fallait utiliser des langages à mémoire sécurisée comme Rust par défaut pour certains types de projets, afin de garantir un bon niveau de sécurité. Nous avons donc reçu énormément de soutien et d'encouragements de la part des gens pour qu'ils adoptent Rust. »
La communauté Rust compte aujourd'hui plus de 2 millions de développeurs, qui construisent avec près de 100 000 compilations Rust, selon la Fondation. En effet, une enquête menée par Stack Overflow auprès d'environ 71 000 personnes a révélé qu'il s'agissait du langage le plus aimé.
« C'est un langage vraiment utile et vraiment performant, a déclaré Rumbul. La polyvalence qu'il offre, la vitesse et les performances qu'il fournit, la sécurité qu'il offre - il coche beaucoup de cases pour beaucoup de gens. » Chaque langage a des guides de style et, s'il est assez populaire, peut avoir plusieurs guides de style d'utilisateurs majeurs, comme Google, qui a son guide pour C++ (le langage dans lequel Chrome est écrit). Guido van Rossum de Python a également publié ses conventions de style.
Rust a un guide de style dans le "rustfmt" ou "Rust formatting tool" publié sur GitHub. L'outil formate automatiquement le code Rust pour permettre aux développeurs de se concentrer sur la sortie et vise à réduire la courbe d'apprentissage abrupte à laquelle sont confrontés les nouveaux développeurs Rust. Le guide demande aux développeurs « d'utiliser des espaces, pas des tabulations » et indique que « chaque niveau d'indentation doit être de 4 espaces », par exemple.
Comme l'explique Josh Triplett dans un récent billet de blog Rust : « Le style standardisé aide les développeurs Rust à se sentir à l'aise et à l'aise dans de nombreux projets différents, et le support d'outils de rustfmt facilite la maintenance et l'intégration dans l'intégration continue ».
Rust a été créé en 2006 et a été maintenu au sein de Mozilla jusqu'à récemment. La Fondation Rust n'a que deux ans d'existence. Son premier objectif était de s'étendre au-delà de son unique sponsor pour atteindre, eh bien, plus. Aujourd'hui, il s'agit d'une collaboration internationale et interprofessionnelle entre 40 entreprises de toutes tailles et de tous secteurs. Cela peut être un cadeau et une malédiction, car les mainteneurs peuvent être épuisés par l'afflux de nouveaux utilisateurs.
« Nous devons nous assurer que Rust peut faire face à cela », a déclaré Rumbul. « C'est génial que tout le monde vienne à la fête, mais nous devons nous assurer que toute notre infrastructure est capable de faire face à cela, que nos mainteneurs ne sont pas épuisés à cause de toutes ces nouvelles personnes qui leur demandent des conseils et qui ont besoin d'attention. Notre priorité est simplement de nous assurer que Rust peut évoluer, mais qu'il peut le faire efficacement sans que les gens s'épuisent ou que l'infrastructure s'effondre. »
La fondation détient la marque Rust mais ne dicte pas les normes. C'est le travail du projet open source Rust, un groupe distinct qui travaille avec la fondation. La fondation se concentre plutôt sur la sécurité, l'éducation et la coordination entre ceux qui travaillent avec Rust.
Selon l'édition d'octobre 2022 de l'index Tiobe, le langage de programmation Rust gagne en popularité parmi les développeurs. Il est désormais placé en 20e position, contre une 26e place durant la même période l'année dernière. Il s'agit de la seconde fois qu'il entre dans le top 20 de Tiobe, après avoir culminé à la 18e position en septembre 2020, quelques mois après avoir atteint la version 1.0.
Paul Jansen, PDG de Tiobe Software, voit en Rust comme une « petite menace » pour C et C++ », deux langages qui pourraient être remplacés par Rust dans de nouveaux projets, selon certains développeurs, en raison de sa meilleure gestion de la sécurité de la mémoire.
La structure de gouvernance originale du projet Rust a évolué à partir de Mozilla, où Rust a débuté et a été nourri pendant des années. Vers 2016 ou 2017, une demande de commentaires a été publiée, établissant la gouvernance du projet Rust, a déclaré Triplett. Elle a créé environ six équipes, dont les équipes core, language, mod, library et cargo.
Parmi les problèmes de l'ancien modèle, l'équipe centrale est devenue responsable non seulement de la supervision des problèmes qui se posaient, mais aussi de leur résolution, a déclaré Triplett. Cela a conduit à l'épuisement et à des problèmes, a déclaré JT Turner, l'un des co-auteurs du nouveau modèle et membre de l'équipe centrale de Rust.
« Il n'y a pas moyen de porter autant de chapeaux et de faire autant de choses, a-t-il déclaré. Auparavant, l'équipe centrale était composée uniquement de chefs d'équipe, et les chefs d'équipe relevaient de l'équipe centrale. Vous deviez diriger une équipe et vous concentrer sur celle-ci et sur la gouvernance globale, et pour beaucoup de gens, c'était juste beaucoup, beaucoup trop de travail pour essayer de faire les deux, à moins d'être payé à temps plein. »
Triplett a convenu que c'était trop pour une seule équipe. « Idéalement, ils feraient des équipes et délégueraient et ils l'ont parfois fait, a-t-il dit. Mais au bout du compte, ils se noyaient sous les menus détails, parce qu'ils étaient l'équipe du divers. Et tout cela était important, mais en même temps, c'était trop de travail pour une seule équipe. »
En définitive, l'ancien modèle de gouvernance n'était « pas un document très précis », ajoute Triplett. « C'est l'une des choses qui a conduit à la crise de gouvernance ». Rust n'est pas le premier groupe open source à connaître des difficultés de croissance publiques : Node.js a également connu une crise de gouvernance, en 2014, qui a en fait brièvement fait bifurquer le framework.
Une transition pacifique
Une telle querelle publique aurait pu faire tomber n'importe quelle organisation bénévole, mais au lieu de cela, le projet Rust s'est regroupé et a décidé qu'il devait affronter le conflit de front. Depuis août dernier, le projet Rust travaille sur un nouveau modèle de gouvernance. Le projet Rust a passé six mois intenses à travailler sur les conflits - via Zoom, pas moins - mais le groupe a pu trouver de nouvelles solutions aux anciens problèmes, a déclaré Turner.
« Nous nous sommes tous réunis et avons dit : 'Faisons quelque chose qui peut être plus flexible, qui fonctionne un peu mieux à long terme' », ont-ils déclaré. « Nous savions que la gestion des conflits de manière constructive était un aspect sur lequel nous devions nous pencher. C'est donc ce que nous avons commencé à pratiquer en tant que groupe : OK, conflit, super, penchons-nous dessus, essayons de comprendre ce qui sous-tend le conflit, déterrons les principes fondamentaux, puis utilisons ces principes pour créer une solution. »
Le nouveau plan de gouvernance indique quand le projet Rust peut créer une nouvelle équipe, ce qui se passe lorsqu'une équipe a terminé son travail et doit se retirer, et comment réorganiser les équipes au sein du projet, a expliqué M. Triplett. Il crée un nouveau conseil de haut niveau, composé cette fois de membres de chacune des autres équipes. Il prévoit également des freins et contrepoids, comme la Constitution américaine, pour faire face aux problèmes.
« Nous avons besoin d'une structure organisationnelle de haut niveau qui nous permette de prendre ces décisions de manière raisonnablement opportune, et nous avons opté pour une structure représentative dans laquelle chaque équipe de haut niveau envoie un représentant à un conseil, et ce conseil peut prendre des décisions au nom de ces équipes ou renvoyer les choses à ces équipes », a déclaré Triplett.
Sources : Rust,
Et vous ?
Quel est votre avis sur le sujet ?
Que pensez-vous de la gouvernance open source ?
Utilisez-vous le langage Rust ?
Que pensez-vous du langage Rust et de la gouvernance au sein de Rust ?
Voir aussi :
Démission de toute l'équipe de modération de Rust, pour protester contre le fait que l'équipe principale ne rendait de comptes à personne d'autre qu'elle-même
Facebook rejoint AWS, Huawei, Google, Microsoft et Mozilla dans la Fondation Rust, et renforce son équipe Rust par des nouveaux talents
Microsoft, Google, AWS, Huawei et Mozilla s'associent pour créer la Fondation Rust, une organisation à but non lucratif chargée de gérer le langage de programmation
Le langage de programmation Rust gagne en popularité parmi les développeurs et fait son entrée dans le top 20, selon Tiobe. Python, Java, C et C++ s'accaparent à eux seuls de 55% de parts de marché
Le projet Rust a publié ses plans pour un nouveau modèle de gouvernance
Suite à la crise de 2021 qui a conduit à la démission de l'équipe mod
Le projet Rust a publié ses plans pour un nouveau modèle de gouvernance
Suite à la crise de 2021 qui a conduit à la démission de l'équipe mod
Le , par Bruno
Une erreur dans cette actualité ? Signalez-nous-la !