17 ポイント 投稿者 GN⁺ 2025-12-11 | 3件のコメント | WhatsAppで共有
  • Linuxカーネル内のRust統合作業が実験段階を終え、正式な構成要素として認められた
  • 年次のMaintainers Summitで開発者たちは、Rustサポートを恒久的な機能として採用することで合意した
  • これに伴い、カーネル内のRust関連コードから**‘experimental’タグが削除**される予定
  • LWNの編集者は「実験は終わり、成功だった」と述べ、Rust for Linuxチームの成果に言及した
  • これはカーネル開発言語の拡張と安全性・モダナイゼーションの方向性における重要な転換点と評価されている

カーネルRust実験の終了と正式採用

  • 年次のMaintainers Summitでカーネル内のRustサポートが議論され、参加した開発者たちはRustがもはや実験的機能ではないことで合意した
    • Rustは今やカーネルの中核の一部として定着した
    • これに伴い、関連コードから**‘experimental’表示が削除**される予定
  • LWNの編集者は投稿で「実験は終わり、成功だった」と明記した
    • Rust for Linuxチームの尽力に対して祝意のメッセージを伝えた

コミュニティの反応

  • 投稿タイトルが一時的に誤解を招き、一部の読者はRustの削除と勘違いする反応を見せた
    • 複数のコメントで「一瞬だまされた」「感情のジェットコースターだった」といった反応が続いた
  • 一部のユーザーはPhoronixの見出しスタイルに触れつつ、ユーモラスに反応した
    • Phoronixのベンチマーク活動とオープンソースエコシステムの更新が有用だという評価もあわせて示された
  • 別のコメントでは、MicrosoftがWindowsカーネルにもRustを導入中であることに言及した
    • 一部の構成要素はすでにRustで書かれており、出荷段階に含まれているとの意見が示された

Rust導入の意味

  • カーネル内のRustサポートが公式かつ継続的な機能へ移行することで、
    メモリ安全性の強化とモダンな言語の導入がカーネル開発の一部として定着した
  • カーネルとWindowsの両方でRustが採用され、システムプログラミング言語の世代交代の流れが可視化されている
  • コミュニティは今回の決定を成功した実験の完了として受け止めており、今後のRustベースのカーネルモジュール拡張に期待する雰囲気だ

3件のコメント

 
secret3056 2025-12-12

そうは言っても、メンテナーが何人も離脱したのではないですか?

 
bus710 2025-12-12

ハングル関連の書籍がちょうど1冊出ているのですが、残念ながらLinuxカーネルでのRustの使い方が何度も破壊的変更を経験したせいで、最近のカーネルとは完全には互換性がないようです。GitHubなどを通じて補完されると本当に良いのですが。

 
GN⁺ 2025-12-11
Hacker Newsのコメント
  • Rustサポートはこの2年間で本当に大きく進歩した
    今ではほとんどボイラープレートなしでカーネルモジュールを書けるほどになっている
    “experimental” タグが外れたのは大きな節目だと思う
    今後、各ディストリビューションがRustサポートをデフォルトで有効にしたカーネルを出してくる日が本当の転換点になりそうだ

    • すでに一部のディストリビューションはそうしている
      例えばNixOSとArchはRustで書かれたQRコード付きカーネルパニック画面を有効にしている
      Fedoraもたぶん対応しているはずだ
    • Fedora 43は CONFIG_RUST=y でコンパイルされていると認識している
    • 「Rustサポートをデフォルトで有効にしたカーネル」という表現がどういう意味なのか気になる
      カーネルがRustのユーザー空間をサポートするという話ではなく、単に一部のカーネルコードが rustc でコンパイルされるという意味だと理解している
    • RustがGCCで完全にサポートされるまでは、すべてのプラットフォームで可能になるのか疑問だ
  • 長い抵抗の末にLinuxカーネルでRustが公式に採用されたのは感慨深い
    Rust for Linuxチームに拍手を送りたい

    • 以前、Asahiプロジェクト関連のRustコードがメンテナーの拒否によって混乱していたのを覚えている
      あの件がプロジェクト最初のドミノだったのだろうか
    • Phoronixの記事によると
      Rust for Linuxの共同メンテナーだったAlex Gaynorが正式に退任したとのことだ
      いまはMiguel Ojedaが唯一の公式メンテナーとして残っており、複数のコードレビュアーがいる
  • “experimental” タグが外れたということは、すべてのメンテナーにRustコードを壊さないことが義務化されるという意味なのだろうか

    • 実際には、Rustがカーネルに正式に根付いたというシグナルにすぎない
      開発者がRustベースのドライバーに投資してよいという安心感の表れだ
      ルール自体は依然として同じで、Rustビルドを壊すコードをLinusに送ることはできない
    • カーネル内では、ユーザー空間APIを除いて安定性は保証されない
      つまり、メンテナーが内部Rustコードを壊してもルール違反ではない
  • Rustがサポートしていないアーキテクチャはこれで見捨てられるのかが気になる

    • そうではない。Rustはいまのところドライバーのサブシステムでのみ使われている
      カーネルの中核部分は依然としてCで書かれている必要がある
    • どのアーキテクチャがサポートされていないのか気になる
    • 冗談で「そうだ、全部 cooked だ」と表現している
  • 記事タイトルが “The (successful) end of the kernel Rust experiment” に修正されたとのことだ
    元のタイトルが大げさだというコミュニティのフィードバックを受けたためだ

    • 修正後のタイトルは適切だと思う
      Hacker Newsガイドラインによれば
      「元のタイトルが誤解を招く場合にのみ修正せよ」とされている
    • “successful” という単語はすでに含意されている気がする
      失敗した実験は終わらないからだ
    • 冗談っぽく “Linux devs tried Rust — you won’t BELIEVE the reaction!” みたいなタイトルを提案している
  • 「これは大きな出来事なのか?」という質問に対して

    • 「そうだ、大きな依存関係が追加されたわけだから」
    • 「そうだ」と短く同意している
  • LinuxカーネルドライバーがRustへ向かう流れなら、FreeBSDのようなBSD系も同じ酸化(oxidation) を経験するのか気になる
    それとも抵抗や分化が起きるのか注目している

  • 新しい試みを歓迎する立場だ

    • ただし、ある人は「新しいものは不安定で学びにくい」と反論している
      Rustはメモリ安全性と表現力のおかげで、その難しさを引き受ける価値があると思う
  • 現在カーネルのどの部分がRustで書かれているのか気になる

    • 代表例として DRM Panic “Screen of Death” がRustで書かれている
      Phoronixの記事を参照
    • Rustは主にGPUドライバー周りで使われている
  • カーネルのRustコードに unsafe がどれくらい含まれているのか気になる
    以前はunsafeがあまりに扱いづらいという不満が多かった

    • unsafeコードの大半は、C APIと相互作用する kernel crate の内部に隠されている
      ドライバー開発者はほとんどunsafeを書く必要がない
    • unsafeは本質的に境界部分のコード(edge) でのみ使われるよう設計されている
      大半のコードは安全なRustで書かれている
    • unsafeは今でも難しいが、実際のドライバーコードではほとんど登場しない
      例えば pwm_th1520.rs
      SendSync をサポートするための1行のunsafeしか含んでいない
    • unsafeブロックは文書化し、安全なインターフェースで包んで、二度と直接見なくて済むようにするのが原則だ