OLS4日目:最後の基調講演をもって閉幕

 第9回OLS(Ottawa Linux Symposium)最終日4日目の土曜日は、LinuxカーネルのSCSIメンテナのJames Bottomley氏による基調講演を含むいくつかのセッションが行なわれて、コンファレンスが締めくくられた。

 この日私はいくつかのセッションに参加することができたが、そのうちの一つに「Linuxデスクトップの音声関連の乱雑を整理する」と題されたPulseAudioプロジェクトの主要開発者Lennart Poettering氏による講演があった。

 Poettering氏は、Linuxの音声システムは乱雑だと主張した。サウンドデバイスをめぐってOSS、ALSA、EsounD、aRtsなどの互換性のないサウンド用APIが数多くありすぎる一方で、そのようなシステムにはどれにも制限があるという。また抽象化APIもあるものの、広く受け入れられていないとした。抽象化層は、抽象化の対象であるAPIから機能を減らしているのに、その一方で低速化の原因にもなっているとのことだ。

 Poettering氏はデスクトップに欠けているのは「Compizのサウンド版」だと述べた。異なるアプリケーションは異なる音量にすることができるようになっているべきであり、VoIPの時には音楽は停止するようになっているべきであり、Xでフォアグラウンドになっているアプリケーションはバックグラウンドになっているアプリケーションよりも大きな音量にすることができるようになっているべきであり、各アプリケーションは使用する音声デバイスを覚えているべきであるという。また、再生ストリームの切り替え(例えば音楽からVoIPへの切り替え)が、いったん停止せずに可能になっているべきであり、サウンドのストリームはスピーカーとUSB経由のヘッドセットとの間を音が途切れることなくシームレスに移ることができるようになっているべきなのだという。

 Poettering氏によると、Linuxでの音声関連にはそのように足りない機能があったりAPIがごたまぜ状態であったりなどという短所もあるものの、サウンドのネットワーク透過性、高レベルの音声アプリケーションの幅広さ、カーネルの低遅延性などといった長所もあるという。

 Linuxで音声関連が乱雑になってしまっているのは、音声ということ自体に問題があるためではない(必然的なものではない)とPoettering氏は述べ、その証拠としてAppleのCoreAudioやWindows Vistaのユーザ空間のサウンドシステムを挙げた。そしてLinuxでの音声関連を改善するための取り組みとして、(ドライバがなくなることがあっても)OSS(Open Sound System)のAPIの利用がなくなることはないだろうということを認める必要があるとした。OSSはLinux用サウンドAPIの中で最もクロスプラットフォームなものであるため、OSSのAPIとの互換性を維持することは大切だ。ただしそれと同時に、単一のAPIへ標準化するということも不可欠なのだという。Linuxの音声は、既存のAPIを抽象化するのではなく、既存の全APIを併合して今ある機能を維持する必要があるとのことだ。

 Poettering氏によるとそのような問題を解決するのが、EsounDと交換可能なGPLのモジュール形式のサウンドサーバ「PulseAudio」だという。PulseAudioはサウンドデバイスのためのプロキシで、アプリケーションからの音声データの受信やアプリケーションへの音声データの送信を行なう。PulseAudioでは、サンプリング周波数や音量の調整、フィルタの提供、サウンドのリダイレクト、チャネルのルート切り替えなどを行なうことができる。PulseAudioは34個のモジュールから構成されていて、OSS、ALSA、SolarisやWin32などのサウンドをサポートしている。またLinux用リモコン機能のLIRCまでサポートしているとのことだ。

 PulseAudioは、プロフェッショナルな音声パッケージの「Jack」と競合するものではなく、一緒に使用することが可能だという。PulseAudioは、ストリーミング用のソリューションではなく、トラックの分離やデコードなどを行なうためのシステムでもない。また新たなEsounDもどきを人々に押し付けるための試みでもないという。PulseAudioは、EsounDとALSAのdmixのすべての機能をサポートしたまま交換可能であり、すぐに問題なく動くとのことだ。

 現在、PulseAudioはほとんどのディストリビューションに含まれているが、デフォルトでは有効になっていない。この度Poettering氏はRed Hat社で働くことになったそうなので、もしかするとFedora 8ではデフォルトで有効になるかもしれないとのことだ。

