Le rapport qui couvrait le développement du noyau Linux jusqu’à la version 4.13 faisait état de ce qu'en dehors du marché des PC où il a du mal à se frayer un chemin, Linux domine presque tous les marchés, y compris le cloud, le mobile, l'embarqué et celui des supercalculateurs. « En 2017, le système d'exploitation Linux exécute 90 % des charges de travail du cloud public, détient 62 % de part sur le marché de l'embarqué et 99 % de part de marché en ce qui concerne les supercalculateurs. Linux gère 82 % des smartphones dans le monde et neuf des dix premiers clouds publics », y était-il indiqué par Jonathan Corbet (développeur Linux et éditeur de LWN.net) et Greg Kroah-Hartman de la fondation Linux.
« Cependant, la croissance soutenue de cet écosystème open source et l'incroyable succès de Linux en général ne serait pas possible sans le développement continu du noyau Linux. De nouvelles versions livrées régulièrement toutes les neuf ou dix semaines fournissent des mises à jour stables aux utilisateurs de Linux, chacune avec de nouvelles fonctionnalités significatives, une prise en charge améliorée des périphériques et des performances améliorées. Le taux de changement dans le noyau est élevé et augmente, avec plus de 12 000 correctifs dans chaque nouvelle version du noyau. Chacune de ces versions contient le travail de plus de 1600 développeurs représentant plus de 200 sociétés », pouvait-on y lire.
En 2018, le dépôt du noyau Linux était rendu à 782 487 commits au total et comptait un peu plus de 19 000 auteurs différents. Le référentiel pour sa part était constitué de 61 725 fichiers soit environ 25 584 633 lignes. Ceci c’était sans compter la documentation, les fichiers de construction Kconfig et autres assistants/utilitaires. En 2018, 49 647 commits ont ajouté 2 229 836 lignes de code et 2 004 759 lignes de code ont été perdues, soit un gain net de seulement 225 077 lignes.
Les chiffres parlent d’eux-mêmes : le noyau Linux c’est du costaud ; c’est même « l’un des plus grands projets logiciels au monde » si l’on se réfère à une affirmation de Greg Kroah-Hartman lors d’une présentation au Festival CoreOS de Berlin en 2016.
Ce qu’il faudra aussi retenir à propos de Linux est qu’à date le projet représente « plus de 3000 sections de commentaires dont certains datent de plus de 10 ans. »
Une section TODO qui date de plus de 10 ans
Que l’on retrouve des sections de commentaires TODO vieilles de plus d’une dizaine d’années (personne n’a revu ces sections pendant cette période) au sein d’une base de code qui continue de faire ses preuves au quotidien peut être interprété comme un signe de qualité. De l’autre côté, le fait pour lesdites sections de ne pas encore avoir été revu soulève des questionnements. En effet, une base de code fonctionnelle n’est pas parfaite ; c’est la raison pour laquelle un développeur fera apparaître une section de commentaire TODO, mais c’est bien là le signe qu’il y a un détail qui coince et qui, sur le long terme, pourrait être à l’origine d’une catastrophe surtout pour ce qui est des systèmes critiques. L’analogie est peut-être mal choisie, mais la situation s’apparente à celle d’un ascenseur laissé des décennies sans surveillance parce qu’il joue encore son rôle et personne n’a remarqué de défaillance.
Source : GitHub
Et vous ?
Qu’en pensez-vous ?
plus de 3000 sections de commentaires TODO : peu ou pas pour un projet comme le noyau Linux ?
Avez-vous vous aussi énormément de TODO dans le code source de vos applications ? Si oui, quelle est votre politique en la matière ?
Voir aussi :
Google découvre des centaines de situations de compétition dans le noyau Linux en se servant de KCSAN, son nouveau détecteur de courses critiques pour le noyau Linux
Un nouveau contrôleur de mémoire pour le noyau Linux promet des économies de mémoire significatives, notamment au niveau de la RAM, pour toutes les plateformes Linux
Personne, ni même Microsoft, ne peut prendre le contrôle à lui tout seul du projet Linux, a déclaré Linus Torvalds
La version 5.3 du noyau Linux est disponible avec la prise en charge des GPU AMD Navi et d'autres nouvelles fonctionnalités
Le noyau Linux 4.19 est disponible : Tour d'horizon des nouveautés qui accompagnent cette version LTS