11月26日、Joe Brockmeier氏が「APT Rust requirement raises questions」と題した記事をブログ公開し、話題を呼んでいる。この記事では、DebianのAPTにRust依存を導入する方針をめぐって、技術面とコミュニティ運営の両方で議論が生じている状況について紹介されている。
以下に、その内容を紹介する。
■ 何が起きたのか──APTがRust必須へ
APTメンテナのJulian Andres Klode氏が「2026年5月からAPTにRust依存を導入する」と宣言したことが議論の出発点だ。
この方針では、Rustコンパイラや標準ライブラリをAPT内部に組み込み、以下のコードをRustで書き換えると述べている。
.debのパース処理.ar、.tarなどアーカイブ形式のパース処理- HTTP経由の署名検証コード
Rustを使うことでメモリ安全性が高まり、単体テストもしやすくなる——とKlode氏は説明した。
しかし、この宣言がDebian開発者の間で強い反発を生んだ。
■ 反発の理由1:「最後通告」のようなコミュニケーション
Klode氏はメーリングリストで、
6か月以内にRustツールチェーンを用意するか、そのポートを終了してください。
理解してくれてありがとうございます。
と述べた。
これが“最後通告的”だと受け取られ、John Paul Adrian Glaubitz氏らが「議論を封じる書き方だ」と批判した。
Debianは合意形成を大切にする文化のため、突然の宣言はコミュニティの信頼関係を揺るがすものとして問題視された。
■ 反発の理由2:Rust化は本当に必要なのか?
APTの主要コントリビュータであるDavid Kalnischkies氏は、Rust導入の根拠そのものに疑義を呈している。
● Rustで書き換えたいとされるコードはAPT全体の“ごく一部”
.deb や .ar のパースコードはAPTの内部でも非常に限定的な用途でしか使われておらず、主に以下の2つのツールのためのものだという。
apt-ftparchiveapt-extracttemplates
Kalnischkies氏は、これらの用途が限定的である以上、Rustで書き換える前に「コードをAPT本体から切り離す」選択肢も議論すべきだと主張する。
その場合、Rust依存はAPT全体に波及せず、ポート側がRustツールチェーンを必須とする必要もなくなる。
● Rust化=単体テスト強化ではない
さらに、Klode氏が挙げた「Rustで単体テストを書きやすくなる」という主張にも反論がある。
Kalnischkies氏は、
- C++でも単体テストは書ける
- 実際にAPTではGoogleTestを利用している
- 問題は「言語」ではなく「テストを書く人がいるかどうか」
と指摘している。
■ 反発の理由3:DebianインフラがRustにまだ追いついていない
Rustは静的リンクを多用するため、Debian全体のビルド・セキュリティ管理に追加負荷がかかるという懸念も挙がっている。
Adrian Bunk氏やFabian Grünbichler氏(Rustツールチェーンメンテナ)は、以下の問題を指摘した。
- Rustバイナリは多数のcrate依存を抱え、脆弱性管理が難しい
- 再ビルドの必要性を追跡するためのポリシー(Static-Built-Using)が未整備
- Rust依存は現行インフラと整合しにくく、Debianのセキュリティチームの負担を増やす
このため、「Rust化はセキュリティ向上どころか、現状では逆効果では?」という慎重論が根強い。
■ 根底にある本質的問題:技術より“決め方”が問われている
Debianは「民主的な合意形成」「一企業に支配されない」ことを価値としてきた。しかし今回は、
- Canonicalに雇用されているKlode氏が
- 十分な議論を経ずにAPTのRust化を宣言し
- 他の開発者に作業負担と期限を課す形になった
という構図が懸念を呼んでいる。
技術的な是非以上に、「OSSプロジェクトの判断として適切か」という運営面の議論が中心になっている点が今回の騒動の特色だ。
■ Rustは必要、だが進め方が重要
記事は、「DebianがRustを必要とする未来はほぼ確実だ」と認めつつ、次のようにまとめている。
Rust化を急ぐ“推進役”より、Rustを支える基盤整備に取り組む開発者が必要だ。
そして、APTのような基盤ツールの大きな変更は、コミュニティの合意形成を欠かすべきではない。
詳細はAPT Rust requirement raises questionsを参照していただきたい。