FOSDEM 25: Confidence in Rust for the Linux kernel

Rust is to be added to the Linux kernel as a second language. At FOSDEM, one of the heads of the project presents the current status and some opinions.

listen Print view
6 min. read
By
  • David Wolski
Contents

This weekend, the Solbosch campus of the University of Brussels was once again transformed into the venue for the annual Free and Open Source Developers' European Meeting (FOSDEM). This year's two-day program features over 1000 presentations, with just as many speakers and an estimated 16,000 visitors –, making FOSDEM the world's largest conference on free software and open source projects.

This year, one of the sponsors was the subject of a major controversy in the run-up to the event: The financial services provider Block is also supporting the event. Its CEO Jack Dorsey wanted to take part in a panel discussion. However, he canceled the event after a small but determined group led by open source developer Drew Devault announced protests against Dorsey's appearance.

In a blog post, Devault criticized Dorsey's role in the Twitter sale and Block's business operations. As a result, Devault did not want to allow the Block CEO to present himself and his company at FOSDEM. Other sponsors again include the usual big names such as Google, Red Hat, Arm, Cloud Native Computing and the Linux Foundation.

This year's keynotes include topics such as free AI models, Systemd and the Linux kernel. In one of the first talks, Miguel Ojeda, supervisor of the Rust integration in the Linux kernel, provided information on the progress of the project. He also gave an impression of how other kernel developers now feel about Rust.

With a major project such as the Linux kernel with C code that has grown over decades, a difficult start for Rust was virtually inevitable. After initial praise for Rust as a possible C successor, disillusionment is now apparently spreading among kernel developers. Rust is said to have many advantages, such as modern compilers and stringent security in memory management. Nevertheless, the project is only making slow progress. It was only shortly before the Talk that kernel version 6.13 provided the necessary interfaces to actually develop real drivers in Rust for Linux. Greg Kroah-Hartman described this release as the "tipping point" for Rust –, i.e. a real turning point. The upcoming kernel 6.14 should open up further subsystems such as the PCI/PCIe hardware interface in the kernel for Rust.

The integration of a second major language into the kernel therefore led to lengthy, tough discussions. After all, Rust needs appropriate connection points so that device drivers and later entire subsystems can be created in the language. According to one of Ojeda's former colleagues, the endless non-technical discussions became too much. Wedson Almeida Filho threw in the towel as co-maintainer of Rust-For-Linux in the summer of 2024.

Videos by heise

This means that only eight people remain in the core team around Rust for Linux. Miguel Ojeda described this moment as the "darkest hour before the sun rises for the project". So there is definitely a need for clarification as to the state of Rust integration and the mood among the developers. Miguel Ojeda therefore launched a survey among kernel developers, including those outside the Rust community, and presented some of the more important voices in his FOSDEM talk.

What has happened so far: The idea of integrating Rust into the Linux kernel as a second major language was born shortly before the Linux Plumbers Conference 2020, at which Rust-For-Linux was presented for the first time.

(Image: FOSDEM)

The overall mood towards Rust remains favorable, especially as Linus Torvalds and Greg Kroah-Hartman are convinced of the necessity of Rust integration. This is less about rapid progress and more about finding new talent for kernel development in the future.

The kernel's ANSI-C source code sets the entry barriers high. Rust could make it easier for ambitious newcomers to find fields in the kernel that invite them to join in, the Talk quoted Kent Overstreet, the man behind the Bcachefs file system. Overstreet's way of working has recently been the subject of fierce criticism.

Other developers such as Wolfram Sang recognize the potential advantages of Rust, but also point out that active C developers simply don't have the time to familiarize themselves with Rust alongside their work on the kernel. Jonathan Corbet from LWN noted that Rust has already proven that the language is a desirable addition to kernel development. However, everyone involved should continue to be prepared for "a certain amount of shouting" about Rust.

In addition, the language is still comparatively young and subject to frequent changes. The Rust community has therefore now included the Linux kernel as an important criterion in the CI. This means that Rust must be able to compile the Rust components of the kernel in new versions following a pull request. In the opinion of the Rust maintainers, GCC should jump on the Rust bandwagon in order to compile the kernel completely with GCC. According to Miguel Ojeda, it is absolutely necessary for GCC to ensure full support for the Gccrs and Rustc_codegen_gcc subprojects. This is because most users do not want to compile the kernel with Clang/LLVM, but if possible with GCC.

(nie)

Don't miss any news – follow us on Facebook, LinkedIn or Mastodon.

This article was originally published in German. It was translated with technical assistance and editorially reviewed before publication.