Verschillende Linux-maintainers maken zich zorgen over het toevoegen van Rust-code aan het open-source besturingssysteem, met name in de kernel. Dit heeft binnen de groep ontwikkelaars tot flinke discussies geleid. Linus Torvalds blijft een voorstander van de integratie.
Binnen de Linux kernel mailing list is een grote discussie ontstaan over het toevoegen van Rust-code ter verbetering van de kernel. Sommige ontwikkelaars en maintainers vinden dat het toevoegen van deze code, of überhaupt nieuwe code in een bestaande codebase, alleen maar problemen oplevert en moeilijk te onderhouden is.
Voorstanders van Rust in de Linux-kernel erkennen dat het onderhoud van multi-language codebases uitdagend kan zijn, maar stellen dat zij inmiddels voldoende ervaring hebben om dit goed te beheren.
Discussie rond DMA API Linux-kernel
De discussie begon met een voorstel voor een patch die toestaat dat in Rust geschreven device drivers de voornamelijk op C gebaseerde DMA API van de Linux-kernel kunnen aanspreken. Kernel-maintainer Christoph Hellwig verzette zich hier fel tegen en vergeleek het onderhouden van meerdere programmeertalen in Linux met kanker.
Dit leidde tot kritiek van andere maintainers die wél voorstander zijn van Rust-integratie. Uiteindelijk werd een ‘Rust kernel policy’ opgesteld, maar dat bracht Hellwig er niet toe zijn bezwaren in te trekken.
Rust sinds 2022 onderdeel Linux-kernel
Rust maakt sinds 2022 deel uit van de Linux-kernel, omdat deze programmeertaal betere memory safety biedt dan C. Het is al langer bekend dat veel geheugenfouten kunnen worden voorkomen door veilige programmeertalen en tools te gebruiken. Denk aan talen als Rust, Go, C#, Java, Swift, Python en JavaScript.
Door deze talen, en met name Rust, in Linux te gebruiken, kunnen fouten die voortkomen uit het gebruik van oudere talen zoals C en C++ grotendeels worden opgelost, zo is de gedachte.
Oudere programmeurs die vooral met C en C++ werken, zijn hier niet altijd blij mee. Zij vrezen dat hun werk, inclusief het onderhoud van de kernel, irrelevant wordt. Veel Linux-experts begrijpen deze zorg, maar benadrukken tegelijkertijd dat de implementatie van Rust juist kan helpen om veel fouten op te lossen. Volgens hen verstevigt de integratie van Rust de bestaande C- en C++-codebase.
Torvalds voorstander van Rust-integratie
Inmiddels heeft ook Linux-goeroe Linus Torvalds zich in de discussie gemengd. In principe blijft hij een voorstander van de Rust-integratie. Linux-maintainers moeten zich volgens hem realiseren dat deze ontwikkeling doorgaat en dat zij niet zelf kunnen bepalen of bijvoorbeeld bepaalde device drivers in Rust worden geschreven.