海外コメンタリー

Linuxカーネル開発の第2言語にRustを採用する試み、議論の意義とこれから

Liam Tung (Special to ZDNET.com) 翻訳校正: 石橋啓一郎

2021-07-29 06:30

 この30年間、Linuxの開発にはずっとC言語が使われてきたが、その状況が変わる可能性があるだろうか。

 プログラミング言語の「Rust」をLinuxカーネル開発の第2言語にしようとする取り組みが一部で見られるようになっている。Googleは、開発者のMiguel Ojeda氏が中心となって進めている、Linuxカーネルのさまざまな要素の開発にRustを使用することを目指すプロジェクトを支援している

 Googleは、Rustを使えばセキュリティ上の脆弱性を引き起こすメモリーエラーを減らせるはずだと主張している(多くのIT企業やオープンソースプロジェクトがアップデートで修正しているセキュリティホールの多くは、メモリーエラーが原因になっている)。このプロジェクトの目標は、3000万行のCのコードをすべてRustで書き直すことではなく、新しいコードをRustで書くことだ。

 しかし、潜在的なメリットはあるにも関わらず、Rustをカーネル開発の第2言語にしようという試みが成功するかどうかはまだ分からない。少なくとも、この「Rust for Linux」プロジェクトは長期的なプロジェクトだと見るべきであり、2021年第3四半期頃に安定版としてリリース予定とみられるバージョン5.14のメインラインには、おそらく取り込まれないだろう。

 Ojeda氏は、米ZDNetの取材に対して、「このプロジェクトはまだ終わっていないが、上位のメンテナーが現在の変更内容を受け入れ、私たちにカーネルの中身について作業させてくれるなら、私たちにはメインラインの作業に参加する準備ができている」と述べている。「ほとんどの仕事はまだこれからだ」と同氏は言う。

 Mozillaが支援し、開発されたRustは、「Firefox」のレンダリングエンジンである「Servo」の開発に使われた。また、今ではAmazon Web Services(AWS)MicrosoftGoogleFacebookなどの企業でシステムプログラミングによく使われるようになっており、多くの場合、膨大なCやC++のコードベースを利用した開発に使用されている。

 この人気の高まりを受けて、Rustをカーネルの開発に使おうという考え方が一部の大手IT企業に支持されている。

 しかし、潜在的なメリットがあるというだけで、RustがLinuxカーネル開発の第2言語になれるわけではない。それにはLinus Torvalds氏や、カーネル開発を主導している上位のメンテナーからの承認が必要となる。

 そしてTorvalds氏は、Rust for Linuxプロジェクトが作成した最新のパッチをLinuxカーネルにマージすることを求めるプルリクエストを承認すべきかどうかについて、意見を表明していない。

 Ojeda氏は、2021年4月にLinuxカーネルメーリングリストに対して最初のRFC(Request for Comment)を投稿した後、7月上旬に一連のパッチを新たに送った。同氏やその仲間は、パッチがLinuxカーネルに取り入れられることを望んでいる。

ZDNET Japan 記事を毎朝メールでまとめ読み(登録無料)

ホワイトペーパー

新着

ランキング

  1. セキュリティ

    従来型のセキュリティでは太刀打ちできない「生成AIによるサイバー攻撃」撃退法のススメ

  2. セキュリティ

    マンガでわかる脆弱性“診断”と脆弱性“管理”の違い--セキュリティ体制の強化に脆弱性管理ツールの活用

  3. セキュリティ

    クラウドセキュリティ管理導入による投資収益率(ROI)は264%--米フォレスター調査レポート

  4. セキュリティ

    ISMSとPマークは何が違うのか--第三者認証取得を目指す企業が最初に理解すべきこと

  5. セキュリティ

    情報セキュリティに対する懸念を解消、「ISMS認証」取得の検討から審査当日までのTo Doリスト

ZDNET Japan クイックポール

所属する組織のデータ活用状況はどの段階にありますか?

NEWSLETTERS

エンタープライズコンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]