FOSDEM 25: Zuversicht bei Rust fĂĽr den Linux-Kernel

Rust soll als zweite Sprache in den Linux-Kernel kommen. Zur FOSDEM präsentiert einer der Köpfe des Projekts den aktuellen Stand und einige Meinungen dazu.

In Pocket speichern vorlesen Druckansicht 22 Kommentare lesen
Lesezeit: 5 Min.
Von
  • David Wolski
Inhaltsverzeichnis

An diesem Wochenende verwandelte sich der Campus Solbosch der Universität Brüssel wieder zum Veranstaltungsort des jährlichen Free and Open Source Developers' European Meeting (FOSDEM). Zwei Tage lang stehen dieses Jahr über 1000 Vorträge auf dem Programm, mit ebenso vielen Vortragenden und mit rund 16.000 geschätzten Besuchern – damit kann sich die FOSDEM als weltweit größte Konferenz zu freier Software und Open-Source-Projekten bezeichnen.

Um einen der Sponsoren entfachte sich dieses Jahr im Vorfeld eine handfeste Kontroverse: Der Finanzdienstleister Block unterstĂĽtzt die Veranstaltung ebenfalls. Dessen CEO Jack Dorsey wollte an einer Podiumsdiskussion teilnehmen. Er sagte den Termin jedoch ab, nachdem eine kleine, aber entschlossene Gruppe um Open-Source-Entwickler Drew Devault Proteste gegen Dorseys Auftritt angekĂĽndigt hatte.

In einem Blogbeitrag übt Devault Kritik an Dorseys Rolle beim Twitter-Verkauf und an der Geschäftstätigkeit von Block. Folglich wollte Devault nicht zulassen, dass der Block-CEO sich und sein Unternehmen auf der FOSDEM präsentieren darf. Zu den sonstigen Sponsoren gehören wieder die üblichen Größen wie Google, Red Hat, Arm, Cloud Native Computing und die Linux Foundation.

Unter den Keynotes in diesem Jahr finden sich Themen wie freie KI-Modelle, Systemd und der Linux-Kernel. In einem der ersten Talks informierte Miguel Ojeda, Betreuer der Rust-Integration im Linux-Kernel, ĂĽber den Fortschritt bei dem Projekt. AuĂźerdem zeigte er ein Stimmungsbild dazu, wie andere Kernel-Entwickler mittlerweile ĂĽber Rust denken.

Bei einem Großprojekt wie dem Linux-Kernel mit über Jahrzehnte gewachsenem C-Code sei ein schwieriger Start für Rust quasi vorprogrammiert gewesen. Nach anfänglichen Lobliedern auf Rust als möglicher C-Nachfolger macht sich nun offenbar Ernüchterung bei den Kernel-Entwicklern breit. Zwar werden Rust viele Vorteile wie moderne Compiler und stringente Sicherheit bei der Speicherverwaltung nachgesagt. Dennoch kommt das Projekt wohl nur langsam voran. So brachte erst kurz vor dem Talk die Kernel-Version 6.13 die nötigen Schnittstellen, um tatsächlich echte Treiber in Rust für Linux zu entwickeln. Greg Kroah-Hartman bezeichnete diesen Release als „Tipping Point“ für Rust – also als echten Wendepunkt. Der kommende Kernel 6.14 soll weitere Subsysteme wie die PCI/PCIe-Hardwareschnittstelle im Kernel für Rust öffnen.

Die Integration einer zweiten großen Sprache in den Kernel sorgte demnach für langwierige, zähe Diskussionen. Schließlich benötigt Rust entsprechende Anknüpfungspunkte, damit überhaupt Gerätetreiber und später einmal ganze Subsysteme in der Sprache entstehen können. Einem jetzt Ex-Mitstreiter von Ojeda wurden nach eigener Aussage die nicht-technischen Endlosdiskussionen zu viel. Wedson Almeida Filho warf im Sommer 2024 als Mit-Betreuer von Rust-For-Linux das Handtuch.

Damit verbleiben im Kernteam um Rust für Linux nur noch acht Köpfe. Miguel Ojeda bezeichnete diesen Moment als „dunkelste Stunde vor dem Sonnenaufgang für das Projekt“. So gibt es also durchaus Klärungsbedarf, wie es um die Rust-Integration und um die Stimmung bei den Entwicklern bestellt ist. Miguel Ojeda hatte deshalb eine Umfrage unter den Kernel-Entwicklern gestartet, auch außerhalb der Rust-Gemeinde, und präsentierte einige der gewichtigeren Stimmen in seinem FOSDEM-Talk.

Was bisher geschah: Die Idee, Rust in den Linux-Kernel als zweite groĂźe Sprache zu integrieren, entstand kurz vor der Linux Plumbers Conference 2020, zu welcher sich Rust-For-Linux dann erstmals vorstellte.

(Bild: FOSDEM)

So sei die Gesamtstimmung gegenüber Rust weiterhin wohlwollend, zumal Linus Torvalds und Greg Kroah-Hartman von der Notwendigkeit der Rust-Integration überzeugt sind. Dabei ginge es weniger um schnelle Fortschritte, sondern auch darum, später mal Nachwuchs für die Kernel-Entwicklung zu finden.

Der Quellcode in ANSI-C des Kernels setzt die Einstiegshürden hoch an. Rust könnte es ambitionierten Einsteiger erleichtern, Felder im Kernel zu finden, die zum Mitmachen einladen, zitierte der Talk Kent Overstreet, der Kopf hinter dem Dateisystem Bcachefs. Overstreets Arbeitsweise sorgte zuletzt für heftige Kritik.

Andere Entwickler wie Wolfram Sang erkennen demnach die möglichen Vorteile Rusts an, weisen aber auch darauf hin, dass aktiven C-Entwicklern neben der Arbeit am Kernel schlicht die Zeit fehlt, sich in Rust einzuarbeiten. Jonathan Corbet von LWN merkte an, Rust hätte schon bewiesen, dass die Sprache eine wünschenswerte Ergänzung zur Kernel-Entwicklung sei. Doch alle Beteiligten sollten sich weiterhin auf ein „gewisses Maß an Geschrei“ um Rust einstellen.

Dazu kommt, dass die Sprache noch vergleichsweise jung und noch häufigen Änderungen unterworfen ist. Seitens der Rust-Community ist der Linux-Kernel deshalb nun als gewichtiges Kriterium in die CI aufgenommen. Das bedeutet, Rust muss in neuen Versionen nach einem Pull Request in der Lage sein, die Rust-Komponenten des Kernel zu kompilieren. Nach der Ansicht der Rust-Maintainer sollte GCC auf den Rust-Zug aufspringen, um den Kernel komplett mit GCC zu kompilieren. Dazu sei es laut Miguel Ojeda seitens GCC unbedingt nötig, den Unterprojekten Gccrs sowie Rustc_codegen_gcc volle Unterstützung zuzusichern. Denn die meisten Anwender wollten den Kernel nicht mit Clang/LLVM kompilieren, sondern wenn möglich weiterhin mit GCC.

(nen)