Simple Science

La science de pointe expliquée simplement

# Informatique# Génie logiciel

Examiner les contributions dans des projets Rust open source

Une étude sur les rôles des développeurs payés et des bénévoles dans les projets Rust.

― 11 min lire


Contributeurs Rust :Contributeurs Rust :Payés vs BénévolesRust.payés et des bénévoles dans les projetsAnalyser les rôles des développeurs
Table des matières

Le Logiciel Open Source (OSS) est super important dans notre monde numérique. Pas mal d'entreprises paient maintenant des développeurs pour bosser sur des projets OSS spécifiques. Ces développeurs bossent souvent avec des Bénévoles qui contribuent sans être payés. Mais, les motivations différentes entre les développeurs rémunérés et les bénévoles peuvent parfois créer des conflits, ce qui pourrait menacer la réussite à long terme de ces projets.

Cette étude se concentre sur Rust, un langage de programmation populaire qui est open source et utilisé dans le monde entier. Elle soulève des questions importantes sur la façon dont les développeurs payés et les bénévoles contribuent à ces projets et comment ils se perçoivent les uns les autres.

L'Importance du Logiciel Open Source

L'OSS est devenu essentiel, avec de nombreuses études suggérant que presque tous les programmes utilisent une forme de code open source. Les entreprises ont commencé à adopter l'OSS pour accélérer l'innovation et améliorer les meilleures pratiques. Par exemple, dans le noyau Linux, la plupart des Contributions viennent maintenant de développeurs payés par différentes entreprises, ce qui montre le rôle significatif que jouent les développeurs payés dans l'OSS.

Les entreprises contribuent à l'OSS en assignant des tâches spécifiques à leurs employés liées à ces projets ou en embauchant des bénévoles pour faire des tâches similaires. L'objectif principal de ces entreprises est d'avancer leurs intérêts commerciaux, ce qui peut parfois diverger des objectifs des projets OSS.

Les Rôles des Développeurs Rémunérés et des Bénévoles

Les développeurs payés et les bénévoles ont des raisons différentes de s'impliquer. Les développeurs payés travaillent généralement sur des tâches assignées par leurs employeurs, tandis que les bénévoles contribuent souvent par intérêt personnel ou par envie d'améliorer le logiciel. Cette différence de motivation soulève souvent la question : comment les développeurs payés et les bénévoles se comparent-ils dans leurs contributions aux projets OSS ?

Inquiétudes Concernant l'Implication des Entreprises

L'implication des entreprises dans l'OSS peut soulever des préoccupations. Par exemple, les contributions d'une entreprise pourraient ne pas s'aligner avec les objectifs globaux du projet OSS, menant à d'éventuels conflits. Certaines recherches ont même suggéré qu'une forte présence des entreprises peut menacer l'avenir des projets OSS.

Dans la communauté Rust, il y a eu des préoccupations significatives concernant la participation des entreprises. Beaucoup de développeurs craignent qu'une forte implication d'entreprises comme Amazon puisse influencer négativement la direction du projet.

Questions de Recherche

Pour mieux comprendre les différences entre les développeurs payés et les bénévoles dans l'OSS, cette étude se concentre sur trois questions principales :

  1. Les développeurs payés et les bénévoles diffèrent-ils dans leur comportement de contribution au projet Rust ?
  2. Le fait d'être payé affecte-t-il la probabilité de devenir un contributeur à long terme au projet ?
  3. Comment les bénévoles perçoivent-ils la participation des développeurs payés dans le projet Rust ?

Méthodologie

Pour répondre à ces questions, les auteurs ont mené une étude impliquant des recherches quantitatives et qualitatives. Ils ont analysé les données de contribution du projet Rust et ont également recueilli les avis des développeurs bénévoles à travers une enquête.

Collecte de Données

L'étude a collecté des données sur 4 117 contributeurs à Rust sur une période allant de 2010 à 2021. Ces données incluaient des enregistrements de commits, c'est-à-dire des détails sur chaque changement apporté dans le code. Ces enregistrements contenaient des informations telles que le nom et l'email du contributeur, des horodatages et des descriptions des changements.

Pour garantir l'exactitude, ils ont nettoyé les données pour retirer les entrées provenant de bots automatisés et fusionné plusieurs identités appartenant au même développeur.

Identification des Développeurs Payés

