Depuis 1991 suite à l’appel de Linus Torvald, Linux a fait bien du chemin. Il est au cœur de presque tous les systèmes informatiques, à l’exception des PC sur lesquels Windows règne encore en maître.

Linux est l’un des projets open source les plus réussis et des logiciels plus aboutis de l’histoire du logiciel. Il est loin le temps où Steve Ballmer présentait  « Linux comme un cancer qui pille la propriété intellectuelle ». Linux est aujourd’hui au cœur de presque tous les systèmes informatiques et son succès ne se dément pas. Omniprésents sur les supercalculateurs, les systèmes embarqués et les smartphones (via Android), il doit partager le terrain sur les serveurs avec Unix (dont il est dérivé) et Windows et est quasiment inexistant sur les PC.

Une fois par an, la Linux Foundation publie un rapport sur le développement du noyau du système d’exploitation Linux et donne toutes sortes de données sur les différentes versions de la 3.0 à 3.10, sur la période allant de juillet 2011 à juin 2013 : qui contribue au développement du code entre bénévoles et programmeurs rémunérés, qui paie…

Tout d’abord le noyau est devenu un énorme morceau de code dont le nombre de lignes augmente régulièrement. Lors de sa première mouture, développée par Linus Torvald, le noyau représentait quelque 10 000 lignes ; la version 3.10 comprend exactement 16 961 031 lignes de codes. L’augmentation récente du volume du code s’explique notamment par l’incorporation de nouvelles fonctionnalités parmi lesquels un système de fichiers optimisé pour les disques électroniques et le support des microprocesseurs ARM utilisés dans les systèmes embarqués et mobiles.

Linux1

Malgré le gigantisme qui touche ce logiciel, le développement s’effectue à un rythme de métronome. La Linux Foundation, qui garde la maîtrise du projet toujours coordonnée par Linus Torvald, indique que le rythme idéal pour la sortie d’une version majeure (signalée par le premier chiffre après le point) doit être compris entre 8 et 12 semaines. Plus court ne permettrait pas aux testeurs de trouver les défauts et de les corriger, trop long donnerait trop de travail entre deux versions. Le rythme observé pour les versions 3.0 à 3.10 est compris entre 64 et 95 jours correspondant à peu près aux objectifs. Et il semblerait que la durée moyenne de développement ait tendance à se réduire quelque peu avec le temps (70 jours en moyenne dans le précédent rapport, 60 dans l’actuel). Et ce malgré un nombre de patches en augmentation.

De la version 3.0 à 3.10, le nombre de développeurs participant à la programmation a augmenté (de 1131 à 1392), tout comme le nombre d’entreprises contributrices (191 à 243). Reflétant les évolutions du noyau, La Linux Foundation remarque que les contributions d’entreprises spécialisées dans les systèmes embarqués ou mobiles tels que Linaro, Samsung ou Texas Instruments ont augmenté.

La vision du modèle de développement open source où les développeurs sont des bénévoles a fait long feu même s’ils ont représenté près de 20 % de l’écriture du code. Ces sont les entreprises qui fournissent le gros du bataillon des développeurs. Le trio de tête étant composé de Red Hat, Intel et Texas Instruments.

Linux2

Si le développement  reste très décentralisé, il est organisé de manière très rigoureuse. Comment d’ailleurs faire autrement lorsqu’il s’agit d’un système aussi complexe. La Linux Foundation rappelle que  les patches ne sont pas intégrés directement dans le noyau mais dans plsu d’une centaine de sous-systèmes. Chaque sous-système est dédié à une tâches particulière (drivers SCSI, code pour l’architecture x86, gestion du réseau…) et  sous le contrôle d’un responsable baptisé Maintainer. Quand un maintainer approuve le patch, il donne son feu vert afin qu’il soit incorporé au noyau.