IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

L'un des responsables de la maintenance du noyau Linux Rust se retire du projet, invoquant des "absurdités non techniques"

Le , par Jade Emy

86PARTAGES

11  0 
L'un des responsables de la maintenance du noyau Linux Rust a annoncé se retirer du projet. La raison est qu'il n'a "plus l'énergie et l'enthousiasme" pour répondre à certaines "absurdités non techniques". Le projet Rust pour le noyau Linux est considéré comme prometteur, mais il n'est pas sans complications, notamment la gestion des Pull Request.

Rust est un langage de programmation généraliste qui met l'accent sur les performances, la sécurité des types et la concurrence. Il assure la sécurité de la mémoire, c'est-à-dire que toutes les références pointent vers une mémoire valide, sans ramasse-miettes. Depuis 2015, Rust a été adopté par des entreprises telles qu'Amazon, Discord, Dropbox, Google (Alphabet), Meta et Microsoft. En décembre 2022, il est devenu le premier langage autre que le C et Assembly à être pris en charge dans le développement du noyau Linux.

Les principaux mainteneurs du noyau Linux ont un âge qui commence par le chiffre 5, voire la soixantaine. Linus Torvalds, le créateur du noyau Linux lui-même a souligné qu'"il est vraiment difficile de trouver des personnes qui sont des mainteneurs". C'est pourquoi, le projet Rust for Linux est né. L'objectif n'est pas de réécrire le noyau entier du Linux en Rust, mais plutôt d’ajouter du nouveau code, écrit en Rust. Rust pourrait ainsi apporter des bénéfices en termes de qualité, de performance et de sécurité du code du noyau, tout en réduisant les coûts de développement et de maintenance.

Lors de l'édition 2023 du Kernel Maintainers Summit, la communauté a dressé un bilan du projet Rust-for-Linux, le décrivant comme prometteur, mais pas sans complications. L'un des défis des développeurs du projet étant les nombreux Pull Request ajoutant du code Rust important.

Mais Wedson Almeida Filho, l'un des responsables du noyau Rust pour Linux, a décidé de se retirer du projet. Cette décision serait motivée, du moins en partie, par la nécessité de faire face à l'augmentation des "absurdités non techniques" liées à l'utilisation du langage de programmation Rust dans le noyau Linux.


Wedson a écrit sur la liste de diffusion du noyau Linux :

Il s'agit d'une série aussi courte que possible : je me retire du projet Rust pour Linux en tant que responsable de la maintenance.

Je me retire du projet. Après presque 4 ans, je n'ai plus l'énergie et l'enthousiasme que j'avais autrefois pour répondre à certaines absurdités non techniques, il est donc préférable de laisser cela à ceux qui l'ont encore en eux.

À l'équipe de Rust for Linux : merci, vous êtes formidables. Ce fut un plaisir de travailler avec vous tous ; les moments que nous avons passés à discuter de questions techniques, à trouver des moyens de résoudre les problèmes de solidité, etc. ont toujours été quelque chose que j'ai apprécié et que j'attendais avec impatience. Je me considère chanceux d'avoir collaboré avec un groupe aussi [talentueux] et amical.

Je souhaite que le projet soit couronné de succès.

Je crois sincèrement que l'avenir des noyaux passe par des langages à mémoire sécurisée. Je ne suis pas un visionnaire, mais si Linux n'intériorise pas cela, je crains qu'un autre noyau ne lui fasse ce qu'il a fait à Unix.

Enfin, je vais laisser un petit échantillon de 3min 30s pour le contexte : https://youtu.be/WiPp9YEBV0Q?t=1529 -- et pour réitérer, personne n'essaie de forcer quelqu'un d'autre à apprendre Rust ni d'empêcher les refactorisations de code C. »
Voici la vidéo pour le contexte :


Wedson est un ingénieur de Microsoft qui a été prolifique dans ses contributions au code Rust pour le noyau Linux au cours des dernières années. Wedson a travaillé sur de nombreuses fonctionnalités du noyau Linux Rust et a même réalisé un portage expérimental du pilote du système de fichiers EXT2 vers Rust. Mais il en a eu assez et se retire maintenant des efforts de Rust pour Linux.

S'il est regrettable de voir Wedson se retirer des efforts de Rust pour Linux, au moins il y a plusieurs autres mainteneurs qui continuent à superviser l'effort pour permettre l'utilisation du langage de programmation Rust dans le noyau Linux.

Source : Annonce de Wedson

Et vous ?

Quel est votre avis sur cette annonce ?

Voir aussi :

