5 bonnes pratiques pour utiliser les classements de la communauté open source

  • FrançaisFrançais



  • Il faut une communauté de personnes aux compétences et expertises variées pour créer un logiciel open source. Les classements sont devenus un moyen pour les communautés open source de suivre les progrès, de présenter et de célébrer les contributeurs les plus performants. Si les classements sont bien faits, ils peuvent augmenter la participation, motiver les contributeurs avec la ludification et améliorer la communauté. Mais les classements peuvent également avoir des résultats négatifs, notamment décourager la participation.

    La communauté CHAOSS (Community Health Analytics Open Source Software), un projet de la Linux Foundation, se concentre sur la normalisation de la santé et des métriques des projets open source. Les classements sont un sujet qui revient sans cesse au cours de ces conversations. Initialement, ce billet de blog était une présentation que j’avais faite pour En amont 2021, les Montée des marées événement qui a donné le coup d’envoi à la Maintainer Week, une célébration d’une semaine des mainteneurs open source. Cet article explorera cinq meilleures pratiques pour aider les communautés à utiliser avec succès les classements et à améliorer la santé de leur projet grâce à des métriques.

    Que sont les classements ?

    Les classements affichent les classements d’un groupe de personnes ou d’entreprises. Les classements fonctionnent très bien dans les sports où les athlètes concourent avec le même objectif de courir le plus vite, de sauter le plus loin ou de soulever le plus de poids. Il n’y a pas une telle concurrence dans les communautés open source, et le contexte est beaucoup plus complexe, mais les classements peuvent toujours être utiles. Par exemple, Informations sur GitHub montre les contributeurs avec le plus de commits dans un référentiel, ce qui montre en un coup d’œil si une communauté a plus d’un ou deux contributeurs actifs. Un autre exemple est le Marché Drupal, un classement des entreprises classées sur la base d’un algorithme créé par la communauté récompenser les entreprises mieux positionnées pour être actives dans la communauté.

    Le graphique ci-dessus montre deux exemples de sites mesurant l’implication de la communauté :

    • Sur la gauche, GitHub Insights pour le référentiel de la communauté CHAOSS montre les auteurs de commit les plus actifs.
    • Sur la droite, Drupal Marketplace montre les entreprises qui obtiennent le score le plus élevé pour leurs contributions à Drupal, mais sans révéler le score exact et uniquement le classement.

    Pourquoi utiliser les classements dans les communautés open source ?

    Les communautés open source dépendent de contributions volontaires, qu’elles soient de la part d’individus ou d’employés de l’entreprise (où une entreprise attend d’un employé qu’il consacre un certain temps à soutenir un projet open source spécifique). Le suivi des principaux contributeurs aide les gens à voir facilement qui est actif, ce qu’ils accomplissent et qui est derrière un projet.

    Les classements créent un sentiment de communauté pour les contributeurs, où certains membres sont mis en évidence pour leur travail open source. Les contributeurs qui aiment la compétition et aiment s’engager dans des activités comptées pour le score du classement, le désir d’être sur le classement peut inspirer une participation accrue. Ce récit rend tentant d’utiliser les classements dans les communautés open source. Cependant, les contributeurs qui participent d’une manière qui ne sont pas comptabilisés dans le score n’auraient aucune chance d’apparaître dans le classement et pourraient en être découragés. Cela montre l’importance de comprendre le fonctionnement des classements avant d’en utiliser un dans une communauté open source.

    Comment fonctionnent les classements

    Il existe plusieurs théories derrière les principes de fonctionnement des classements pour inciter les gens. Pourtant, principalement, les classements servent à satisfaire un besoin humain pour la compétence, l’autonomie et les relations sociales, ainsi qu’une tendance humaine à se classer et à se comparer pour mieux comprendre nos capacités. Gamification inspire la compétition avec une conception continue d’objectifs-récompenses.

    Le schéma ci-dessous est une représentation imparfaite du fonctionnement des classements open source, car il ignore les éléments sociaux de l’engagement communautaire. L’activité de la communauté est enregistrée sous forme de données de trace, qu’un algorithme de notation convertit en un score qui détermine le classement dans le classement. Les membres de la communauté réagissent au classement et peuvent modifier leur activité communautaire, ce qui, à son tour, peut influencer leur classement dans le classement.

    Cependant, les classements doivent être bien conçus pour être efficaces. Les classements notent les contributeurs en fonction d’algorithmes et de données spécifiés. Le score indique la progression vers une mesure de réussite, telle que déterminée par ce qu’un classement est conçu pour mesurer. Les communautés open source peuvent utiliser les données de trace. Ce type de données est transparent, mais il est créé « accidentellement » et contient des informations personnellement identifiables (PII) telles que des noms et des e-mails. Cela signifie que les données utilisées pour les classements doivent être soigneusement obtenues et utilisées dans le respect des lois sur la confidentialité, telles que le RGPD de l’Union européenne.

    Par exemple, GitHub Insights utilise les commits comme données qui sont additionnées. Les contributeurs sont notés en fonction du nombre de commits qu’ils ont contribués à un référentiel open source. Cet exemple simple démontre la limitation des classements. Étant donné que les classements reposent sur un algorithme de notation, tout ce qui ne peut être réduit à un score est ignoré. Dans l’exemple, la complexité et la valeur des commits sont ignorées. Ainsi, un correctif de vulnérabilité qui élimine un risque de cybersécurité est compté avec la même valeur qu’un correctif de faute de frappe dans la documentation.

    Cela nous amène au problème de la gamification. Les principes de gamification stipulent que si les contributeurs ne sont pas de capacité égale, les concurrents moins qualifiés deviendront moins motivés car une tâche semble inaccessible. En revanche, les concurrents hautement qualifiés trouveront les activités trop faciles, ce qui finira par les démotiver également. La gamification des classements pousse également les contributeurs à se concentrer sur les activités récompensées dans le score, souvent au détriment d’autres contributions significatives.

    L’engagement open source est une activité sociale, et le réduire à un jeu de nombres peut aliéner de nombreux contributeurs qui auraient autrement rendu la communauté entière. De plus, de nombreuses activités en open source ne peuvent être ni comptées ni mesurées car elles ne laissent aucune trace de données. Par exemple, l’apprentissage, le marketing, la socialisation ou la coordination se produisent à partir d’interactions directes plutôt que de plateformes communautaires. Par conséquent, les classements peuvent aggraver les problèmes rencontrés par l’open source concernant la création d’un environnement accueillant et inclusif – seul un sous-ensemble spécifique de contributeurs peut être récompensé par les classements, quelle que soit la qualité de leur conception.

    Les meilleures pratiques

    J’aimerais pouvoir dire que nous avons les meilleures pratiques pour les classements. La réalité est que les classements sont extrêmement difficiles à bien faire en open source, et les tentatives de création de classements peuvent entraîner des réactions négatives de la communauté.

    Cependant, la communauté CHAOSS a développé les meilleures pratiques autour de la santé du projet et des communautés de mesure pour guider nos réflexions et notre prise de décision.

    • Utilisez une approche par objectifs : Lorsque vous mesurez des communautés open source, par le biais de classements ou autrement, concentrez-vous sur des objectifs spécifiques. Assurez-vous de décider de l’objectif que vous voulez que les gens atteignent et d’être clair sur ce que vous mesurez. Vous obtenez plus de ce que vous commencez à mesurer car cela oriente les membres de la communauté.
    • Évaluer régulièrement la stratégie métrique: Les choses changent et évoluent, et ce qui fonctionne initialement peut ne plus motiver les membres. Changer périodiquement la stratégie métrique ou l’algorithme de notation du classement est également nécessaire pour lutter activement contre la gamification. Pensez également à réinitialiser régulièrement les classements pour accueillir les nouveaux membres de la communauté.
    • Soyez transparent sur votre algorithme de scoring: Invitez les commentaires de la communauté pour en savoir plus sur les conséquences de l’algorithme et révisez l’algorithme en conséquence. Pour être clair, il est normal de ne pas révéler l’algorithme de notation spécifique pour limiter la gamification des membres de la communauté. Ce qui devrait être rendu public, ce sont les types d’activités envisagées pour la notation, qui a décidé de l’algorithme et comment fournir des commentaires.
    • Utilisez plusieurs classements pour différents contextes: En raison des limitations des classements, ils ne peuvent être utiles que pour un cas d’utilisation limité. Par exemple, les efforts d’internationalisation d’une communauté open source pourraient vouloir un classement pour chaque langue, offrant une reconnaissance et des incitations pour une activité clairement définie aux différentes équipes linguistiques. Le même classement serait inutile pour d’autres contextes de la communauté open source.
    • Automatisez les mises à jour continues: Les classements doivent toujours montrer la dernière activité. Cela nécessite des outils qui collectent les données régulièrement et mettent à jour les classements.

    Solutions de métriques open source

    Enfin, il existe plusieurs solutions métriques open source disponibles. Ils ont été développés pour comprendre la santé du projet, pas pour créer des classements. Cependant, ils résolvent le problème de la collecte de données que nous pouvons utiliser pour un algorithme de notation pour les classements.

    Avec une conception réfléchie et dans des contextes limités, les classements peuvent être un excellent moyen d’aider les communautés open source à prospérer, d’inspirer la participation et de célébrer et récompenser les contributeurs. Cependant, nous ne pouvons pas résoudre l’objectif primordial de comprendre et de promouvoir la santé du projet avec les classements. La conférence Upstream 2021 et cet article de blog ne sont qu’un argument et une fonction de forçage pour formaliser les idées dans la conversation en cours autour des classements. Rejoins Communauté CHAOSS pour continuer la conversation.

    Vous pouvez également rejoindre la conversation pour le Table ronde : Tableaux de classement des contributeurs pour encourager une bonne citoyenneté communautaire au Open Source Summit North America 2021 à Seattle, WA.

    Source

    N'oubliez pas de voter pour cet article !
    1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
    Loading...

    Laisser un commentaire

    Votre adresse e-mail ne sera pas publiée.