Le noyau Linux est connu pour être un environnement de travail intense, où les débats techniques peuvent rapidement s'enflammer. La récente polémique autour de l'intégration du langage Rust dans le noyau, traditionnellement dominé par le C, a atteint un point critique. Un développeur majeur du projet Rust pour Linux vient d'annoncer son retrait, estimant que les absurdités non techniques sont devenues insupportables.
Une décision qui fait grand bruit
Wedson Almeida Filho, figure de proue du projet Rust for Linux, a récemment publié un message sur la liste de diffusion du noyau Linux pour se retirer de son rôle de mainteneur. Après près de quatre ans d'implication, il avoue avoir perdu l'énergie et l'enthousiasme nécessaires pour faire face aux discussions stériles qui entourent le projet.
"Il est préférable de laisser la place à ceux qui ont encore la motivation", écrit-il avec une pointe d'amertume.
Malgré ce départ, il reste convaincu que l'avenir des noyaux passe par l'adoption de langages à mémoire sûre comme Rust. Il va même jusqu'à mettre en garde:
"Je ne suis pas un visionnaire, mais si Linux n'intègre pas cette évolution, je crains qu'un autre noyau ne lui fasse subir le même sort que celui qu'il a infligé à Unix."
Un contexte tendu
Pour illustrer les tensions, Filho a partagé un extrait d'une conférence Linux où l'on entend une voix hors champ, identifiée comme celle de Ted Ts'o, un mainteneur du noyau, s'exclamer: "Voilà le problème, vous n'allez pas tous nous forcer à apprendre Rust." Cette intervention survient alors que Filho proposait d'implémenter des liaisons Rust pour le système de fichiers. Ts'o exprime sa réticence à devoir gérer à la fois le code C existant et d'éventuelles liaisons Rust qui pourraient être affectées par ses modifications. Cette position reflète un sentiment partagé par de nombreux développeurs C, peu enclins à embrasser un nouveau langage et son écosystème.
Un débat qui divise la communauté
Asahi Lina, développeuse du projet Asahi Linux, a exprimé sa compréhension face aux frustrations de Filho. Elle pointe du doigt un sous-ensemble de développeurs C du noyau qui semblent déterminés à rendre la vie des mainteneurs Rust aussi difficile que possible. Elle a elle-même rencontré des obstacles en tentant d'introduire de petites améliorations pour rendre le code C plus robuste et les exigences de durée de vie plus sensées. Elle souligne également que les bugs dans le code C du planificateur DRM sont les seules causes de paniques du noyau dans son pilote GPU pour Apple, écrit en Rust.
"J'ai l'impression que certains mainteneurs ne se soucient plus de la qualité future du code, ni de la stabilité ou de la sécurité", déplore-t-elle. "Ils veulent juste garder leur code C et souhaitent que nous, les développeurs Rust, disparaissions. C'est vraiment triste... et ça n'aide pas à améliorer Linux."
Une intégration complexe
Drew DeVault, fondateur de SourceHut, a analysé les difficultés rencontrées par Rust pour s'intégrer dans le noyau. En théorie, le projet devrait accueillir avec enthousiasme l'apport de nouveaux contributeurs motivés.
"En pratique, la communauté Linux est un véritable Far West, et il est très difficile d'obtenir un consensus sur des changements radicaux", explique-t-il. "Chaque sous-système est un fief privé, soumis aux caprices de chacun des 1700 mainteneurs, dont presque tous ont un intérêt dans cette course."
DeVault compare ce processus à un jeu de chats et de souris, l'introduction effective de Rust nécessite 1% de travail de codage et 99% de travail politique. Face à ces défis, il suggère aux développeurs Rust de construire un noyau compatible Linux à partir de zéro, plutôt que de s'épuiser dans des batailles politiques interminables.
Le point de vue de Linus Torvalds
Le créateur et mainteneur principal de Linux, Linus Torvalds, a récemment commenté la situation. Il admet avoir été surpris par la lenteur de l'adoption de Rust:
"Je m'attendais à ce que les mises à jour soient plus rapides, mais une partie du problème est que les anciens développeurs du noyau sont habitués au C et ne connaissent pas Rust. Ils ne sont pas vraiment enthousiastes à l'idée d'apprendre un nouveau langage qui est, à certains égards, très différent. Il y a donc eu une certaine résistance."
Torvalds souligne également que l'infrastructure Rust elle-même n'a pas été très stable, ce qui a contribué à ralentir son adoption.
Un avenir incertain
Le noyau Linux est un projet aux enjeux considérables, impliquant des centaines, voire des milliers de développeurs. Les conflits sont peut-être inévitables dans un tel contexte. Seul le temps nous dira combien de temps le C restera le langage principal pour coder et penser un projet aussi vaste et en constante évolution. L'intégration de Rust dans le noyau représente un défi technique et culturel majeur. Si elle offre des avantages en termes de sécurité et de fiabilité, elle se heurte à la résistance au changement d'une communauté établie de longue date. Le départ de Wedson Almeida Filho marque un tournant dans ce débat et soulève des questions sur l'avenir de l'innovation dans l'un des projets open source les plus importants au monde.
La mise en retrait de Filho fera peut être l'effet d'un électron choc, parce que je suis assez d'accord avec le fait que si Rust se voit mettre des bâtons dans les roues, c'est pas impossible qu'une équipe de dev décide de ré écrire le noyau Linux pour une intégration native de Rust.