Rust dans le noyau Linux: un projet prometteur, mais pas sans complications. La communauté dresse un bilan, lors de l'édition 2023 du Kernel Maintainers Summit

Linus Torvalds exprime sa déception de voir le faible taux d'adoption de Rust comme langage de programmation pour le noyau Linux, car les principaux mainteneurs du noyau sont plus habitués au langage C

L'enquête Rust révèle que les utilisateurs de Linux et de VS Code sont plus nombreux à cibler WebAssembly. La France se situe à la cinquième place mondiale en nombre de développeurs Rust

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de denisys
Membre chevronné https://www.developpez.com
Le 03/09/2024 à 18:59
Remonté contre les habitués du C qui freinent les mises à jour de la base de code du noyau vers Rust
Pour faire une bonne vinaigrette.
Il faut de l’huile et du vinaigre !!!!


A mon point de vue, ce n’est qu’une question de temps et de génération.
Ma génération, qui a étais élevé au bon code en C et C++, vers la fin du siècle dernier (1992).
Les jeunes et futures générations qui intégrerons et compileront plus facilement le code en Rust.

Moi, quand j’ai commencé à développer, le Java Scripte n’existais pas.
Aujourd’hui, tous les jeunes savent coder en Java Scripte.

Haaa !!!
Il ne faut pas oublier, non plus, que le créateur de PHP a conçu ce langage en C, parce que il en avait marre de répéter les mêmes routines en C, pour construire des pages Internet , a l’époque.

