でも日本では,多くの周辺機器メーカーが,WindowsとMacintosh用のドライバしか提供してくれていません。Linux用のドライバが無いので,動かない機器が,Windowsに比べてまだ多いんです。

リーナス・トーバルズ氏
(写真:加藤 康)

 そうなんですか,それは知りませんでした。たぶん日本のマーケットは多国のマーケットと違うからでしょう。特に,新しいデバイスだとそういう傾向があります。

 例えば,何か新しい機器を作った人がいたとします。彼は,そのデバイスの開発と同時にWindowsやMac OS向けのドライバを作るでしょう。僕たちカーネル開発者は,そのデバイスが世の中に出てきて,仕様が公開されてから後に,ドライバの開発に着手することになります。常に新しい新しいデバイスにキャッチアップしていかなければならないというのはあります。とはいえ,最近はデバイス・メーカー自身がLinux用のドライバを開発してくれるようになってきています。

たとえドライバが存在しても、カーネルを最新版に更新すると、それまで動いていた機器が突然動かなくなることがよくあります。デバイスのメーカーがLinux用のドライバを提供してくれなかった場合,有志がドライバを独自に作り,それを巨大掲示板などで投稿してくれることがあります。これは,私たちユーザーには非常に助かることなのですが,せっかく動くようになっても,カーネルをアップデートするといきなり動かなくなる。ユーザーだけでなく,ドライバを作ってくれた人もうんざりです。カーネル開発速度は速まっているので,ドライバ開発者にカーネルの開発へのキャッチアップを強いるのも酷だと思いますが。

 独自ドライバを作ってる人は、ドライバをオープン・ソースにしてくれればいいんです。ソース・コードを僕たちに公開して欲しい。ソースがあれば、僕たちが、最新カーネルに合うようにドライバを修正できます。この問題は,僕たちがデバイス・メーカーと一緒になってこれから本気で取り組んでいかなければならない。オープン・ソースにすれば,カーネル開発にキャッチアップする必要もない。中にはこの件で僕たちとトラブルになっているメーカーもいます。文化の違いや言葉の違いなどもあります。オープン・ソースにしてくれないと,ベンダーと僕たちの双方にとって良くない。改善してきてはいますが。

とはいっても,やっぱりソースを公開したがらない人もいます。カーネルの新版でも古いドライバがそのまま動くように、カーネルを設計しなおしてほしいという声もありますが,考えは変わらないのですか*3

*3 LinuxはWindowsと異なり,バイナリ・インタフェース(ABI)を固定していない。カーネルが更新されるたびにABIが変わる可能性もあるため,ドライバの開発者は,ソースを公開することでカーネル開発者にソース改変を委ねるか,もしくは自身で常にABIの変化に追いついていかなければならない。

 ここは反対者が多いところだけど、僕はバイナリ・ドライバは拒否します。バイナリ・ドライバしか提供してくれない人は,僕からすれば,協力者ではなく,加害者です。僕たちがカーネル内部を大きく変えようとしているときには,ドライバのソースが欲しい。ドライバのソース・コードがあってこそ、やろうと思っていることができる。バイナリではできない技術的なことが何でもできるんです。

リナックス・ファウンデーション フェロー
Linus Torvalds(リーナス・トーバルズ)氏
1969年12月生まれ。ヘルシンキ大学コンピュータサイエンス学部の大学院生だった1991年秋、UNIX互換OS「Linux(リナックス)」の開発を始める。ソースコードをインターネットで配布し、共同開発するボランティアチームを組織、1994年春にLinux V1.0を世に送った。米トランスメタに勤務しながらLinuxカーネルの開発や保守を手掛けてきたが、2003年から、Linuxの普及を目的とする NPO(非営利団体、現The Linux Foundation)に移籍して開発を続けている。
日経Linux 2009年12月号に掲載したインタビューに加筆しました