Étude des schémas de coordination des développeurs dans les distributions d’OS
Le succès de projets open source (OS) comme le noyau Linux et le serveur web Apache ne s’explique pas seulement par leur haute qualité technique, mais aussi par la manière unique dont ces projets sont livrés aux utilisateurs finaux. Des distributions d’OS comme Debian, Ubuntu et d’innombrables dérivés personnalisent et regroupent des milliers de projets OS pour les rendre facilement accessibles à des millions d’utilisateurs finaux à travers le monde.
Les distributions jouent en fait le rôle d’intermédiaires entre les utilisateurs finaux « en aval » et les projets OS « en amont ». Cela signifie que les distributions ne livrent pas seulement des logiciels aux utilisateurs finaux, elles filtrent aussi (et surtout) les retours 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, puisque 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 originaux, elles doivent à un moment donné coordonner avec les développeurs en amont. À d’autres moments, les distributions ne contactent pas directement le projet en amont, mais coordonnent d’abord avec la distribution mère sur laquelle elles sont basées (par exemple, le parent d’Ubuntu est Debian). Encore une fois, la distribution mère peut décider de gérer elle-même un élément particulier de rétroaction ou de le transférer en amont.
Étant donné les nombreuses façons dont les utilisateurs finaux, les distributions d’OS et les projets d’OS en amont doivent se coordonner, il est clair qu’il est nécessaire d’analyser les différentes voies de communication et d’améliorer leur efficacité. Cela réduirait le temps nécessaire pour corriger les bogues, améliorerait la qualité des logiciels et la satisfaction des utilisateurs, et réduirait les efforts de maintenance redondants.
Ainsi, ce projet vise à analyser et documenter les schémas de coordination dans les distributions des systèmes d’exploitation. En particulier, nous allons extraire des données provenant des dépôts de bugs, du support des messages de liste de diffusion des distributions Debian et Ubuntu, ainsi que de 10 à 20 grands projets d’OS, puis d’analyser ces données de façon quantitative et qualitative. L’analyse quantitative nous permettra de mesurer combien de rétroaction est traitée par une distribution, sa distribution mère et les projets en amont. L’analyse qualitative nous permettra d’étudier comment la rétroaction est traitée, c’est-à-dire quelles sont les meilleures et 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 patrons décrivant les meilleures pratiques pour coordonner les retours des utilisateurs entre les utilisateurs finaux, les distributions et les projets en amont. Un tel catalogue sera bénéfique pour divers intervenants. Premièrement, 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 de traitement 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