Pour distinguer les développeurs payés des bénévoles, les auteurs ont regardé les adresses email utilisées pour les commits. Les développeurs avec des domaines email d'entreprise étaient catégorisés comme développeurs payés, tandis que ceux avec des domaines email généraux étaient catégorisés comme bénévoles. Malgré quelques inexactitudes dans cette méthode, cela a aidé à classer la majorité des contributeurs correctement.

Comparaison des Développeurs Payés et Bénévoles

La prochaine étape était d'analyser comment les développeurs payés et les bénévoles diffèrent dans leurs contributions. Ils ont examiné trois domaines principaux : la fréquence des contributions (à quelle fréquence les développeurs contribuent), la taille des commits (la quantité de code qu'ils changent) et les catégories de tâches (le type de contributions faites).

Fréquence des Contributions

L'étude a révélé que les développeurs payés, en particulier ceux dans des rôles clés, tendent à contribuer plus fréquemment que leurs homologues bénévoles. Les développeurs clés sont ceux qui sont responsables de la majorité des contributions au projet Rust.

Taille des Commits

En ce qui concerne la taille des contributions, les développeurs payés ont tendance à soumettre des commits plus gros comparés aux bénévoles occasionnels. Cette différence vient du fait que les développeurs payés cherchent souvent à accomplir des tâches spécifiques qui peuvent nécessiter de plus grands changements de code, tandis que les bénévoles peuvent contribuer des changements plus petits pendant leur temps libre.

Catégories de Tâches

Concernant le type de tâches, il a été constaté que les développeurs payés se concentrent davantage sur l'implémentation de nouvelles fonctionnalités par rapport aux bénévoles. Les bénévoles, en revanche, contribuent plus par des travaux de maintenance comme la correction de bugs ou l'amélioration du code existant.

Devenir Contributeurs à Long Terme

L'étude a également cherché à comprendre si le fait d'être un développeur payé impacte la probabilité de devenir un contributeur à long terme au projet Rust. Les contributeurs à long terme (LTC) sont définis comme ceux qui restent actifs dans le projet pendant une période prolongée, généralement trois ans ou plus.

L'analyse a montré que le fait d'être payé influence positivement la probabilité de devenir un LTC. Cela suggère qu'un emploi sécurisé mène souvent à un engagement accru dans les projets OSS, probablement parce que les développeurs payés peuvent consacrer plus de temps et de ressources à leur travail.

Perspectives des Bénévoles sur les Développeurs Payés

Pour comprendre comment les bénévoles perçoivent les développeurs payés, une enquête a été menée. Les résultats de cette enquête ont révélé des sentiments mitigés à propos des développeurs payés parmi les bénévoles.

Accord sur la Fréquence des Contributions

L'enquête a révélé que près de 70 % des répondants croyaient que les développeurs payés contribuent plus fréquemment. Les raisons principales citées pour cette conviction incluaient le fait d'avoir plus de temps pour travailler sur des projets et d'être tenus responsables de leurs contributions par leurs employeurs.

Accord sur la Taille des Commits

Environ 44 % des bénévoles pensaient que les développeurs payés ont tendance à faire des commits plus grands. Cependant, beaucoup étaient incertains ou en désaccord, notant que la taille des contributions peut dépendre des styles de travail personnels plutôt que du statut de paiement.

Accord sur le Focus des Tâches

En termes de focus des tâches, environ 70 % des bénévoles n'étaient pas sûrs si les développeurs payés travaillent principalement sur de nouvelles fonctionnalités. Certains pensaient que les développeurs payés se concentrent sur des tâches bien visibles qui obtiennent de la reconnaissance de leurs employeurs, tandis que d'autres estimaient que les types de contributions variaient selon des missions spécifiques.

Probabilité de Devenir Contributeur à Long Terme

Seulement environ 14 % des bénévoles étaient d'accord pour dire que les développeurs payés sont moins susceptibles de devenir des contributeurs à long terme. Ceux qui n'étaient pas d'accord ont souligné que les développeurs payés sont souvent plus sécurisés dans leurs rôles et peuvent contribuer de manière plus cohérente.

Résumé des Résultats

