
機械の中のオレンジ色のカニ:Rust が現代のソフトウェアのルールを書き換える

Microsoft Azure CTO のマーク・ルシノビッチ氏は、2022 年 9 月にソフトウェア業界を驚かせるツイートを投稿しました。彼は、特定の新規プロジェクトでは、Windows、Office、その他の Microsoft コア ソフトウェアの構築に従来使用されてきた言語である C または C++ を避けるべき時が来たと宣言しました。
セキュリティと信頼性を確保するために、ソフトウェアがメモリから未使用データを自動的に消去するシステムであるガベージコレクターに依存できない状況では、Rustプログラミング言語(オレンジ色のカニのマスコットが特徴の、現代的なオープンソースの代替言語)を使用することを彼はアドバイスした。
サティア・ナデラ氏も驚きました。数時間後、マイクロソフトCEOからルシノビッチ氏の受信箱にメールが届き、本気かどうか尋ねられました。
はい、そうです、と彼は答えました。
ルシノビッチ氏は、シアトルで開催されたRustConf 2025の基調講演でこの話を詳しく語った。マイクロソフトのクラウドリーダーである同氏は、過去20年間でマイクロソフトのセキュリティ脆弱性の約70%がメモリ安全性の問題に起因するものだと説明した。これはまさにC言語やC++が抱える脆弱性であり、Rustはこれを防ぐために根本から設計されたものだ。
「C と C++ をどれだけ改善したいと思っても、Rust の原点ほど優れたものにすることはできない」と Russinovich 氏はソフトウェア開発者の聴衆に語った。
コミュニティプロジェクトからコアインフラへ
マイクロソフトは、このやり取り以来、Rustへの注力をさらに強化し、多くの製品でこのプログラミング言語を採用しています。最近のバージョンのWindowsをお使いの場合は、System32ディレクトリにwin32kbase_rs.sysというファイルがあります。「rs」はRustの略です。
これは、国家安全保障局から Linux オペレーティング システム カーネルに至るまで、ソフトウェア業界全体でメモリ安全言語を支持する流れの一部です。
Rust は、2000 年代半ばに Mozilla Research で初めて開発され、Microsoft、Amazon、Google、Arm など、世界最大級のテクノロジー企業の一部にとって中核的な戦略コンポーネントとなっています。

9月2日から5日にかけて開催された今年のイベントは、Rustの最初の安定版リリースから10周年を記念するものでした。この節目は、Rustがカルト的な人気から重要なインフラへと進化する中で、これまでの進歩と成長痛の両方を浮き彫りにしました。セッションでは、成功事例と実践的な現実の両方に焦点が当てられました。
大規模組織で新しいテクノロジーを導入するのは「途方もなく費用がかかる」と、Amazonのエンジニア、ラッセル・コーエン氏はあるセッションで警告した。「単に言語を導入するだけでなく、チームが効果的に機能するためには精通しなければならないテクノロジーのスタック全体を導入することになるのです。」
コーエン氏は、Amazonでプロジェクトを統括するRustの専門家がいないチームは、Rustを諦める可能性が40%高いと述べた。コーエン氏は、あるAmazonチームがRustで動作するサービスを構築したものの、組織再編後に全く新しい言語を学ぶメリットを新チームが正当化できず、Javaでゼロから書き直さざるを得なくなったという教訓的な事例を紹介した。
「深い魂の探求と暗い場所」
コーエン氏は、アマゾン社内での Rust 導入を観察し、エンジニアが慣れるまでに約 3 か月かかり、その中間の困難な時期は特に困難になると述べた。

