
Et dénonce le leadership de Linus Torvalds en matière de gestion du kernel
Hector Martin, chef de projet d'Asahi Linux, a annoncé sa démission du projet. Il blâme entre autres le manque de soutien de Linus Torvalds en matière d’intégration du code Rust dans le noyau open source. La situation part de l'opposition de Christoph Hellwig (mainteneur principal du noyau) à un correctif proposé le mois dernier par Hector Martin et qui devait permettre aux pilotes de périphériques écrits en Rust d'appeler l'API DMA du noyau, principalement basé sur le langage C, qui alloue et mappe des régions de mémoire pour l'accès direct à la mémoire. Des observateurs sont d’avis que ces oppositions entre mainteneurs C et Rust n’auraient pas lieu si les décideurs du noyau Linux avaient opté pour la conversion du code C du kernel vers du C++ moderne.
« Je démissionne de mon poste de chef du projet Asahi Linux, avec effet immédiat. Le projet continuera sans moi et je travaille avec le reste de l'équipe pour gérer le transfert des responsabilités et des références administratives. Mon Patreon personnel sera mis en pause, et ceux qui m'ont soutenu personnellement sont encouragés à transférer leur soutien à l'Asahi Linux OpenCollective (GitHub Sponsors ne me permet pas de mettre unilatéralement en pause les paiements, mais mes sponsors seront notifiés de ce changement afin qu'ils puissent annuler manuellement leur parrainage).
Je tiens à remercier toute l'équipe d'Asahi Linux, sans qui je ne serais jamais arrivé à rien tout seul. Vous savez tous qui vous êtes. J'exprime également ma plus grande gratitude à tous mes sponsors Patreon et GitHub, qui ont fait de ce projet une réalité viable au départ », annonce-t-il.
Hector Martin's resignation from the Asahi Linux project ignites fierce debate on Rust's integration into the Linux kernel. Key takeaways: - Indecision from leaders like Linus Torvalds has fueled division and toxicity in discussions. - Clear governance is critical to avoid… pic.twitter.com/3iaUYkCjvC
— TechRandomizer (@TechRandomizer) February 8, 2025
Linus Torvalds est d’avis que Rust est une solution d’avenir pour le noyau Linux
Il considère la prise en charge de Rust pour le développement du noyau Linux comme une « une étape importante vers la capacité d'écrire les pilotes dans un langage plus sûr. » Rust de Mozilla Research est le type de langage de programmation auquel ceux qui écrivent du code pour des systèmes d’entrée/sortie de base (BIOS), des chargeurs d’amorce, des systèmes d’exploitation, etc. portent un intérêt. D’avis d’observateurs avertis, c’est le futur de la programmation système en lieu et place du langage C. En effet, des experts sont d’avis qu’il offre de meilleures garanties de sécurisation des logiciels que le couple C/C++. Chez AWS on précise que choisir Rust pour ses projets de développement c’est ajouter l’efficacité énergétique et la performance d’exécution du C à l’atout sécurité.
En effet, il y a une liste de griefs qui reviennent à l’encontre du langage C : les problèmes liés à la gestion de la mémoire – dépassements de mémoire tampon, allocations non libérées, accès à des zones mémoire invalides ou libérées, etc. D’après les chiffres du dictionnaire Common Vulnerabilities and Exposure (CVE), 15,9 % des 2288 vulnérabilités qui ont affecté le noyau Linux en 20 ans sont liées à des dépassements de mémoire tampon.
De plus, certains benchmarks suggèrent que les applications Rust sont plus rapides que leurs équivalents en langage C. Et c’est justement pour ces atouts que sont la parité en termes de vitesse d’exécution en comparaison avec le C, mais surtout pour la sécurisation et la fiabilité que de plus en plus d’acteurs de la filière du développement informatique recommandent le Rust plutôt que le C ou le C++.
Ainsi, en adoptant Rust, la communauté autour du noyau Linux devrait mettre à profit ces atouts du langage sur le C. Et elle devrait faire d’une pierre deux coups étant donné que Rust peut faciliter l’arrivée de nouveaux contributeurs. C’est en tout cas ce que laisse entrevoir une étude de l’université de Waterloo.
Certains intervenants pensent que le choix de Rust est une erreur et que C++ moderne est une meilleure alternative
« Maintenant, "pourquoi pas Rust" ? Tout d'abord, Rust utilise une syntaxe différente (souvent, à mon avis, gratuitement), et non seulement tous les développeurs du noyau devraient se familiariser intimement avec la syntaxe afin d'obtenir le même type de "feeling" que nous avons pour le C, mais convertir du code C en Rust n'est pas quelque chose qui ne peut être fait par les développeurs du noyau qu'au coup par coup, alors qu'avec quelques nettoyages le code C existant peut être compilé en C++.
Cependant, je ne suis pas d'accord avec certaines des conclusions de David. en fait, je crois que David est inutilement pessimiste, du moins en ce qui concerne le C++ moderne.
Notez que personne de sain d'esprit ne s'attend à utiliser toutes les fonctionnalités de C++. Tout comme nous avons le "kernel C" (actuellement un sous-ensemble de C11 avec un avec un ensemble relativement large d'extensions spécifiques au compilateur), nous aurions le "noyau C++", que je suggère d'être un sous-ensemble strictement défini de de C++20, combiné à un ensemble similaire d'extensions de compilateur). Je me rends compte que que la prise en charge du C++20 par les compilateurs est encore très récente pour des raisons évidentes, de sorte qu'au moins une partie de ce qui précède est tournée vers l'avenir », souligne le développeur Linux – Peter anvin.
Jiri Slaby de SUSE Lans s'est prononcé en faveur de cette initiative C++ pour le noyau Linux. David Howells de Red Hat s'est également prononcé en faveur de cette approche.
Source : Annonce
Et vous ?

Voir aussi :




Vous avez lu gratuitement 2 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.