James Bottomley氏による基調講演

 今年のOLSの最後の基調講演は、カーネルのSCSIメンテナであるJames Bottomley氏によって行なわれた。Bottomley氏は、とりわけ蝶ネクタイをしていることでもよく知られているカリスマ的なイギリス人だ。講演は活気溢れるものであり、「進化と多様性:Linuxにおける自由とオープンの意味」と題されていた。

 Bottomley氏は、昨年Greg Kroah-Hartman氏が基調講演で使用した「ダビデと空飛ぶスパゲティの怪物」の図を借りて「Linuxは進化的に作られたものであり、インテリジェント・デザイン的に作られたものではない」という説明を添えて示した。Bottomley氏によると、「進化」とは淘汰のプロセスであり、「多様性」とは進化のための入力なのだという。進化は、多様なものの中から最も理想的な選択肢を選択する。自然界での進化は、多様な入力の中の1つか2つか3つ程度の理想的な種に帰着する。Linuxでは進化は、Linuxカーネルメーリングリストにおいてや、パッチのレビューの際や、テストを行なう際や、メンテナの意向などによって時折起こる大虐殺による敵対的なプロセスだとのことだ。

 Bottomley氏によると、VoyagerやPA-RISCのような風変わりなアーキテクチャが生み出す多様性も、Linuxの進化プロセスの役に立っているのだという。というのも、そのようなアーキテクチャをカーネルに含めるためには、革新が必要となるためだ。またその他にも、ユーザの少ない小さなコミュニティによって、例えばアクセシビリティなどの大きな変化がもたらされることがあるという。カーネルに含まれるものは、人気度やユーザの数によって決められるのではない。カーネルには、良くできているものであれば何でも含められる。

 Bottomley氏は、進化と多様性は対立し合う力だと述べた。そして進化と多様性のギブ&テイクから「革新」が生まれるのだという。同様に「自由」も、進化と多様性のギブ&テイクの結果として生まれる。このエコシステムが機能している限り、人々には考え、革新し、夢を持つ自由が与えられる。Linuxは、大きいものであれ小さいものであれ、すべてのデバイスをサポートする。

 Bottomley氏はまた、オープンであることは自由であることとは違うと述べた。オープンであることは進化プロセスに必要な「インプット」であるのに対し、自由は進化プロセスの結果として生まれる「アウトプット」なのだという。つまりコードを公開しなければ、そのコードをレビューすることは誰にもできず、結果的にそのコードがデバッグされたり安定するようになることはない。

 Bottomley氏は、Linuxカーネルの-rc1をテストしていない人には、カーネルに不平を言う権利はあまり与えられていないと述べた。したがって、ディストリビューションに含まれているカーネルだけを見るのではなく、上流のカーネルにも注目して欲しいとのことだ。上流でバグをテストする人が増えれば、ディストリビューションに入るバグの数は減るという。Bottomley氏は、カーネルがディストリビューションに入る前にバグを見つけることができたら良いと思わないかと問いかけた。

 Bottomley氏によると、メンテナはプログラムの方向性とコーディングスタイルの決定者だとし、メンテナは進化プロセスの保証人であると表現した。またメンテナは、進化プロセスにおいて、人々を動かし、革新を促すという仕事を請け負っているのだとのことだ。

 多様性そのものは、進化に対する圧力として働くという。古いが非常に良く使われる「ビット腐敗」という言葉があるが、ビット腐敗は死んだものを掃除する壌土の役割を果たすものでもあるという。つまりビット腐敗は、古いコードは死んでなくなるということを確実にするものなのだという。Bottomley氏によると、ビット腐敗こそLinuxのAPIが今後も決して安定することはない理由なのだという。

 多くの人がフォークを恐れている。しかしBottomley氏によると-mmツリーも厳密に言えばLinuxカーネルのフォークに該当するという。Bottomley氏は、SunのCEO、Jonathan Schwartz氏の「人々は『Sun対コミュニティ』という対立の構図を描きたがるが、実際のところはそうではない。企業は競争するが、コミュニティは分裂するだけだ」という言葉を引用したスライドを表示した。この引用は、LKML(Linuxカーネルメーリングリスト)で今年起こった議論の一部だった。

 Bottomley氏は、HP-UX、AIX、SYSV、SunOS、MP-RASといった名前を核爆発の上に重ねたスライドを見せながら、企業が競争するというのはどういう意味だろうかと問いかけた。そして、それはUnix戦争のことを意味するとし、Unix戦争の結果たくさんの死体とたくさんの傷付いた顧客が残ったと述べた。そしてSchwartz氏は「Linuxは例のUnix戦争への逆戻りである」というような印象を与えようとしているのだと警告した。

 Linuxで起こっているフォークや分裂は、Linuxのエコシステムでは必要なものなのだという。フォークは進化プロセスにエネルギーを与える。またフォークは自分の考えをしっかりと持つための健全な概念であり、パラダイムシフトでもあるという。フォークが起こる可能性のないプロジェクトはオープンソースプロジェクトとは言えないとのことだ。Bottomley氏は、一度Solarisのコードを見てフォークできそうかどうか考えてみて欲しいと述べた。Linuxは誰にも所有されていないが、寄与したすべての何千人もの人々がLinuxカーネルの各部分を所有しているとも言える。考え、試し、フォークする自由がコミュニティの原動力なのだ。Bottomley氏は、SunはLinuxに分裂という印象を与えようとしてFUDキャンペーンを行なっているとした。しかしFUDに反撃するよりも、このメッセージを受け入れなければならないと述べた。フォークしても、オープンさと革新性があれば、マージされることになる。そしてその結果は一般的にどちらか一方よりも良いものになる。自然界ではたくさんのフォークが生まれる。進化というプロセスには無駄も多いのだが、Linuxでは進化というプロセスを採用し、発展に役立てている。

 Bottomley氏は「革新の流れ」のスピードを上げなければならないと述べた。プロセスが高速化していて、各リリースにおいて変更される行数は増えているが、それは問題ではなくむしろ好ましいことなのだという。変更のスピードを上げれば、進化のための圧力は必ず大きくなるとのことだ。

 Linuxが直面している問題点の一つに、Linuxが英語で書かれているということがあるという。それにより世界の大部分を占める非英語圏の人々がLinuxカーネルに寄与することに制限が課されているとのことだ。Bottomley氏は、英語以外の言語で書かれたパッチを受け取る方法を考え出す必要があると述べた。

