Després dels incidents que s'han suscitat dins de la comunitat de desenvolupadors del Kernel de Linux, a causa d'una discussió sobre la introducció de Rust al kernel, on diferents desenvolupadors han donat a conèixer la seva postura sobre el rumb que està prenent el projecte.
Greg Kroah-Hartman, un reconegut mantenidor de la branca estable del nucli de Linux, ha sortit a donar la cara per Rust i ha manifestat el seu suport a l'ús del llenguatge Rust en el desenvolupament de nous components del nucli.
Greg esmenta que durant els últims 15 anys, ha estat una de les principals fonts d'informació sobre errors i vulnerabilitats al nucli i afirma que molts d'aquests problemes provenen de peculiaritats no documentades del llenguatge C. Rust, en contrast, elimina completament aquestes ambigüitats, cosa que representa un avenç significatiu en termes d'estabilitat i seguretat.
Avantatges de Rust al Kernel
Per Greg UN dels principals beneficis d'integrar Rust al desenvolupament del nucli és l'eradicació d'errors comuns de maneig de memòria. Problemes com l'accés a memòria alliberada, desbordaments parcials de memòria intermèdia, alliberament incorrecte de recursos després de fallades en l'execució i l'omissió de validacions en codis de retorn, es veuran reduïts dràsticament. Gràcies a aquestes millores, els mantenidors del nucli podran enfocar-se en aspectes més rellevants, com ara condicions de carrera i problemes lògics, en lloc de perdre temps resolent errors evitables.
El codi existent a C no serà reemplaçat, però la possibilitat de escriure nous controladors i subsistemes a Rust contribuirà a millorar la qualitat del programari en el futur. A més a més, l'ús d'aquest llenguatge permetrà reestructurar les API internes del nucli per fer-les més comprensibles i segures, la qual cosa reduirà significativament la càrrega dels mantenidors en garantir el seu correcte ús. A mesura que evolucionin els embolcalls (wrappers) a Rust, es podrà optimitzar el disseny del nucli, beneficiant tant els desenvolupadors de Rust com aquells que continuen utilitzant C.
Greg Kroah-Hartman deixa clar que Rust no és una solució màgica que resoldrà tots els problemes del nucli, però sí una eina valuosa que millorarà molts aspectes del desenvolupament. També assenyala que lús de múltiples llenguatges dins del nucli no representa un obstacle insalvable. La comunitat de desenvolupadors de Linux ha abordat reptes encara més complexos en el passat, i la incorporació de Rust és simplement un altre pas cap a l'enfortiment del projecte a llarg termini.
A aquesta discussió es va sumar Kees Cook, exadministrador en cap de sistemes de kernel.org i líder de l'equip de seguretat d'Ubuntu. Cook va emfatitzar que la intenció no és reescriure el codi existent a Rust, sinó proporcionar l'opció d'utilitzar-lo per al desenvolupament de components nous. Aquesta estratègia no només reduirà la quantitat d'errors de memòria, sinó que també agilitzarà el procés de desenvolupament, ja que Rust permet detectar errors en una etapa primerenca del procés de codificació, abans que el programari arribi a la fase de prova.
I és que s'esmenta que la viabilitat d'aquesta estratègia ha estat comprovada prèviament per Google a Android. S'ha demostrat que el codi nou és la principal font de problemes de seguretat, de manera que millorar-ne la qualitat des del principi és una prioritat. De fet, s'ha observat que el codi antic té una menor densitat de vulnerabilitats amb el pas del temps. Per exemple, un codi escrit fa cinc anys presenta, de mitjana, 3.4 vegades menys errors de seguretat en comparació amb el codi més recent.
Com a tal, s'esmenta que la integració de Rust al nucli de Linux és un avenç clau per millorar la seguretat, l'eficiència del desenvolupament i l'estabilitat del sistema. No és un reemplaçament del codi en C, sinó una evolució que permetrà escriure programari més segur i fiable en el futur.
Finalment, si estàs interessat a poder conèixer més sobre això, pots consultar els detalls al següent enllaç.