Les développeurs du noyau Linux se voient rappeler une leçon que Linus Torvalds leur martèle depuis des années: s’il n’y a pas d’impact pour les utilisateurs, tais-toi.
Le mainteneur du noyau Linux, Linus Torvalds, a finalement annoncé la publication de Linux 5.3, après huit release candidates et un retard d’une semaine.
Selon Torvalds, ce retard a été une bonne chose : il a offert aux développeurs du noyau une leçon sur ce qui est important et sur la manière de cadrer les problèmes lorsqu’un bug est signalé.
Torvalds a eu un emploi du temps chargé la semaine dernière : il a donné deux interviews avec Steven J Vaughan-Nichols, responsable de l’open source chez ZDNet, lors de deux conférences principales: le Kernel Maintainers Summit et la Linux Plumbers Conference, qui se tenaient à Lisbonne, au Portugal, la semaine dernière.
Les développeurs du noyau ont planché sur les problemes dans « le processus de création et de maintenance du noyau Linux » en travaillant avec des équipes du monde entier, provenant de grandes organisations telles que Google, IBM, Intel et Nvidia.
Un bug peut en cacher un autre
Le retard dans la publication de la nouvelle version n’était pas une mauvaise nouvelle selon lui, car il a permis l’adoption de « bonnes solutions ». Torvalds souligne en particulier un problème qui ne constituait pas un bug, mais qui illustrait les difficultés du projet en matière de processus et de communication.
« Un des changements de dernière minute concernait le principal commit (outre le changement de version lui-même) effectué juste avant la publication, et bien que ce soit particulièrement ennuyeux, c’est peut-être aussi instructif », a écrit Torvalds.
Comme il l’explique, le commit lui-même n’était pas du tout buggé, mais il a tellement bien fonctionné que « les améliorations apportées aux entrées/sorties qu’il a provoqué ont finalement révélé une régression visible pour l’utilisateur en raison d’un véritable bug dans une zone totalement indépendante » qui aurait rendu la mise à niveau du noyau instable.
« Les détails réels de cette régression ne sont cependant pas la raison pour laquelle je dis que c’est un retour instructif. C’est plus qu’un exemple instructif de ce qui est considéré comme une régression et de ce que signifie la règle du noyau » sans régression « », écrit Torvalds.
« Le commit annulé n’a modifié aucune API et n’a pas introduit de nouveaux bugs. Mais elle a fini par exposer un autre problème et a provoqué l’échec de la mise à niveau du noyau pour un utilisateur. Elle a donc été annulée. »
Retours instructifs
Ce qu’il explique, c’est que la décision de revenir sur une modification a été prise parce que celle-ci avait un impact clair sur l’utilisateur plutôt que de se baser sur une explication ésotérique qui ne prend pas en compte l’impact sur les utilisateurs.
« Faites abstraction du problème : il ne s’agit pas de changer le kernel-userspace ABI, de corriger un bug, ou de savoir si l’ancien code » n’aurait jamais dû être implémenté dés le départ « . Il s’agit de savoir si quelque chose remet en question les habitudes de travail des utilisateurs. »
Le patron de Linux a ensuite fait référence à l’un de ses emails les plus controversés, dans lequel il a intimé à l’un des contributeurs de « SHUT THE FUCK UP! » en 2012.
« En tout cas, c’était ma petite digression sur le principe de régression. Comme il s’agit de la » première règle de la programmation du noyau « , j’ai pensé que cela valait peut-être la peine de l’évoquer de temps en temps », a écrit Torvalds dimanche.
C’était une référence aux mails qu’il avait envoyés aux développeurs avant de prendre une pause sur le projet et de promettre d’adopter une approche moins agressive en matière de communication avec les développeurs du noyau.
Vieux démons
En 2012, il avait déclaré à un développeur: « C’est un bug dans le noyau, d’accord. Depuis combien de temps êtes-vous mainteneur? Et vous n’avez toujours pas appris la première règle de maintenance du noyau? Si un changement empêche les programmes de fonctionner, c’est un bug dans le noyau. Nous ne blâmons JAMAIS les programmes des utilisateurs. Ça n’est pas si difficile à comprendre? »
La mise à jour inclut de nombreux correctifs pour les pilotes graphiques AMD et Intel, notamment une meilleure prise en charge des Radeon RX 5700 Navi, des cartes graphiques Intel Icelake Gen 11 et une prise en charge de l’affichage HDR Intel.
Source : Linus Torvalds releases Linux 5.3: Kernel fixes are about user impact, nothing else