lundi 14 juillet 2008

Ubuntu bug ecosystem

Updated: 16/07/2008
Dans tout logiciel, libre ou commerciale, le bug reporting et la correction de ces bogues (ou de la plus part) jouent un rôle vitale pour l'amélioration de ce logiciel. Ce logiciel devient ainsi de plus en plus robuste et mûr.

Dans ce cadre, Ubuntu, avec sa communauté vibrante, joue un rôle incontestable. Pendant avril 2008, il y a eu 13,109 bogues reportés dans les projets suivant: Mozilla, OpenOffice, Gnome et KDE (source: www.markshuttleworth.com/archives/145). voici un tableau avec plus de détails:

Upstreams:
Mozilla 5,334
OpenOffice 1,076
Gnome 5,364
KDE 1,335
Total: 13,109
Distributions:
Ubuntu 13,064
Debian 5,103
Je vais expliquer, dans ce que suit, le cycle de vie d'un bug dans le cadre de projet Ubuntu.

Détection d'un bogue

Un utilisateur installe un programme, il détecte un bogue qu'il déclare alors sur Launchpad. Si c'est un crash, généralement en allant à /var/crash, il trouve un fichier, il suffit de faire un double clique et de suivre les instructions. À chaque bogue reporter, ou commentaire ajouter à un bogue existant, l'utilisateur est encouragé par des points qui s'additionne à son karma sur Launchpad.


Figure 1. Le bogue tracker de Launchpad

238871 bogues reportés dans 2054 projets avec 43591 liens vers 286 bogue trakers et 21889 partager entre plusieurs projets.

L'origine ?

Un effort énorme est fait ensuite pour éliminer les doublons (même bogue reporter plusieurs fois).
Suivi d'un autre effort pour déterminer l'origine du bogue: c'est Ubuntu ou bien c'est le logiciel lui même ?

Traitement et suivi

Pour les bogues lier au projet Ubuntu ou Debian, les employés de Canonical (société derrière Ubuntu) sont tenu de les corrigés. Bien évidemment, le projet Debian en profite (Ubuntu est un dérivé de Debian mais il a gardé une excellente relation avec ce projet et un haut niveau de compatibilité).
Pour les autres bogues, le but est que Launchpad automatise la synchronisation avec les différents bogue trackers (nouveaux bogues + états en cours des bogues existants), ceci uniquement dans le cas des projets non accueilli sur Launchpad. Un excellent exemple est celui de projet Gnome(voir figure 2). Actuellement, Launchpad est capable de suivre l'état d'un projet dans 286 bogue trackers.

Figure 2. Bogues reliés à Gnome dans Launchpad

Launchpad permet de suivre plusieurs projets, héberger dans Launchpad lui même ou ailleurs, et fournir des informations à propos des bogues, traductions et code associer à chacun d'eux.


Pour le fondateur Mark Shuttleworth, les employés de Canonical sont tenus aussi de corriger ces bugs, citation:
We are responsible for the user experience of every line of code, even though we don’t produce every line of code.

Mise à jours

Une fois un ensemble de correctifs est réalisé, l'équipe Ubuntu intègre ces corrections. Après une phase de tests et validation, ces corrections sont proposées au grand public. Il faut remarquer que la version Ubuntu et les mises à jours proposé aux entreprises, qui payent pour l'assistance technique, sont exactement les mêmes proposés à ceux qui n'ont rien payé (Ubuntu fait la promesse que ça sera toujours le cas "The Ubuntu promise").


Voici un schéma qui donne une vu globale:
Figure 3. Ubuntu bug écosystème

En somme

Un grand effort pour améliorer la qualité des applications existantes, améliorer l'échange à travers l'écosystème du monde libre et éviter à la communauté du libre de refaire un travail plusieurs fois.

Voici enfin le bug qui attire le plus d'attention dans le projet Ubuntu: (critical) Bug #1.

Remarque:
Avril 2008 est le mois de sortie de Ubuntu 8.04 ce qui explique peut être le pic (firefox été en version Beta 5).

Aucun commentaire: