4月24日、Phoronixが「Linux 7.1 Removes Drivers For Long Obsolete Input Hardware: Bye Bus Mouse Support」と題した記事を公開した。
次期Linuxカーネルが、約30年間誰も使っていないバスマウスドライバーをついに削除することが明らかになった。削除されるのは1990年代前半に使われていたISAアドインカード接続のマウス用ドライバーで、現代のシステムでは物理的に接続すら不可能な状況が続いていた。
さらに興味深いのは、比較的新しいOLPCラップトップ向けのドライバーが12年間壊れたまま放置されていたにも関わらず、誰からも修正要求が出なかったことだ。これはLinuxカーネルの膨大なコードベースが抱える現実的な課題を浮き彫りにしている。
なぜ今、古いドライバーの大規模削除が進むのか
Linuxカーネルは長年、極めて優秀な後方互換性で知られてきた。しかし近年、AI/LLMによる自動化されたバグレポートの急増により、メンテナンス負荷が深刻な問題となっている。実際に使用されていないコードに対する無意味なバグレポートが開発者の時間を奪い、真に重要な開発作業を阻害している状況だ。
こうした背景から、Linux 7.1では古いネットワークドライバーの削除と並行して、入力デバイス関連でも大規模な整理が実施される。
30年前のバスマウス時代の終焉
削除される主要なドライバーは以下の通りだ:
バスマウス関連ドライバー(1990年代前半まで使用)
- InPort/Microsoft/ATI XL バスマウスドライバー
- Logitech Bus Mouse(Logibm)ドライバー
これらは現在主流のPS/2やUSBマウスが普及する前の技術で、ISAスロットに専用アドインカードを挿してマウスを接続する方式だった。現代のマザーボードにはISAスロット自体が存在しないため、物理的に使用不可能な状態が長期間続いていた。
1990年代後半〜2000年代初頭のポータブルデバイス
- Palm Top PC 110タッチパッドドライバー(1995年発売の日本製Palmデバイス用)
- ICS MicroClock MK712タッチスクリーンドライバー(2000年頃のタッチスクリーン用)
- CT82C710ドライバー(Intel 386/486システムのPS/2インターフェース用)
CT82C710については、Linux 7.1でi486サポートの段階的廃止も進行しており、このタイミングでの削除となった。
12年間放置されたOLPCドライバーの教訓
特に象徴的なのがOLPC HGPK PS/2プロトコルサポートの削除だ。OLPC(One Laptop Per Child)ラップトップのALPSタッチパッド用プロトコルは、2015年から12年間壊れた状態で放置されていた。
比較的新しいハードウェア向けにも関わらず、メインラインカーネルで機能しない状態が長期間続き、誰からも修正要求が出なかった。これは「コードが存在する ≠ 実際に使用されている」という現実を示す典型例と言える。
削除だけでなく新機能も追加
一方で、現代的なハードウェアサポートも強化される:
- Charlieplex GPIOキーパッドドライバーの新規追加
- aw86927ドライバーへの86938 ASICサポート追加
- Chrome OSキーボードドライバーでのFnキーキーマップ拡張サポート
今回の変更により、入力関連だけで3,374行のコードが削除される大幅なスリム化が実現する。
オープンソース開発の現実的判断
Linuxカーネルの公式ドキュメントでは、メンテナンス可能性を重視する方針が明記されている。今回の削除は、30年間の後方互換性維持という偉業を評価しつつも、限られたメンテナーリソースをより重要な開発に集中させる現実的判断と言える。
オープンソース開発において「誰も使わないコードを維持するコスト」は見過ごされがちだが、実際には新機能開発やセキュリティ対応の足かせとなる。Linuxの今回の取り組みは、持続可能なソフトウェア開発のあり方を示すケーススタディとして注目に値するだろう。
詳細はLinux 7.1 Removes Drivers For Long Obsolete Input Hardware: Bye Bus Mouse Supportを参照していただきたい。