古いLinuxドライバーを「使わなくなったから削除しよう」という話は、これまでも何度か繰り返されてきた。だが今回の引き金は、人間の開発者ではなくAIだった。LLM(大規模言語モデル)ツールを使って自動生成されたバグレポートが、実際には誰も使っていない古いコードに関して大量に届くようになり、ボランティアのメンテナーたちが対応を強いられる事態が続いた。そのコストが臨界点を超えたとき、「ではいっそ消してしまおう」という判断が下された。Linux 7.1では計138,161行のコードが削除され、1990年代の通信・ハードウェア関連サブシステムが一挙に姿を消したのだ。
ISDNからバスマウスまで:何が消えたか
削除の対象となったのは、現代のPCユーザーにはほぼ馴染みのない名称ばかりだ。ISDNサブシステム全体、アマチュア無線プロトコルのAX.25、ATM(非同期転送モード)ドライバーに加え、PCMCIAおよびISA時代のイーサネットアダプター群が対象となった。ISDNやATMは1990年代の企業ネットワーク・公衆回線網を支えた技術だが、ブロードバンドと光ファイバーへの移行から20年以上が経過しており、メーカーも公式サポートを終了している。
具体的な機種名を挙げれば、3com 3c509・3c515・3c574・3c589、AMD LanceとAMD NMCLAN、SMSC SMC9194とSMC91C92、Fujitsu FMVJ18Xといったネットワークカードが含まれる。これらはISAスロットやPCMCIAインターフェース向けの設計であり、PCI/PCIe世代への移行から2世代が経過している。現に稼働しているサーバーやデスクトップで挿さっている可能性は限りなく低く、ドライバーに対して「修正を要求するユーザー」も実態としてほとんど存在しなかった。
同じリリースでは、バスマウスのサポートも削除された。バスマウスとはPS/2インターフェース以前の1990年代前半に使われたポインティングデバイスで、現代の環境で動かしている人はほぼ皆無だ。Intel 486 CPUのサポートについても段階的廃止が始まった。厳密に言えば486のサポートはすぐに消えるわけではないが、廃止プロセスが公式にスタートしたことで、この世代のCPUが次のメジャーリリースで切り捨てられる道筋が固まった。なお、Linux 7.0ではすでにIBM ThinkPad(Pentium II時代)向けの3780i ACPモデムドライバーが先行削除されており、今回の大掃除はその延長線上にある。
なぜ今、AIバグレポートが引き金になったか
「ユーザーがいないと明らかな場合、これらの古いドライバーを修正することに意味はない」——Linuxカーネル開発者のAndrew Lunn氏はそう述べ、ネットワークドライバーだけで27,646行の削除を提案した。今回の138,161行という最終数字は、そのプロポーザルにISDNやATMなど他サブシステムの削除が合流した結果だ。
実際にそのハードウェアを持っていない人間でも、LLMを使えばコードを走査して潜在的な問題点を列挙するレポートを自動生成できる。使われていないドライバーのコードには技術的な負債が積み重なっていることが多く、ツールが指摘する「バグ候補」の数には事欠かない。ボランティアのメンテナーはそのレポートを受け取るたびにトリアージしなければならず、実際に誰も使っていないコードのために時間を費やすことになる。Linus Torvalds氏はこの状況を静観していたが、Lunn氏のプルリクエストは「何の騒ぎもなく」マージされた。コミュニティの暗黙の合意が、そこに凝縮されている。
AIツールによるバグレポート大量生成が問題になるのは、単に「ノイズが増えた」という話にとどまらない。メンテナーが1件1件の報告に向き合う時間には上限がある。報告が増加するほど、個々の検討時間は圧縮され、「誰も使っていないから消す」という結論が、本来なら十分な検討を経るべき判断に対して、より低コストな合理解として浮上しやすくなる。人間の判断が介在する意思決定プロセスに、AI生成の大量情報が間接的に圧力をかける構図は、OSSコミュニティ以外でも今後繰り返し現れる可能性がある。
Linuxのレガシー削除:繰り返されてきた慣行
コードの削除はLinuxカーネル開発において前例がないことではない。2018年にはKernel Maintainers SummitでArnd Bergmann氏が主導し、8つのプロセッサアーキテクチャのサポートが一括で廃止された。いずれも「アクティブなメンテナーがいない」「実ユーザーがいる証拠がない」という理由からだった。今回の判断基準もほぼ同じだが、一点異なるのは削除の是非そのものが争点ではなかったことだ。AI生成バグレポートの件数がメンテナーの対応コストを引き上げ、判断を加速させた——その点が2018年との本質的な違いになる。
Linuxカーネルの慣行として、一定期間のdeprecation(廃止予告)を経てから本削除に移行する手順が踏まれる。今回削除されたドライバーも、事前に廃止予告が出された後、異議申し立てや「自分が使っている・メンテナンスを引き受ける」という名乗り出がなかったことで削除が確定した。逆に言えば、実際にそのハードウェアを使っているユーザーがメンテナーとして手を挙げれば、ドライバーを復活させる道は理論上残っている。2018年のアーキテクチャ削除でも同様の仕組みが機能しており、「使われていないコードを切り捨てる」という姿勢はLinuxの設計哲学として定着している。
影響範囲:誰が困り、どこに逃げ道があるか
現実的に困る人間がほぼいないことは、Torvalds氏の反応からも明白だ。一部の組み込みシステムや工業用途では古いISA/PCMCIAカードが現役であるケースも残っており、特定のニッチ環境では影響が出る可能性がある。そうした用途をカバーするのが、ディストリビューションの役割になる。
T2 LinuxのリードメンテナーRené Rebe氏は「T2/Linuxはもちろんこのサポートを継続する」と表明しており、メインラインから外れたコードをフォークして維持する意思を示している。Linuxカーネル本体が「コスト対効果」で判断を下す一方、特定のユースケースに特化したディストリビューションが古いサポートを引き継ぐという分業は過去にも起きてきたパターンだ。メインラインの削除が即座に全Linuxディストリビューションでのサポート終了を意味するわけではなく、組み込み用途やレガシー機器を扱う開発者はディストリビューションの動向を個別に確認する必要がある。
AIが大量生成した情報が、OSSプロジェクトの判断をどの方向に動かすか——今回の事例はその問いに対して、まだ前向きとも後ろ向きとも言えない一つ目の答えを出した。削除されたコードに価値があったかどうかより、「コストとして認識されるようになった経緯」の方が、今後のLinuxコミュニティとAIの関係を考えるうえで問い続ける価値がある。
Sources