ソフトウェア

LinuxカーネルへのRust導入は定着したとの合意、「実験的」タグを外すことが決定


C言語で書かれたLinuxのカーネルでプログラミング言語「Rust」を使えるようにすることについて、メンテナーズ・サミットで議論が行われて「もはや実験段階ではない」ことが確認され、これまで付与されてきた「実験的(experimental)」タグの解除が決定しました。

The (successful) end of the kernel Rust experiment [LWN.net]
https://lwn.net/Articles/1049831/


Rust in the kernel is no longer experimental | Hacker News
https://news.ycombinator.com/item?id=46213585

LinuxのカーネルはC言語で書かれていますが、それゆえにメモリ関連のバグが絶えず、2020年から、メモリ安全性に優れたプログラミング言語「Rust」をカーネル内で使えるようにする「Rust for Linux」プロジェクトが進んでいます。

Rust for Linux
https://rust-for-linux.com/


Linuxコミュニティも一枚岩というわけではないため、Rustの導入に反対する意見も根強く存在し、Rust導入推進派との間でいざこざも発生していました。

一例として、Rust導入反対派であるカーネルメンテナーのクリストフ・ヘルヴィヒ氏は、推進派によるRust入りのコードを拒否。「クロス言語コードベースでLinuxを保守不可能にしたくないなら、この『がん』をコアサブシステムに拡大せず、ドライバー側で処理すべきです(炎上対策として述べると、『がん』とはクロス言語コードベースのことでありRust自身ではありません)」と述べました。

Mixing Rust and C in Linux likened to cancer by maintainer • The Register
https://www.theregister.com/2025/02/05/mixing_rust_and_c_linux/

また、ヘルヴィヒ氏は「統合プロジェクトとしてのカーネルの保守性は、他の言語が少しずつ入り込むたびに劇的に低下していきます。Linuxがこれほど長く存続できた唯一の理由は、内部境界を持たないことにあり、別の言語を追加することで限界に達しています。私の答えは気に入らないかもしれませんが、私は阻止するためできる限りのことをします。決してRustを嫌っているからではありません。Rustは、最も好きな言語というわけではないものの、間違いなく最高の新言語の1つであり、適した新規プロジェクトでの使用は推奨します。しかし、私が保守しなければならない巨大なCコードベースの近くにRustが入り込むことは、決して望みません」とも述べたとのこと。


ヘルヴィヒ氏による主張を受け入れる形で、リーナス・トーバルズ氏がRust導入推進派によるプルリクエストを受け入れなかった場合、Rust for Linuxは事実上終了するものだったとニュースサイトのThe Registerは報じています。

実際、2024年9月にはRust for Linuxに携わった、Microsoftのソフトウェアエンジニアであるウェドソン・アルメイダ・フィリオ氏が「非技術的ナンセンス」と述べて、Rust for Linuxを離脱したという動きもありました。

しかし、トーバルズ氏はRust導入に基本的に賛成する立場を取り、最終的に、2025年12月に開催されたメンテナーズサミットで「Rustはもはや実験的ではなく、カーネルのコアであり、定着している」との合意がなされ、「実験的」タグは外されることになりました。

Linux情報サイトのLWN.netは「Rust for Linuxチームの皆さん、おめでとうございます」とお祝いの言葉を述べています。

この記事のタイトルとURLをコピーする

・関連記事
無料でLinuxカーネルの仕組みを学習できる「Linuxカーネルエクスプローラー」 - GIGAZINE

Steam上のLinuxゲーマーがついに3%を突破 - GIGAZINE

AndroidでLinux向けGUIアプリを動作させるテストが進行中 - GIGAZINE

ついにLinuxデスクトップのシェアが5%に到達、アメリカの複数の指標で5%超え - GIGAZINE

in ソフトウェア, Posted by logc_nt

You can read the machine translated English article Rust in the Linux kernel is now consider….