シアトル発--Linus Torvalds氏と、その良き友人でVerizonのオープンソースプログラムオフィス責任者を務めるDirk Hohndel氏が、The Linux Foundationの「Open Source Summit North America」において、「Linux」開発や関連する幅広い話題について再び意見を交わした。
両氏は対談の冒頭で、ソースコード中のタブとスペースをめぐる論争に軽く触れた。これは冗談ではなく、プログラミングの世界では重要な問題だ。ある開発者が、タブをスペース文字に置き換えて「Kconfig」パーサーがファイルを読み取れるようにしてはどうかと提案した。しかし、それは悪手だった。
Torvalds氏が説明したように、Kconfigはカーネル設定解析ツールの間違いを見つけるために、意図的に隠しタブを追加する。これで読者の皆さんもその開発者も分かったはずだ。
話題はカーネルプログラマーよりも一般的なユーザーにとって重要な問題に移り、Torvalds氏は次期「Linux 6.9」カーネルリリースのすべてが「穏やかで安定し、退屈である」と嬉しそうに報告した。30年以上の歴史を持つソフトウェアプロジェクトは、そうあるべきだ。何か刺激的な要素があるのなら、何らかの問題が起きているということなのだろう。
そこから、セキュリティ問題につながる可能性があるハードウェアエラーの継続的な問題の話になった。Torvalds氏は、いら立たしい問題だと述べ、その理由を次のように語った。「ソフトウェアのことなら非常に迅速に対応できる場合が多いが、ハードウェアの担当者たちはこう言う。『5世代分のハードウェアがあり、それらを事後に修正することはできない。問題の回避に役立ちそうな新しいハードウェアが実際に(登場する)までには、あと2~3年かかるだろう』」
「RISC-V」などのオープンハードウェアが台頭しているため、この点は新世代のハードウェアでは問題にならないと思うかもしれないが、Torvalds氏によると、そうではないという。
「恐れていることがある」とTorvalds氏は告白した。「RISC-Vで、他の誰もが過去に犯した同じ過ちがすべて繰り返されてしまうのではないだろうか」。それはなぜか。まず、「ハードウェア担当者はソフトウェア担当者とは違う。両者の間にはかなり大きな隔たりがある」。さらに、ハードウェア開発者は古いやり方を再発明し、過去に犯した同じ間違いをすべて繰り返すことでしか学習しない。悲しいことだが、それが事実だ。
それでも、今回はもっと早く進みそうだとTorvalds氏は期待している。Hohndel氏も指摘したように、Linuxはユーザーのハードウェアプラットフォーム間の差異に対応するのが得意になった。「10年前はまだ、x86から別のプラットフォームへの移行が信じられないほど大変だった」とHohndel氏。「現在、ほとんどの人はAMDのチップとIntelのチップのどちらを使っているのかさえ知らない。クラウド上にあるため、何もかもが全く同じに見える」
一部のオープンソースプロジェクトが先頃、ある問題に直面した。それは、普通の協力的な開発者のふりをしながら、実際には悪意を持っている極悪な開発者だ。Linuxで利用されている小さなプログラム「XZ Utils」にセキュリティバックドアが仕込まれて、メインストリームのLinuxディストリビューションに拡散する寸前まで行った。
阻止は間に合ったし、これはLinuxの問題ではなかったが、やはり憂慮すべき事態だ。Torvalds氏は次のように振り返る。「2021年に大学院生が不正なパッチをLinuxにプッシュしようとしたことがあった。その試みは失敗し、彼らにとって好ましくない結末となった。Linuxのメンテナーたちはその不正なパッチを発見して激怒した。最終的には非常に個人的な問題になり、メンテナーたちはとても腹を立てていた」
しかし、Linuxコミュニティーは特殊だ。1000人以上の開発者がおり、その多くが何十年も一緒に作業している。偽って不正なコードをカーネルに埋め込もうとするハッカーには、不可能に近い仕事が待ち構えている。だが、ほとんどのプログラムではそうならない。
それでも、Torvalds氏はこう指摘する。「メンテナーになった悪人がその利点をついに悪用したとき、数週間のうちに発覚した。オープンソースプロジェクトがこの種の攻撃を発見したことは、そうした攻撃が捕捉されるほどのかなり力強い安定性があることを示している。健全なコミュニティーが最大の防御だ」