De l'analyse des contributions et des résultats de l'enquête, plusieurs découvertes importantes ont émergé :

  1. Comportement de Contribution : Les développeurs payés contribuent plus fréquemment que les bénévoles, en particulier ceux dans des rôles clés. Les développeurs payés occasionnels produisent également des commits plus grands.
  2. Focus des Tâches : Les développeurs payés ont tendance à travailler plus sur des fonctionnalités comparés aux bénévoles, qui se concentrent plus sur des tâches de maintenance.
  3. Contribution à Long Terme : Les développeurs payés ont plus de chances de devenir des contributeurs à long terme au projet Rust, probablement grâce à la sécurité de l'emploi et à la capacité de consacrer du temps au projet.
  4. Perceptions des Bénévoles : Beaucoup de bénévoles ont des biais envers les développeurs payés et ne sont pas certains de la nature de leurs contributions.

Implications pour les Communautés Open Source

Les résultats de cette étude peuvent informer les communautés OSS de plusieurs manières. Comprendre la dynamique entre les développeurs payés et les bénévoles peut aider à créer de meilleures structures de gouvernance et des plateformes d'interaction qui encouragent l'harmonie et la productivité.

Concevoir de Meilleures Politiques de Gouvernance

Les communautés OSS peuvent adopter des systèmes de suivi en temps réel qui montrent les contributions. Cette transparence peut aider à traiter d'éventuels biais et favoriser un environnement plus collaboratif. Par exemple, si les bénévoles voient comment les entreprises contribuent à des tâches de maintenance aux côtés du développement de fonctionnalités, cela pourrait améliorer les relations.

Soutenir les Bénévoles

Les bénévoles font souvent face à des défis tels que le manque de temps et de soutien financier. Les communautés OSS pourraient envisager de créer des programmes qui connectent les bénévoles avec des entreprises prêtes à financer leurs contributions aux projets. Ce partenariat peut aider à combler le fossé entre les contributeurs payés et bénévoles.

Reconnaître les Différents Types de Contributeurs

L'étude révèle que la dichotomie entre développeurs payés et bénévoles est trop simpliste. De futures recherches peuvent aider à identifier des sous-groupes parmi les contributeurs en fonction de leurs motivations et de leurs rôles au sein de la communauté. Comprendre ces nuances peut améliorer les collaborations.

Directions de Recherche Future

Il y a beaucoup de domaines pour de futures recherches découlant de cette étude. Évaluer les taux d'acceptation des contributions des développeurs payés par rapport aux bénévoles, comprendre comment différents rôles influencent la durabilité du projet, et explorer les perceptions des développeurs payés eux-mêmes ne sont que quelques exemples.

Conclusion

Cette étude met en lumière les différentes caractéristiques des développeurs payés et des bénévoles dans les projets OSS, spécifiquement au sein de la communauté Rust. En éclairant leurs comportements de contribution, leurs motivations et leurs perceptions, elle vise à favoriser une meilleure compréhension de la création d'environnements OSS durables et harmonieux où les deux types de contributeurs peuvent prospérer.

Source originale

Titre: How Are Paid and Volunteer Open Source Developers Different? A Study of the Rust Project

Résumé: It is now commonplace for organizations to pay developers to work on specific open source software (OSS) projects to pursue their business goals. Such paid developers work alongside voluntary contributors, but given the different motivations of these two groups of developers, conflict may arise, which may pose a threat to a project's sustainability. This paper presents an empirical study of paid developers and volunteers in Rust, a popular open source programming language project. Rust is a particularly interesting case given considerable concerns about corporate participation. We compare volunteers and paid developers through contribution characteristics and long-term participation, and solicit volunteers' perceptions on paid developers. We find that core paid developers tend to contribute more frequently; commits contributed by one-time paid developers have bigger sizes; peripheral paid developers implement more features; and being paid plays a positive role in becoming a long-term contributor. We also find that volunteers do have some prejudices against paid developers. This study suggests that the dichotomous view of paid vs. volunteer developers is too simplistic and that further subgroups can be identified. Companies should become more sensitive to how they engage with OSS communities, in certain ways as suggested by this study.

Auteurs: Yuxia Zhang, Mian Qin, Klaas-Jan Stol, Minghui Zhou, Hui Liu

Dernière mise à jour: 2024-01-24 00:00:00

Langue: English

Source URL: https://arxiv.org/abs/2401.13940

Source PDF: https://arxiv.org/pdf/2401.13940

Licence: https://creativecommons.org/licenses/by/4.0/

Changements: Ce résumé a été créé avec l'aide de l'IA et peut contenir des inexactitudes. Pour obtenir des informations précises, veuillez vous référer aux documents sources originaux dont les liens figurent ici.

Merci à arxiv pour l'utilisation de son interopérabilité en libre accès.

Plus d'auteurs

Articles similaires