OLS開催4日目:Kroah-Hartman氏による基調講演

最終日に相当する開催4日目を向かえた2006 Ottawa Linux Symposiumは、例年どおりに閉幕時の基調講演が行われ、昨年の演者を務めたDave Jones氏による進行の下、今年度の演者であるGreg Kroah-Hartman氏とあわせて来年度の予定演者が紹介された。

Dave Jones氏から紹介されたのは、NovellのSUSE Laboratoriesに所属するGreg Kroah-Hartman氏であり、その際の説明によると、Greg氏はカーネル貢献度の量においてかなりの上位を占めているということである。Kroah-Hartman氏が担当しているのはudevに関する作業であるが、この点については先送りするとして、同氏はファイルシステムからdevfsを削除する件に関して2年間の闘争を繰り広げてきたという点にJones氏は触れていた(その際には拍手喝采が起こった)。Jones氏はKroah-Hartman氏を親しみやすさと社交性を併せ持つ人物であると紹介し、同氏によるカーネル関連のコミュニケーション手腕は最高のものであったと称えた。なお、この紹介時に添えられていたのはKroah-Hartman氏がテーブルに座っている写真であり、その中で同氏は中指を突き立てるという、ある意味非常に外向的な姿勢をとっていた……。

当のKroah-Hartman氏は基調講演を始めるに当たり、自分の娘もきっとこの写真を気に入ってくれるだろうとコメントしていた。

Kroah-Hartman氏による基調講演のタイトルは「Myths, Lies, and Truths about the Linux Kernel」(Linuxカーネルを巡る神話とウソとホント)というものである。

基調講演の冒頭で紹介されたのは、「私にとっての最大の問題は、プラグアンドプレイがWindowsレベルに達していないことですね」という引用であった。同氏によると、これはLinuxをよく知らない人間の発言に間違いない、ということになる。こうしたものは、システムの発展状況に疎い人間から発せられた言葉なのだと。次に同氏がスライドを切り替えると、この発言の主が明らかにされた。この発言者は、NovellのCTOを務めるJeff Jaffe氏であったのだ。となると、Kroah-Hartman氏の説明にもあったように、いくらなんでも、これはかなり以前の発言なのだろうと思うのが普通だろう。ところが次のスライドに切り替わって判明したのは、Jaffe氏によるこの発言は、2006年4月3日になされたものなのである。

この種の誤解に対してKroah-Hartman氏が繰り広げた反論は、Linuxによる既存デバイスのサポート度は、他のいかなるオペレーティングシステムよりも高いというものであった。またLinuxは他に先がけて新機軸を取り入れており、例えばUSB2およびbluetoothを最初に採用したオペレーティングシステムは、他ならないLinuxなのだと。

同氏は、Linuxの対応するハードウェアプラットフォームは、他のオペレーティングシステムより豊富である点にも触れている。その際に聴衆の1人が「じゃあ、NetBSDはどうなんです!」と叫んだが、Kroah-Hartman氏は、NetBSDについては3年も前にLinuxが追い抜いていると反駁した。

同氏によると、携帯電話や無線コントロール式航空機を始め、スーパーコンピュータの73%がLinuxを使用しているとのことである。つまりこれはLinuxのスケーリングの高さを示しているのだと。

Jaffe氏は自社製品くらいは自分で試してみるべきだと、同氏は語る。つまり、Linuxの開発陣は非常にいい仕事をしているのだと。

次にKroah氏が紹介した神話は、「カーネルの設計に一貫性がない」、つまりはロードマップが確立していないという、Linux攻撃の常套句として使われている誤解であった。ロードマップやデザインパスというのは、マーケティング部門の人間にとってお気に入りの言葉だが、Linuxはそうしたものを提供していないと同氏は語る。つまりLinuxは、以前に誰もが手がけなかったものを生み出し続けているのだと。

同氏はまた、「オープンソースの開発過程は、その大部分において、既存の経営管理理論の枠組みに収まっていない」という、ミシガン州立大学で社会科学部の学部長を務めるMarietta Baba博士の発言を引用した。

次に同氏は、宗教画風的な男の裸体の絵画と、奇妙な姿をしたイカもどきの動物とが収まったスライドを映し、「Linuxとは進化のことであり、インテリジェントデザインではない」というLinus Torvalds氏の発言を引用した。

Linuxが当初(基本的に)サポートしているのは単一のプロセッサだけであったと、Kroah-Hartman氏は説明する。その後、ある者の手により他のプロセッサ上でも動作するように改修が施されたのであるが、このような進化は現在も進行中なのである。つまり、Linuxを進化させている原動力は、マーケティング上の都合なのではなく、現実的な要求なのだと。

同氏は続けて、進化を促進する唯一の方法は、カーネルへのコードを追加することであると語った。つまり、コードによる裏付けのないアイデアだけでは、ここまで到達することはできないのだと。

次に同氏が言及したのは、LinuxがPOSIX標準に準拠したのは、6ないし8年前のことになる点であった。そしてカーネルの進化速度は、いまやメジャーリリースごとに6000ものパッチが提供されるほどに高速化している。つまりこうした現状は単に変化の速さだけでなく、安定性の面でもかつてないレベルに到達していることを示しているのだと。

そして同氏は、Linuxを巡る次の神話に話を移し、「安定したAPIがカーネルに装備されない限り、どのベンダもLinux用のドライバを作ろうとはしない」という、よく知られた誤解の1つを紹介した。この種の話題に疎い聴衆に対する補足として同氏は、APIとはカーネル内部で使われている情報交換手段の1つだと解説している。そしてこうした問題については、カーネルのソースディレクトリにあるDocumentation/stable_api_nonsense.txtに詳しく解説がされていると説明がされた。

また同氏は、Linus氏は安定したAPIを必要としていないと説明している。例えばUSBスタックなどは、すでに3回も再実装が行われている。それどころか現状でLinuxは最高速のUSBスタックが利用可能であり、むしろハードウェア的な制限がネックになっているとのことだ。つまりLinuxはスリムであると同時に複合化した存在なのであると。

なおUSBスタックについてはWindowsもこれまでに3回の書き換えを行っているが、この点について同氏は、無統制に存在する雑多な旧式化した独立系ドライバを生かし続ける必要上、いずれも既存システムの範疇での改訂に過ぎなかったとしている。その点Linuxはドライバ群をネイティブにサポートしているため、独立系ドライバの存在が問題となることはなく、必要に応じてAPIを書き換えることが可能で、その際にカーネル中の旧バージョンドライバの延命を気にかける必要もない。つまりWindowsはドライバ群を統制下に置いていないため、結果として任意にAPIを変更することができないのであると。

次に同氏が反駁した神話は、「私の使っているドライバは、マイナーなハードウェアの付属品に過ぎない。そんなものが、メインラインのカーネルに採用されることはない」という誤解であった。これに対してKroah-Hartman氏は、わずか2人のユーザに使われているだけのアーキテクチャも存在しているという反例を挙げている。その他にも使用ユーザが1人しかいないというドライバも多数存在していると。

またKroah-Hartman氏は、ある企業が必要とするマイナーなタスク用のドライバをカーネル中に取り入れることが可能であるかを、同氏に問い合わせてきたケースを紹介した。最終的にこのドライバが組み込まれた結果、同様のタスクを必要としていた他の複数の企業が、独自バージョンのドライバを維持する必要性から解放されたということだ。結局このドライバの使用範囲は、当初は誰もが想像しなかった規模にまで広まり、現在では数千単位のデバイスでサポートされているという。つまり、誰かが独自のコードを公開すれば、多くの人々がその恩恵を受けられる可能性があるのだと。

次に同氏が言及したのは、クローズドソースでバイナリのカーネルモジュールの問題であった。同氏によると、過去に対談した知的所有権関連の法律家の見解は、彼らがどの企業と契約しているかにかかわらず、基本的に「クローズドソースのLinuxカーネルモジュールは非合法である」という点ですべて一致していたとのことだ。同氏によると、これは法律家には言いはばかる意見であるが、自分は公言できるとのことである。

こうした法的な問題について同氏は、結果的に非常に些末的な事柄に始終することになるため、Linux Kernelメーリングリストで取り上げることは避けるよう提案した。

Kroah-Hartman氏は、Linuxディストリビューションにクローズソースモジュールが組み込まれた場合、それがどのような問題を引き起こして進歩を阻害するかを説明し、そうしたディストリビューションに用いられたカーネルの進化に足かせがかけられる点に言及した。つまり、クローズソースのLinuxカーネルに未来はないのだと。

知的所有権を有する企業がそうした権利を擁護したければ、Linuxを使用すべきではないと同氏は発言した。Linuxを使うのであれば、そのためのルールに従う必要があるからである。Linuxのコミュニティで自分の知的所有権を主張するということは、他の人々よりも自分自身を優先することを宣言することに他ならないと、同氏は語る。つまり、クローズソースLinuxカーネルは倫理的にもとるのだと。

同氏が企業に対して提案したのは、カーネルヘッダに目を通し、Linuxの構成要素の権利をそれぞれ誰が所有しているかを確認することである。そうすれば、その中にはAMD、Intel、IBMなどの名前も見つかるはずである。つまり、これら企業のお抱え弁護士の目から逃れる自信があるのかと。

なおNovellは2006年2月9日、今後はGPL以外のカーネルモジュールを新規に採用しない旨の方針を公式に発表している。同氏は、そうした行為を避けるにあたっての本質的な法的理由への言及がなされていない点について触れ、そのような宣言は考えられる限り最も適切なものであると語った。

ここで聴衆の1人が、Nvidiaはどうなのかと叫んだ。Nvidia、ATI、VMWareはどれもGPLに違反しているではないかと。これらの企業は、巧妙な手口で回避をしている。これらはカーネルソースに対する独自コードを構築しているが、GPLの抵触部に関しては、リンクをさせないようにしているのだ。エンドユーザに対しても、ビルドしたものの再配布を禁止して、同様の措置を執っている。つまり同氏によると、VMWareはオープンソースではないということになる。

次に同氏が取り上げた神話は、メインのカーネルツリーにコードを組み込むのは困難であるという誤解であった。

これに対する同氏の説明は、個々のリリースごとに6000点もの変更があるとすれば、誰かがそうした行為を行っているはずだというものだ。つまり必要なのは、カーネルツリーのDocumentation/HOWTOファイルに目を通して、そこに書かれている意味を理解することなのだと。

カーネル開発に参加する窓口には様々なものが存在すると、同氏は説明する。第1の手法は最もお手軽な方法でもあり、それはKernel Newbiesプロジェクトにコンタクトすることだ。より具体的にはkernelnewbies.orgにアクセスしてWebページかwikiを参照すればよい。第2の手法は、Kernel Newbiesメーリングリストに参加することである。同氏は、このメーリングリストの場合、馬鹿げた質問をすることは事実上不可能だろうと語っている。質問の重複を回避するには、アーカイブを参照して過去に提出された質問を確認すればよい。第3の手法にして最後の方法は、Kernel Newbies IRCチャンネルを利用することだ。このチャンネルには現在約300名のユーザが存在しており、通常は地道な活動が展開されているが、たいていの質問については誰かが返答してくれるという。

同氏が一言注意しているのは、支援を求める際には必ず自分のコードを公開する準備をしておくべき点である。逆に言えば、クローズソースのコードに携わっている限り、他からの援助は受けにくいということだ。

Kernel Newbiesからのステップアップを図るのであれば、Kernel Janitorsプロジェクトに参加することになる。ここで得られるのは、実施待ち状態にある作業のリストだ。そしてこのリストの中から、各自が貢献できる項目を探せばよい。自分のカーネルパッチが採用されるのは至福の瞬間だと同氏は語る。この窓口は、多くの人間にとっての入り口になっている。