C’est une question de temps, uniquement !!!
14  0 
Avatar de LittleWhite
Responsable 2D/3D/Jeux https://www.developpez.com
Le 22/10/2024 à 18:09
Linus Torvalds est de plus en plus frustré par le matériel bogué et les attaques théoriques du processeur
Moi aussi ! (mais on s'en fout)
9  0 
Avatar de eomer212
Membre confirmé https://www.developpez.com
Le 22/10/2024 à 18:50
je me rappelle d'une époque, l'époque "bénie" (j'étais jeune, beau, et je le suis toujours dans ma tête) ou n'y avait pas de coprocesseur, et ou il fallait comprendre comment calculer un sinus à partir d'entiers en assembleur.
bref, on devait ramer comme des malades pour sortir les processeurs et les cartes graphiques vga de leur létargie. il fallait comprendre le materiel, et en particulier le processeur, son fonctionnement et ses limites. qu'on pouvait éventuellement dépasser, par la ruse et l'intelligence.
une des astuces existantes était le déroulé de code.
on déroule des fonctions qui auraient du faire un saut pour boucler, pour éviter le plus possible les branchements qui brisent la prédiction ou le pré chargement de code du processeur.
c'est con, c'est basique, et c'est très, très efficace.
moi je dis ca. mais bon, je peux me tromper, mais je pense que ca doit encore marcher..
en passant, un petit coucou extrêmement révérencieux à Mr Torvald, à qui nous devons tous beaucoup.
10  1 
Avatar de Gugelhupf
Modérateur https://www.developpez.com
Le 03/09/2024 à 20:00
Cette "mégalomanie" existe dans toutes les équipes qui sont formattés à travailler avec un langage informatique. Vous allez dans les banques où on fait du COBOL, les développeurs rabaisseront ceux qui font du Java pour sa syntaxe, ceux qui font du Java rabaisseront ceux qui font du NodeJS/TypeScript pour son manque de typage runtime, ceux qui font du NodeJS/TypeScript rabaisseront ceux qui font du Python pour ses performances, et généralement tout le monde excepté ceux qui font du PHP rabaisseront PHP

Il faut aller au-delà de cela, de cette passion qui nous anime pour un langage informatique, parce que oui nous avons appris, travaillé et en quelque sorte "grandi" avec un certain langage, et on arrive d'ailleurs à reconnaitre les générations grâce à leur formation universitaire Pascal, C++, Java, et plus récemment Python... Et je comprends aussi que certains en ait marre d'apprendre le dernier langage à la mode (je pense personnellement aux langages JVM tels que Scala complètement mort et Kotlin propulsé par IntelliJ+Google suite au procès d'Oracle en ayant fait du Java), ce qui me perturbe c'est que Rust soit considéré comme une mode ou bien les goûts syntaxiques évoqués par certains pour ne pas adopter le Rust. Rust est basé sur le retour d'expérience des langages existants, il existe des raisons pour laquelle Rust inclu/limite des features, comme pourquoi il n'y a pas d'héritage à plusieurs niveaux, pourquoi on continue à utiliser le point-virgule etc (je ne vais pas rentrer dans les détails ici)

Un langage informatique est un outil, ce n'est pas votre enfant ou votre animal de compagnie, l'affect n'a pas lieu d'être. Il faut citer les "vrais" avantages et inconvénients techniques de Rust pour être juste, Rust n'est pas parfait : moins de libraries contrairement à Go qui est supporté par Google (quelqu'un sait s'il existe un driver Sybase en Rust ? ), lent à compiler etc... mais en tant qu'expert seriez-vous capable de me citer des langages libres (compilateur inclu) qui sont à la fois memory-safe, null-safe, thread-safe et qui ne requirent pas une VM que l'on doit installer et qui doit gérer un système de ramasse-miettes ?

Bref, pour en revenir à Linux, bien que le C soit un langage simple et très apprécié, ce dernier ne respecte pas les critères cités au-dessus (je vous invite à regarder les taux des failles de sécurités causés par l'absence du memory-safe ou null-safe), donc qui maintiendra aussi bien le noyau lorsque Linus Torvalds ne sera plus de ce monde ?
8  0 
Avatar de kain_tn
Expert éminent https://www.developpez.com
Le 03/09/2024 à 21:20
Citation Envoyé par Gugelhupf Voir le message
Cette "mégalomanie" existe dans toutes les équipes qui sont formattés à travailler avec un langage informatique.
Je dirais même: Cette "mégalomanie" existe dans toutes les équipes qui sont formatées à travailler avec un seul langage informatique.

Citation Envoyé par Gugelhupf Voir le message
Un langage informatique est un outil, ce n'est pas votre enfant ou votre animal de compagnie, l'affect n'a pas lieu d'être. Il faut citer les "vrais" avantages et inconvénients techniques de Rust pour être juste,
Je ne suis que partiellement d'accord. Je pense personnellement qu'il y a une forme d'art à concevoir et écrire du code. Il y a tout simplement quelque chose de plaisant et d'harmonieux à voir les patterns se former, les couches communiquer. Il y a de la beauté dans certaines expressions épurées.

Et dès le moment où ce n'est plus seulement un outil ou un travail alimentaire, alors les goûts de tous entrent en considération, un peu comme pour la musique et pour tant d'autres sujet ou soudain tout le monde a un avis extrêmement tranché sur ce qui est bien et ce qui ne l'est pas.

J'aime bien la syntaxe de Rust, mais ça doit venir du fait que j'ai pratiqué plusieurs langages assez différents au lieu de me spécialiser dans un seul, et du coup, mes goûts personnels ont évolué avec chaque langage et la philosophie qu'il portait.

J'essaye toujours de choisir mes outils en fonction des avantages qu'ils vont me procurer, mais il y aura toujours certains outils qui me plairont plus que d'autres pour une question de goûts personnels, sur un périmètre donné.

Bien entendu, quand on collabore sur un projet, il faut être capable de faire des compromis, comme sur le style par exemple, pour garder une base de code maintenable et compréhensible.

Je pense que le gros souci, là, c'est qu'il y a deux langages avec une philosophie différente, et sur deux périmètres différents: un est à l'origine de l'ensemble du noyau, l'autre n'est utilisé que pour certains modules (souvent nouveaux), et c'est peut-être vu par certains développeurs comme du code de seconde zone - d'où le manque d'effort et d'engouement de leur part.

Et le gars de redox_os fait un peu le malin dans son tweet et en profite pour se faire de la pub, mais je suis certain que si demain, ses nouveaux modules étaient développés en Lua (pour gagner du temps sur la compilation, puisque tu as évoqué le temps de compilation de Rust) avec le reste en Rust, il y aurait la même animosité de la part d'une partie de ses développeurs, et peut-être une forme de mépris.

Désolé pour le pavé, mais ta réponse m'a inspiré!
8  0 
Avatar de Uther
Expert éminent sénior https://www.developpez.com
Le 31/08/2024 à 9:02
Il y a bien sur un système de lib standard comme dans tous les langages, la particularité de Rust est qu'il y en a deux :
  • "core" contient juste le minimum pour que le langage fonctionne (type et traits de base).
  • "std" reprend "core et ajoute les fonctionnalités qui dépendent de l'OS (fichier, réseau, allocation mémoire, thread, processus, ...), et quelques types plus avancée (collection, chemins, ...). On reste loin de l'exhaustivité des bibliothèques Java ou Python.


Quand on développe un programme dans des environnements ou l'on a pas accès normal à l'OS (création d'OS, un driver, l'embarqué sans OS), on utilise le mode "nostd" où l'on à plus accès qu'à core. C'est l'équivalent du mode freestanding en C. Le cas du développement de drivers Linux en Rust est un exemple typique de code où l'on utilise le mode nostd.

Ceci dit la grande majorité des programmes Rust finaux utilisent la bibliothèque "std" classique qui donne accès aux fonctionnalités générales de l'OS, en utilisant parfois la libc en interne, vu que c'est le seul moyen stable qu'offrent la plupart des OS pour ce faire.
7  0 
Avatar de JP CASSOU
Membre confirmé https://www.developpez.com
Le 24/10/2024 à 10:53
Ne parlons pas des sites, applis et logiciels bogués et inutilisables

De plus en plus complexes, lourds, lents, bogués et au final inutilisables au quotidien, au point qu'un acte d'achat ou une transaction avec l'internet actuel prend 5x plus de temps qu'une opération à la finalité identique effectuée avec le Minitel des années 1980.

Faudrait peut-être penser à faire un "gel des technologies" et arrêter de concevoir 40.000 frameworks, 2.500 langages de programmation et 38 tonnes de librairies.

Le 64 bits grand public existe depuis le début des années 2000.

Nous avons des applications métier dont on ne se sert pas (ou plus) étant donné leur lenteur et lourdeur au point de rendre les procédures manuelles plus rapides et fiables
7  0 
Avatar de Uther
Expert éminent sénior https://www.developpez.com
Le 24/10/2024 à 17:34
Citation Envoyé par floyer Voir le message
Dans l’exemple, le replay, c’est gratuit donc c’est toi le produit. Si tu regardes Netflix, il ok, c’est payant mais tu n’as pas de pub. Dans un marché bien fait, tu aurais une offre Premium sans pub.

Bon, le replay gratuit c’est un peu faux… les opérateurs payent les chaînes pour diffuser ce qui est gratuit via la TNT. (Mais en échange, il me semble qu’ils ont droit à une TVA moindre).
Netflix est payant, mais il ne faut pas croire que tu n'es pas aussi un produit. Tes habitudes de visionnage sont judicieusement étudiées.
6  0 
Avatar de OuftiBoy
Membre éprouvé https://www.developpez.com
Le 30/08/2024 à 12:38

Avant que les les défenseurs acharnés de Rust ne me tombe dessus, je précise que je n'ai rien contre ce dernier, qui pour ce que j'en ai vu, est très prometteur, même si je ne suis pas enthousiasmé personnellement par ce dernier (mais ce n'est pas le sujet).



Je comprend les anciens mainteneurs de longue date, qui ont accompli (en C) un travail de dingue sur le noyau.

Ils n'ont rien contre Rust, mais il faut comprendre et accepter qu'ils n'ont pas envie (à leur âge), de continuer.

Je pense que tout le monde est d'accord pour dire que la récriture complète du noyau linux en Rust, n'est pas une bonne idée. Techniquement, je peux comprendre que de nouveaux ajouts soit fait en [B]Rust[/R], mais cela pose certains problèmes:

  • Deux langages différents dans une base de code, ça complexifie la chaîne de production.

  • Y'a-t-il suffisamment de développeurs très compétents en Rust pour garantir l'évolution et la maintenance d'un projet de cette envergure ?

  • Si la balance se fait vers Rust, qui voudra bien assurer la maintenance du vieux code C ?

  • Si certains nouveaux contributaires veulent qu'on accepte d'introduire Rust dans la base de code, ils doivent aussi accepter de maintenir et permettre d'évoluer tout ce qui est et restera en C


Je ne suis pas spécialiste en Rust, mais j'ai lu (désolé, je n'ai pas noté les références) que bon nombres du code Rust de bas niveau se fait en mode unsafe, pour contourner la rigidité de Rust sur certaines parties de ce code. Et, dites-moi si je me trompe, Rust en mode unsafe, n'apporte pas grand chose au niveau sécurité par rapport au C. Je peux donc comprendre la réticences de bon nombres d'excellents développeurs C qui ne jugent pas nécessaires/souhaitable d'ajouter la complexité d'une base de code utilisant 2 langages.

Les "Pro Linux" (Perso, je ne suis ni Pro, ni Contre), n'ont eu de cesse de dire (à juste tire), que Linux était meilleur, plus stable, moins sujet aux vulnérabilités que d'autres OS. Et pourtant, tout cela a été fait en C...

BàV et Peace & Love
5  0 
Avatar de floyer
Membre éclairé https://www.developpez.com
Le 01/09/2024 à 8:07
Citation Envoyé par 23JFK Voir le message
En plus la compilation n'est pas simplifiée puisqu'il faut à présent compiler deux codes sources différents pour avoir un kernel fonctionnel... Les amateurs LFS vont adorer.
Il vont taper make au lieu de make…
5  0