What just happened? Rust will soon be part of Linux, Torvalds has decided. The memory safe programming language will join C and the other traditional languages developers use to create new pieces and drivers of the ubiquitous open source kernel.
The debate around the inclusion of Rust in Linux has seemingly ended: Linus Torvalds, the original creator and current maintainer of the open source kernel, has decided that, “unless something odd happens,” Rust will be part of the final Linux 6.1 release.
Rust is a modern, general-purpose programming language designed by Graydon Hoare while working at Mozilla, the first company to officially sponsor and to adopt it for the experimental browser engine Servo.
Like many other compiled languages, Rust can offer native performance while powering different types of applications – from traditional computing to low-resources devices and embedded appliances. Performance aside, Rust is designed to provide memory safety from the get go eliminating many classes of bugs and potential vulnerabilities at compile time.
The first version of Rust was released 12 years ago, while including the language in the Linux kernel has been in discussion for quite some time. Google, one of the founding members of the Rust Foundation together with AWS, Huawei, Microsoft and Mozilla, actively uses Rust to develop Android — the mobile operating system is built upon a modified version of Linux.
After announcing support for Rust in Android, the Android Team began pushing for the language to be included in the kernel as well. In 2021, team member Almeida Filho wrote that Rust was “ready to join C as a practical language for implementing the kernel.” The new language can help reduce the number of potential bugs and security vulnerabilities in privileged code, Filho said, while playing nicely with the core kernel and preserving its performance characteristics.
There were concerns among top Linux contributors about non-standard extensions needed by Rust to work with the kernel, but according to Torvalds, programmers have been using exceptions to the standard C language for “decades.”
Torvalds added that there are still some issues with compilers, but because Rust is well supported in the Clang frontend, merging the programming language will probably help and not hurt the kernel. In the first release, Torvalds warned, Rust will just have the core infrastructure with no “serious use case” to show yet. Nonetheless, kernel merging should mark a first important step in the Linux + Rust future.