その次のステップアップは、1日400から500のメッセージが交換されているLinux Kernel Mailing Listに参加することである。フィルタリングは誰もが行っていることなので、すべてのメッセージを読むことができなくても引け目を感じる必要はない、と同氏は語る。すべてのメッセージに目を通しているのは、この世でただ1人Andrew Morton氏くらいのものだということだ。同氏は、実際に購読して質問を発することを奨励している。

なお同氏によると、寄せられてくるコードの評価に携わっている人員は、実のところ数が限られているとのことである。ただし、コードの評価結果に関するフィードバックが返信された場合、その内容に間違いは無いはずであると。また同氏は、これらの人々は本質的に善良だが、ろくでもないコードを送りつけてくる人間の方がよくないのだとも警告している。実際Kroah-Hartman氏自身も、1週間ほどそうした作業に携わったことがあるという。その作業は神経を逆なでするのに充分であったとのことだ。

開発に貢献する意志がある人間は、1週間に数時間でいいから、既存のコードに目を通すこともすべきだと同氏は提案した。つまり、作曲をするなら事前に譜面の読み方も学習する必要があるのと同じなのだと。

次に同氏が行ったのは、コード開発のスキルのない人間は何が貢献できるのだろうか、という質問の提起だ。

Linuxカーネルについて包括的な回帰試験を施すのは不可能であると、同氏は語る。特定の順番でこちらのデバイスを追加してあちらのデバイスを削除した場合に実際に何が起こるかを具体的に検証することはできないということである。このような検証は実際的ではない。求めうる最善のテストは「実際に誰かが自分でやってみることだ」と同氏は説明している。つまり、Linus氏によるnightly snapshotのテストに協力しようということだ。

何か問題を見つけたらbugzilla.kernel.orgに連絡すればよい。そうすることでバグの存在を気づかせることになり、存在に気づかれたバグこそが修正されることになるのだ。

また同氏は、-mmカーネルツリーをテストすることを奨励した。

最後のまとめとして同氏は、Linuxこそが最も多くのデバイス数をサポートしている点に触れた。こうしたLinuxを発展させてきたのは、そのデザインにあるのではなく、進化し続ける力にあるのだと。そしてクローズソースによるドライバは非合法な存在である。つまり、Linuxであればこそ評価と検証という手法を利用できるのだと。

最後に同氏は、最大の重要事項として、規定の方針に従った全国制覇が進行中である点に言及した。

そして次に同氏は、質疑応答に移った。

最初の質問は、デバイスのサポート数だけでなくデバイスをサポートするタイミングも重要ではないか、というものであった。

これに対する同氏の回答は、時宜を得てドライバを用意するには、ハードウェアベンダの協力が肝要であるとのことであった。

次にマイクロフォンに語りかけた人間は、カーネルの仕組みを学習するためには、デザインドキュメントを用意するべきだとの意見を展開した。

これを受けたKroah-Hartman氏の回答は、最新の状況をデザインドキュメントに反映させ続けるには、ソースコードに直接あたる以外に方法はない、というものであった。実際にOSDLは現在、ドキュメンテーション用に専属の人員を用意するための準備を進めているとのことである。その際に同氏が提案したのは、OSDLの参加企業で働いている人間がいれば、こうした作業への資金提供に協力するよう会社側に働きかけることである。

そして登場したのが、Alan Cox氏である。同氏はマイクに向かって、メディアは好んでMicrosoftをボーグ集合体になぞらえているが、それは現実を反映しているのか、むしろLinuxの方がボーグ集合体なのではないか、という質問を発した。

Kroah-Hartman氏の回答は、Microsoftは自らが背負った重荷で行き詰まっているとのことだ。そしてサイズ的に見た場合のボーグ集合体はMicrosoftであるが、機能から見た場合はLinuxの方が該当するだろうと。だが同氏の意見によると、これは先方と当方が競うべき問題ではないという。そうした点に関する競争は気にかけていないとのことだ。