「借用チェッカーには、ある種の深い魂の探求、ある種の暗い場所があります」とコーエン氏は、Rustがメモリを安全に管理するために強制する厳格なルールについて言及した。「そして、人々はそこを乗り越えてRustで考えることを学ぶか、諦めるかのどちらかなのです。」
そのため、コーエン氏は、Rustが既存の技術を桁違いに改善する場合にのみ、チームにRustを採用するようアドバイスしています。好例の一つはAmazonのFire TVチームで、彼らはRustを使用してデバイスのメモリ使用量を10分の1に削減しました。これはコストに見合う大きな成果です。
ポートランド州立大学のソフトウェア開発者で、RustConfの初期から参加しているアーロン・デヴォア氏は、この言語の魅力の一部はその便利さにあると語る。コンピュータサイエンスの学位を取得し、他の言語の「典型的なバグ」を解決してきた彼は、不可解なエラーメッセージのイライラには慣れていた。
C++ のような言語では、「1 つ間違った入力をすると、エラーだらけのページが表示されます」が、実際には何が問題なのかほとんど説明されません、と彼は説明しました。
対照的に、Rustは開発者を導くように設計されています。Rustコミュニティでは、分かりにくいエラーメッセージはコンパイラ自体のバグとみなされます。「Rustは『ああ、そうだ、おそらくここは変更した方がいいだろう』という感じですね」とDeVore氏は言います。「そして、まさにここがエラーの発生源です。」
この支援的なエコシステムは、今やより正式な構造へと変貌を遂げつつあります。Rust Foundationのエグゼクティブディレクター兼CEOであるレベッカ・ランブル氏は、冒頭の挨拶で、この言語の成熟度の向上を反映する2つの大きなステップを発表しました。
- まず、彼女は資金提供を受け成熟期にあるRustプロジェクトのための拠点となる新しいプログラム、Rustイノベーションラボの立ち上げを発表しました。その最初のメンバーは、暗号セキュリティに重点を置いた、クリティカルでメモリセーフなセキュリティライブラリであるRustlsです。
- 2 番目に、Arm がメンバーシップをプラチナ レベルにアップグレードしたことを明らかにしました。これは、オープン ソース コミュニティにとって極めて重要な時期における、大きな財政的コミットメントです。
企業の関与が拡大するにつれ、Rust の長期的な成功は、新たな支援者と熱意あるオープンソース コミュニティとの間の緊張を管理する能力に左右されるかもしれない。
地域社会と企業の利益のバランスをとる
ラスト財団理事会のプロジェクトディレクター、スコット・マクマリー氏は、この構造はコミュニティに「企業とは異なる独自の発言力」を与えるように設計されたファイアウォールを提供すると述べた。
彼は、大企業のニーズと、携帯型ゲーム機で Rust を使うことに熱意を持つ開発者のような個人の愛好家のニーズを対比しました。
「正直に言うと、大企業はどれもニンテンドー3DSでRustを使うことに関心がありません」とマクマリー氏は言うが、コミュニティの構造は両方の世界のバランスを取ることを目指している。
このコミュニティ精神は、Microsoftのネル・シャムレル=ハリントン氏による基調講演の焦点でした。同氏は「This Week in Rust」ニュースレターの主任編集者であり、Rust Foundationの理事も務めています。彼女は2020年にMozillaのRustチームメンバーの多くが解雇された時のことを語りました。この出来事はプロジェクトを分裂させる可能性もありましたが、コミュニティは団結しました。
「コミュニティからの溢れんばかりの支援に驚きました」と彼女は振り返り、面識のない人々から助けを申し出られたメッセージについて語った。「私のキャリアの中で、これほど理解され、支えられていると感じた経験は他に思い浮かびません」

Rust が広く採用されるようになった今、コミュニティは次にどこに向かうかを決めるという新たな課題に直面していると、Amazon Web Services のシニアプリンシパルエンジニアであり、Rust 言語設計チームの共同リーダーでもある Nicholas Matsakis 氏は説明する。
長年にわたり、プロジェクトの存続は開発者の課題解決とRustの普及拡大にかかっていたと彼は述べた。しかし今、その目標はほぼ達成されたものの、成功そのものが今後の道筋を曖昧にし、より深い考察を必要としている。
「Rustの世界における使命とは何でしょうか?つまり、私たちはただすべてのプログラムをRustで書かせるためにここにいるのでしょうか?まあ、そうかもしれませんね」とマツサキス氏は基調講演の締めくくりで笑いながら語った。
そして彼は、より真剣な口調でこう付け加えた。「でも、そうならないことを願っています。Rustが本当に価値を生み出せる分野を見つけ、そこに注力していきたいと考えています。」