OSCONで学んだこと
OSCONの設備については、一つだけ小さな不満があった。まだまだこのようなことがあるからWeb 2.0アプリケーションが近いうちに世界を席巻することにはならないだろうと私は思うのだが、OSCONの週の前半に何度かワイヤレスネットワークが使用できなくなり、ネットワークチームが対応するまで参加者はインターネットなしの状態になってしまった。OSCONのようなイベントに参加しつつも、堅牢なネットワーク接続を終始得ることができるようにならなければ、ユーザはやはりクライアントサイドのアプリケーションとローカルに保存したデータを好むだろう。その点以外はOSCONの運営は例年のとおり優れていた。
私はいくつかの講演に出席したが、講演の質の高さには感心させられてしまった。OSCONは大物を呼んできて彼らの技術について話をさせるのがうまい。例えばLarry Wall氏とGuido van Rossum氏の両氏が参加していて、それぞれPerl 6とPython 3000の現状についての講演を行なった。
Python 3000の講演には残念ながら出席できなかったのだが、Wall氏によるPerl 6の最新情報についての講演は聞くことができた。講演が行なわれた部屋は、Perlの現状についての講演に興味津々である聴衆で満員(以上)になっていた。どうやらPerl 6には、昨年の講演以来、数多くの変更が行なわれたようだ。Wall氏はPerl 6言語のみについて話し、Perl 6やその他の言語を実行する仮想マシンであるParrotについての詳しい話はなかった。なおPerl 6の最終リリースの期日はまだ未定とのことだ。
性能の向上は簡単ではない
PostgreSQLコアチームのメンバーであるJosh Berkus氏は、「Performance Whack-a-Mole(性能改善はモグラたたき)」と題した、ためになる講演を行なった。講演では、データベース駆動型のオンラインアプリケーションの性能を向上させるための手法についての考察が行なわれた。Berkus氏によると同講演は、数日前に行なわれたチュートリアルの短縮版とのことだ。
Berkus氏は、性能のチューニングの不確実性や、性能をチューニングする際に最大の効果を上げるためにはどのアプリケーションやシステムのどの部分に注目すべきかについて話した。Berkus氏はまた、抽象的な話、すなわち、システムのどのレベルに性能問題が存在する可能性があるのかや、最初に取り組むべき問題は何かなどについても聴衆に説明した。例えばBerkus氏によると、「経験から言って、すべての性能問題のうちの10%未満の箇所が、システム全体の性能低下の90%の原因となっている」のだという。
目に見える見返り(システムの性能向上)を得ることができない可能性があるため、追跡にあまり多くの時間や手間をかける価値のない性能問題もあるが、しかしその一方で、性能に大打撃を与えていてボトルネックとなっている可能性のある性能問題もあるということだ。
Berkus氏はまた、「最大の性能問題によって、他にも存在する可能性のある性能問題が隠れてしまう」と述べた。言い換えると、最大の性能問題を解決するまで、問題を起こしている他の「モグラ」に気付かない可能性があるということだ。さらに言えば、性能のチューニングは、より小さなモグラ、より小さなモグラと次々に発見していくことになる、長い作業になるかもしれないということだ。
短縮版だったとは言え、この講演でBerkus氏は、アプリケーションの性能問題の解決に役立てることのできるいくつかの優れたヒントを聴衆に与えてくれた。
コミュニティというテーマ
今週始めに開催されたUbuntu Live(翻訳記事)では「コミュニティ」が大きなテーマだったが、これはOSCONでも同じだった。昨年のOSCONではコミュニティというテーマは一般的ではなかったのだが、今年のOSCONにはコミュニティが中心的なテーマであるセッションが複数あった。
木曜日には「The Art of Community(コミュニティ運営ノウハウ)」というパネルセッションが行なわれたので参加した。パネリストは、Danese Cooper氏、Brian Behlendorf氏、Karl Fogel氏、Sulamita Garcia氏、Dawn Foster氏、Jimmy Wales氏、(「whurley」として知られる)William Hurley氏だった。パネルでは、「健全なコミュニティを作るには?」(なおこれについての最も優れた答えは「人を殺さないこと」だった)や、コミュニティにおける悲惨な体験談、コミュニティが大きくなり過ぎて問題になるということがあるのかどうか、オープンソース企業が買収されたときにコミュニティも買収され得るのか、コミュニティにやる気を起こさせる方法などのトピックが取り上げられた。
上記のトピックはどれもかなり大きなテーマであり、それぞれ、それ自体で一つのセッションが行なわれても良いほどのものだった。各パネリストはおそらく、どのトピックについてもセッションの時間をフルに使うほどの話をすることができたことだろう。そのため、セッションに割り当てられていた45分間でこれらすべてのトピックを扱おうとすることはほとんど不可能なことだった。トピックのどれかを深く議論するのではなく、それぞれのパネリストには考えを一つ二つ述べる程度の持ち時間しか与えられなかった。セッションは楽しめるものだったが、得られるものはかなり少なかったように思う。
楽しく、独創的に
金曜のJames Larsson氏の「Pimp My Garbage(私のごみを利用して)」というセッションでは、滅多にないほどよく笑わせられた。Larsson氏の講演は厳密に言うとオープンソースに関連しているわけではないのだが、O’Reilly社の別の出版分野、具体的にはMake Magazineつながりの講演だった。
Larsson氏は、特に独創的で面白いハードウェアのハックの写真やビデオをいくつか紹介した。中には、大かっさいを博した「Leather Fetish Pong(革フェチのためのPong)」というものもあった。Larsson氏の説明によると、古いPongというゲームからチップを取り出し、2足の革でできたブーツにセンサーを取りつけて、ブーツを優しくなでるとPongゲームの中のコントローラを操作することができるようにしたとのことだ。
Larsson氏はそれだけでは飽き足らず、さらにブーツのコントローラの間に乗馬用のむちを追加して、プレイヤがボールを落すと、むちでプレイヤを「罰する」ようにした。このシステムが実際に動いているところを撮影したビデオをLarsson氏が見せると、聴衆は大爆笑していた。
失敗は重要
「The Myths of Innovation(革新の神話)」というセッションでは、Scott Berkun氏が有名な発明にまつわる話をいくつか紹介し、革新ということが誤った捉え方をされることが多い理由を説明した。Berkun氏は、歴史として革新的な発明が語られる時には、発明が生まれる直前の最後の成功する段階が注目され、革新に至るまでの出来事が軽視される傾向にあることを指摘した。
Berkun氏は、「(発明についての)話のほとんどは、氷山の一角」であり、発明のためにそれまでに注ぎ込まれた作業がすべて無視されていると述べた。失敗と、何かを探求する上で失敗を恐れないこととは、成功することと同じくらい大切なのだという。その理由は、たくさんの失敗をすることなく成功に至ることが稀であるためとのことだ。
Berkun氏が事実と異なると証明しようとしたもう一つの「神話」は、「人々は革新を好む」という考え方だ。Berkun氏は、人々が革新を嫌うということの特に顕著な例としてラッダイト運動を挙げた(ただし当然ながらこれは生計に影響するような革新と変化に限った例ではある)。
またBerkun氏は、人々が過去の出来事を振り返る際に、発明や革新(やその他の出来事)を運命として必然的に起こったものだとみなしがちであるということを示した。当然ながらそれはおかしなことであり、特定の未来へ人々を追いやろうとする抵抗しがたい流れなどがあるわけではない。したがってわれわれは、自分たちが望む未来を実現するには意識して取り組む必要があるのだという。
これはFOSSコミュニティにとっては特に注目すべき教訓だと思う。FOSSコミュニティのリーダーは、これまでのFOSSの成功のことを、FOSSが主流になりプロプライエタリなソフトウェアの重要性や影響力が衰えてより自由な未来へと変化する、運命的で必然的な変化の一部であると好んで表現する。そのようなことが起こる「可能性」があることは間違いないが、保証されているわけではない。われわれFOSSコミュニティは、多くの人が支持したにも関わらず現状維持勢力に屈した様々な運動から学ぶために、過去を知る必要があるのだ。