まとめ

Greg Kroah-Hartman氏による基調講演の終了後、毎年恒例の抽選会が開催された。今回の景品としては、CELinuxフォーラム提供によるPhilipsの開発プラットフォームLinux PVRおよび、3台のLinux搭載型Nokia 7700が用意されていた。Red Hatが用意した景品は2個のラップトップ用バッグと3つの赤い帽子であり、IBMが提供していたのは2台のフル装備版Apple PowerMac G5であった。なお、先の帽子を手渡したのはAlan Cox氏であり、抽選番号を引いたのはGreg Kroah-Hartman氏の娘さんである。

今回の共同開催者であるCraig Ross氏はコンファレンスの公式イベントを締めくくるにあたって一連のアナウンスを行った。

最初のアナウンスは、遺失物としてアメリカ国籍のパスポートが届けられているので、所有者は名乗り出て欲しいというものであった。名乗り出た人間はいなかったが、場内は爆笑に包まれた。

Ross氏が来年度の基調講演の予定演者として紹介したのは、名前は挙げられなかったが、SCSIメンテナのJames Bottomley氏であった。同氏は蝶ネクタイを取り出し、カリスマ的存在であるBottomley氏に敬意を表して、来年は参加者全員がこれを着用することを求めた。

次にRoss氏は、参加者に対して閉会用レセプションは近在のパブで行われるが、入場にはコンファレンスのオフィシャルIDを提示することが必要であると告げた。またゲストおよびその配偶者も、登録所で発行されたイベントパスを持っていれば参加できると宣言した。ただし、コンファレンス会場からパブまでの道すがら新たに獲得したガールフレンドや妻その他の家族というケースについては、今回はご遠慮願いたいとされた。またパブにある噴水に入って眠りこける行為は禁止されており、同じくパブに備え付けられたダミーのバルコニーについても立ち入り禁止であることが告げられた。最後に同氏がニヤリと笑って宣告したのが、公衆の面前で悪ふざけをするなら最悪自分の胸からコンファレンスのIDカードだけは外しておけ、という通達であった。

コンファレンスの開催者であるCraig Ross氏は閉会を告げるアナウンスの中で、この中に最初のOLSに出席した方はおられますか、という質問を参加者に問いかけた。この質問に回答すべく挙手をした人数はかなり低く、全参加者の4分の1よりはるかに少ない数であった。私にとっても、参加したOLSはこれが4回目であるが、来年度の開催を心待ちにしているところだ。

コンファレンスへの参加者であるが、Ottawa Linux Symposiumというイベント名から期待される、長髪、無精ヒゲ、サンダル履きという伝統的なコンピュータオタク姿の人間の数は少なかった。もっとも、これらいずれか1つの要素だけを踏襲している人間の数は、それなりに多かったが。またネームプレートから判断する限り、勤め先の経費ではなく、自腹を切っての参加者は非常に少ないようであった。というのも、すべての参加者ではないが、多くのネームプレートには所属する企業名が記されていたからだ。これが何を意味するかは、読者の判断に委ねることにしよう。

本年度のOLSで開催されたセッション、討論会、公式イベントの数はおよそ128であり、前回の96に対して大幅な増加を示していた。個々のセッションは、基本的に会場を4カ所のセッションホールに分けた上で、午前10時に開場され、昼食を挟んで午後9時まで続けられるというパターンで進行された。今回私は昨年より3つ多い26のセッションに顔を出した結果、昨年よりも1つ多い43ページの手書きノートが手元に残った。もっともこれらのサマリーのうち、私が実際にカバーした数は12に止まっている。読者の中にもOLSに参加して独特の雰囲気を堪能された方がおられるかもしれないが、いずれにせよ、来年度の会場で再開できれば幸いである。

NewsForge.com 原文