Crédit :Pixabay/CC0 Domaine public
Les systèmes open source sont un type de logiciel qui peut être librement modifié et distribué. Les projets open source sont au cœur de l'infrastructure de notre société numérique, mais ils sont susceptibles d'importants problèmes de pérennité car beaucoup de gens les utilisent mais très peu contribuent à leur développement.
Recherche de Javier Cánovas (membre de la Faculté d'informatique, multimédia et télécommunications de l'UOC et chercheur au sein du groupe Systems, Software and Models Research Lab (SOM Research Lab) de l'Institut interdisciplinaire Internet IN3), en collaboration avec Jordi Cabot (ICREA research professeur et chef de groupe), a analysé les profils des utilisateurs impliqués dans ces projets. Les résultats montrent que la présence de contributeurs qui ne développent pas de code est très importante, et qu'il existe également un certain degré de spécialisation parmi ces personnes. Selon les chercheurs, ces données "démystifient l'idée que seuls les développeurs mènent des projets open source" et pourraient être utilisées pour concevoir de nouvelles stratégies pour améliorer la durabilité de telles initiatives.
Compléter le tableau partiel des projets open source
La structure des projets open source dépend fondamentalement à la fois de la communauté des contributeurs (qui font vivre les projets) et de leur collaboration active et enrichissante. Cependant, la grande majorité des recherches sur ces communautés se concentre sur l'étude des profils d'utilisateurs qui sont responsables de la programmation et d'autres tâches techniques, telles que la révision ou la combinaison de code. "Ce n'est qu'une image partielle de ce qu'est réellement un projet open source et de son évolution, qui repose généralement sur une communauté d'utilisateurs en charge d'une grande variété de tâches (telles que le marketing, la promotion et la conception), qui aident également à rédiger la documentation ou participent aux discussions sur l'évolution future du projet », a expliqué Javier Cánovas.
Pour mieux comprendre la dynamique de collaboration dans les systèmes open source, les chercheurs ont analysé les 100 projets npm les plus importants (npm est le gestionnaire de packages pour Node.js, l'un des serveurs d'applications Web les plus populaires) trouvés sur GitHub, un leader social plate-forme de codage. "Cette étude nous a permis de vérifier que des tâches non codées (non techniques), comme signaler un problème, suggérer une amélioration, participer à une discussion ou simplement réagir aux commentaires des autres (par exemple, avec un emoji pour communiquer l'acceptation d'une proposition), sont une caractéristique commune des systèmes open source. En fait, leur présence est très significative, démontrant leur implication dans la vie du projet », a souligné Javier Cánovas.
Répartition des tâches du projet
L'étude a également examiné si les contributeurs au projet ont généralement une seule tâche ou s'ils effectuent plusieurs tâches et, par conséquent, les différents rôles se chevauchent. Les résultats montrent qu'il y a des utilisateurs qui ne contribuent au projet qu'avec des activités non techniques, qui viendraient compléter le travail des personnes se concentrant sur la programmation et le développement du code, qui, en revanche, seraient peu impliquées dans d'autres tâches.
Ces données donnent de nouveaux indices pour concevoir des stratégies d'intégration et de gouvernance qui facilitent l'évolution de ces utilisateurs et une meilleure collaboration entre les différents rôles. "Dans la plupart des projets open source, les efforts pour attirer et faire venir de nouveaux contributeurs sont clairement dirigés vers les développeurs, mais cela signifie qu'ils ratent l'occasion d'attirer d'autres types de profils qui pourraient être plus faciles à faire venir et pourraient également aider à progresser et à long terme. -la durabilité à long terme du projet », notent les auteurs de l'étude.
"En fait", ont-ils ajouté, "les projets souhaitant attirer davantage de contributeurs techniques devraient également faire un effort supplémentaire pour aider certains des contributeurs non techniques à participer à la programmation, car ce n'est pas une évolution naturelle".
Étudier l'évolution de la communauté au fil du temps
Cette recherche fait partie des travaux du SOM Research Lab axés sur l'optimisation et la promotion de la collaboration des contributeurs dans les systèmes open source, qui a différentes ramifications. "L'aspect le plus important à l'heure actuelle est de considérer la dimension temporelle, c'est-à-dire la façon dont l'état d'un projet et de sa communauté évolue dans le temps", a déclaré le chercheur.
D'autres axes de travail dans ce domaine incluent l'étude de mécanismes pour attirer de nouveaux contributeurs vers des projets open source, l'exploration de nouvelles façons de visualiser les contributions des membres de la communauté ou la proposition de solutions pour définir des règles (ou des modèles) de gouvernance communautaire.
La recherche a été publiée dans Empirical Software Engineering .