海外コメンタリー

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. セキュリティ

    警察把握分だけで年間4000件発生、IPA10大脅威の常連「標的型攻撃」を正しく知る用語集

  2. セキュリティ

    まずは“交渉術”を磨くこと!情報セキュリティ担当者の使命を果たすための必須事項とは

  3. セキュリティ

    「2024年版脅威ハンティングレポート」より—アジアでサイバー攻撃の標的になりやすい業界とは?

  4. ビジネスアプリケーション

    Microsoft 365で全てを完結しない選択、サイボウズが提示するGaroonとの連携による効果

  5. セキュリティ

    生成AIを利用した標的型攻撃とはどのようなものなのか?実態を明らかにして効果的な対策を考える

ZDNET Japan クイックポール

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

NEWSLETTERS

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

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

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