クローズドドライバは「ばかげている」

 Bottomley氏は、クローズドソースのドライバについての議論をせずにLinuxについての講演を終わることはできないとし、クローズド・ソースのドライバを作成することは、自分をコミュニティと進化プロセスとから切り離すということだと述べた。ビット腐敗は強力であるため、カーネルを追いかけるためのレースを常に走り続けなければならないことになるという。クローズド・ソースのドライバは、エンジニアの才能や資金を無駄にする。Bottomley氏は、クローズド・ソースのドライバは不道徳でも不法行為でもないが、ただ「ひどくばかげている」だけだと表現した。

 またBottomley氏は、すでに改心している人に説教してしまうことはよくあるが、良いことではないと警告した。クローズド・ソースのドライバを提供している企業でも、技術者たちはオープンソースを支持していることが多いという。問題なのはそのような企業の経営者や弁護士であり、彼らはコードは知的所有権であり、知的所有権は守るべき所有物と思っているとのことだ。したがってLKML上で技術者に対してフレームを投げても、事態が良い方向に転じることはないとBottomley氏は警告した。それよりも企業の経営陣や法律関係の担当者をねらうべきだという。Bottomley氏は、必要ならLinux Foundationに助けを求めることができるとそのような企業に伝えて欲しいと聴衆に呼び掛けた。Linux Foundationには、NDAの対象となっている仕様から完全にオープンソースのドライバを生み出すためのNDAプログラムが用意されている。Bottomley氏は、このことはすでに発表されているのかどうかわからないが、まだであれば今ここで発表するとして、Adaptecがこの度、オープンソースのドライバ開発のためにNDAプログラムを利用する最初の企業になったと述べた。

 このNDAプログラムの目的は、仕様自体を公開することには問題はないが、エンジニアが文書の余白に名誉毀損と解釈されかねないコメントを書いているために公開できないという企業に向いているという。例えばHewlett-PackardはかつてPA-RISCに関するある文書を公開したのだが、その文書にはライバル企業を激しく非難したいたずら書きが含まれていたため、公開前に弁護士がいたずら書きを編集する必要があったとのことだ。NDAプログラムを利用すれば、そのようないたずら書きなどの小さな秘密の問題を回避することができるという。Bottomley氏は、欲しいのはドライバだけなのだからと述べた。

 Bottomley氏はまとめとして、進化と多様性はその過程で自由が生み出されるまでシステム内に対立をもたらすことになるが、フォークは良いことだとした。最後に、いずれにしても、われわれは今やっていることをやり続ける必要があると述べた。

まとめ

 基調講演の後は、OLS運営者が楽しいアナウンスをしたり景品を配ったりした。運営者のCraig Ross氏は、コンファレンスについてなどの通常のアナウンスの他にも、今回の第9回OLSではこれまでで初めて、参加者たちが主に宿泊していたホテルからも、警察からも、オタワ市からも、参加者が一体どういう人たちなのかという問い合わせがなかったと発表した。

 今回の第9回Ottawa Linux Symposiumでもやはり、運営者であるAndrew J. Hutton氏とC. Craig Ross氏のコンファレンスを開催するプロの手際の良さを見せ付けられた。運営チームはてきぱきと動いていて、すべてをある程度時間通りになめらかに進むように保ち、ほぼすべての講演をハイビジョンビデオで記録し、コンファレンスセンター全域でWPAで保護した無線ネットワークを利用可能にしてくれていた。

 今年のOttawa Linux Symposiumは、スコットランドのエジンバラで開催された年一度のDebConf(Debian Conference)のほんの2日後に開催された。私はDebConfにも参加したのだが、両方のコンファレンスで見掛けた人は5人にも満たなかった。このことはLinuxコミュニティに関わっている人々の多様性と数の多さの証しなのだろう。

Linux.com 原文