Étude des modèles de coordination des développeurs dans les distributions de systèmes d’exploitation
Le succès des projets open source (OS) comme le noyau Linux et le serveur Web Apache n’est pas seulement dû à leur haute qualité technique, mais aussi à la façon unique dont ces projets sont livrés aux utilisateurs finaux. Les distributions de systèmes d’exploitation comme Debian, Ubuntu et d’innombrables dérivés personnalisent et regroupent des milliers de projets de système d’exploitation pour les rendre facilement accessibles à des millions d’utilisateurs finaux dans le monde entier.
Les distributions jouent en fait le rôle d’intermédiaires entre les utilisateurs finaux « en aval » et les projets de système d’exploitation « en amont ». Cela signifie que les distributions ne fournissent pas seulement des logiciels aux utilisateurs finaux, elles filtrent également (et surtout) les commentaires des utilisateurs pour les projets en amont. Par exemple, si les utilisateurs signalent un bogue ou ont une question sur la façon d’utiliser un projet logiciel particulier, ils communiquent généralement d’abord avec la distribution.
Cependant, étant donné que les distributions n’ont généralement qu’une main-d’œuvre limitée et n’ont pas le même niveau d’expertise approfondie sur un projet logiciel que les développeurs d’origine, elles doivent se coordonner à un moment donné avec les développeurs en amont. À d’autres moments, les distributions ne contactent pas directement le projet en amont, mais se coordonnent d’abord avec la distribution parente sur laquelle elles sont basées (par exemple, la société mère d’Ubuntu est Debian). Encore une fois, la distribution parente peut décider de gérer elle-même un élément particulier de rétroaction ou de le transférer en amont.
Compte tenu des nombreuses façons différentes dont les utilisateurs finaux, les distributions de systèmes d’exploitation et les projets de systèmes d’exploitation en amont doivent se coordonner, il est clairement nécessaire d’analyser les différents chemins de communication et d’améliorer leur efficacité. Cela réduirait le temps de correction des bogues, augmenterait la qualité du logiciel et la satisfaction des utilisateurs, et réduirait l’effort de maintenance redondant.
Par conséquent, ce projet vise à analyser et à documenter les modèles de coordination dans les distributions de systèmes d’exploitation. En particulier, nous exploiterons les données des référentiels de bogues, la prise en charge des messages d’une liste et de diffusion des distributions Debian et Ubuntu, et 10 à 20 grands projets de système d’exploitation, puis nous analyserons ces données de manière quantitative et qualitative. L’analyse quantitative nous permettra de mesurer la quantité de feedback traitée par une distribution, sa distribution mère et les projets en amont. L’analyse qualitative nous permettra d’étudier la façon dont la rétroaction est traitée, c’est-à-dire quelles sont les meilleures et les pires pratiques pour propager la rétroaction à la distribution parente ? Quels types d’outils et de méthodologies sont nécessaires ? Quels sont les risques possibles ?
Le résultat du projet sera un catalogue de modèles qui décrivent les meilleures pratiques pour coordonner la rétroaction des utilisateurs entre les utilisateurs finaux, les distributions et les projets en amont. Un tel catalogue sera bénéfique pour divers intervenants. Tout d’abord, les utilisateurs finaux, les distributions et les projets en amont comprendront mieux les besoins des uns et des autres, ce qui leur permettra de réduire le délai d’exécution des bogues et des demandes de support. Deuxièmement, les nouveaux bénévoles d’un projet de distribution ou en amont peuvent démarrer plus rapidement. Troisièmement, des écosystèmes similaires comme les applications Facebook ou les plugins Eclipse peuvent tirer parti de l’expérience acquise par les distributions pour améliorer leur qualité.
Voir la description complète du projet