Skip to content
Tags

Évolution comparée du nombre de bogues entre distribution Linux

5 novembre 2013

Il est difficile de connaitre la vitalité d’une distribution Linux. Il est possible de s’en faire une idée en fonction du nombre de posts sur des forums, de recherche sur un moteur de recherche, du nombre de téléchargement ou la visibilité sur Distrowatch, etc. Regarder le nombre de bogues en est une autre. Après tout, on ne signale des bogues que sur les distributions (et les logiciels) que l’on utilise… C’est celle qu’utilise bubulle.

Le but de l’article est de visualiser l’évolution du nombre de bogues entre Arch Linux, Debian, Ubuntu et RedHat. Puis de poser des pistes sur les causes possibles. À la fin de l’article, des liens vers les scripts de récupération des données (en python, à l’aide des bibliothèques requests et beautifulSoup) et les représentations graphiques (en python, avec la bibliothèque matplotlib) sont fournis.

Résultats obtenus

En bogues cumulés

Bogues cumulés

ArchLinux a un score extrêmement faible (moins de 40.000 bogues) comparé aux autres distributions.
Je connais mal ArchLinux donc je resterai au stade des hypothèses :

  • Je n’ai pas regardé le bon bug tracker. J’ai utilisé les données fournies sur bugs.archlinux.org.
  • Arch aurait un mode de travail différent des 3 autres distributions (par exemple si les problèmes sont signalés directement au responsable du paquet).
  • Arch n’aurait quasiment pas de bogue. Mon expérience personnelle de cette distribution me fait exclure cette hypothèse.
  • Arch aurait finalement peu d’utilisateurs.

Lors de la deuxième moitié 2007, Redhat a une augmentation durable dont j’ignore l’origine. La sortie de RHEL 5 ne me semble pas être une explication très convaincante.

Ubuntu, dernière distribution créée, dépasse toute les autres en 2010. La croissance reste rapide au fil du temps.

Sur le long terme, la croissance de Debian est globalement la même. La croissance des rapports de bogues est plus faible pour Debian qu’Ubuntu. Quelques hypothèses, non exclusives entre elles :

  • Moins d’utilisateurs pour Debian qu’Ubuntu. Ubuntu ayant été créée après, elle aurait dépassée Debian au début 2007 (en supposant un nombre de rapports envoyés par utilisateur égal entre les deux distributions).
  • L’interface web d’Ubuntu faciliterait plus le signalement de bogues que l’utilisation d’e-mails pour communiquer avec le BTS utilisé par Debian
  • On m’a signalé que reportbug, l’outil de signalement de bogues de Debian, aurait lui-même eu des problèmes pendant un moment. Cependant je ne pense pas que ce soit une cause significative sur une période longue.
  • Il y aurait plus d’envois automatiques lors de plantage chez Ubuntu que chez Debian (par exemple lorsque les paquets n’arrivent pas à être reconstruit – FTBFS).

Variations de la croissance du nombre de bogues

Variations au fil du temps

On constate un ralentissement de l’augmentation ces dernières dernières années pour Ubuntu (depuis 2010) et Debian (depuis 2006-2007) et une accélération pour RedHat, au point de rattraper celle de la phase base d’Ubuntu. En effet, la croissance pour Ubuntu subit des cycles en fonctions des publications tous les 6 mois.

C’est le même phénomène que celui de Debian lors de la préparation d’une nouvelle version stable. Phénomène peu visible sur le graphique ci-dessus, il faut regarder un graphique limité aux bogues de Debian.
Concernant Debian, la mesure de l’usage faite avec PopCon montre une augmentation ; il serait intéressant de voir si l’usage ralentit parallèlement à celle des rapports de bogues.

Si la mesure en nombre de bogues est pertinente, la distribution qui monte est RedHat plutôt qu’Ubuntu ou Arch.

Limites de l’approche

L’estimation du nombre de bogues est basé sur les identifiant des bogues donc les résultats peuvent être approximatifs.

Quelques données semblaient aberrantes, elles ont été supprimées des résultats. Les voici :

distrb id_bug AAAA MM JJ
redhat 100213 2002 05 06
redhat 780001 2010 09 29
redhat 900001 2012 03 08
ubuntu 80001 2005 07 25

La comparaison des valeurs absolues entre distribution n’a pas forcément de sens car on ne mesure pas les mêmes choses. C’est d’autant plus vrai que les distributions sont éloignées. Les variations et l’évolution de la variation semble plus pertinente même si elles sont à prendre avec précaution vu les erreurs de mesure…

Méthode de récolte des données et traitement

La récolte des données a été faite avec un script python qui télécharge des pages sur les interfaces web des rapports de bogues (merci requests !) puis cherche la date de création de l’alerte (merci BeautifulSoup !).

Le script est téléchargeable : dl_stats.py.
La bibliothèque requests permet de simplifier la récupération du code html. Lorsqu’il y a une redirection, la bibiothèque suit le lien automatiquement pour obtenir le contenu. Par exemple, pour Ubuntu, l’adresse https://bugs.launchpad.net/bugs/308191 redirige automatiquement vers https://bugs.launchpad.net/ubuntu/+source/xf86-input-multitouch/+bug/308191. Il suffit donc de faire :

r = requests.get("https://bugs.launchpad.net/bugs/308191")

Les statistiques sont écrites sur la sortie standard et doivent être copiées dans des fichiers .txt, un par distribution. Les fichiers seront lus par le script de traçage des graphiques. Ce script utilise matplotlib et est disponible à http://stephane.yaal.fr/evolution-rapports-de-bogues/draw_stats.py. Les fichiers de statistiques utilisés sont disponibles dans le même répertoire (http://stephane.yaal.fr/evolution-rapports-de-bogues/).

Inspirations

La création des graphique est basée sur l’exemple de l’évolution du prix de l’essence disponible sur geophysique.be (évolution du prix de l’essence).

La documentation de matplolib pour personnaliser ces graphiques : pyplot.plot

Merci à Christian Perrier (bubulle) pour cette façon originale d’estimer la vitalité d’une distribution.

Merci aussi à Nirgal, Joey Hess et tout ceux avec qui j’en ai parlé à la DebConf 13 pour leurs réflexions.

About these ads

From → Debian

Laisser un commentaire

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :