イベントリポート:LinuxWorld2007――初日の講演から
オープンソース化への準備
LinuxWorld初日は、Googleのエンジニアリング部に所属するGreg Stein氏の基調講演で幕を開けた。Stein氏は現在、Apache Software Foundationの議長を務めており、Subversionの開発者としても有名なオープンソース開発者である。
「ソフトウェア産業におけるオープンソースの影響力」と題された講演でStein氏は、Linux+Apacheという構成がWebサーバ市場の大部分を占めるようになった理由として、これらがオープンソースであることを最大の要因として挙げた。「開発プラットフォームを選ぶ際に自由なライセンスの製品と制限のあるライセンスの製品があれば、自由な製品を選ぶのはデベロッパーとして当然のこと。自由な製品は、思うままに拡張することができ、さまざまな実験が行える。その結果、Webの革新的な技術はこのプラットフォームから生み出されることになった」(Stein氏)。
こうしたオープンソースの成功事例は、開発者とソフトウェア産業に「自由なライセンスの製品をもっと増やそうというプレッシャー」を与えるという。そして、オープンソースという選択肢が登城したことで、パッケージ製品を販売するベンダーはその価格を下げざるを得なくなり、製品販売による売り上げはどんどん低下する。また、増えた選択肢をさまざまに組み合わせて利用できるようになったことから、システムの複雑さも増すことになる。この販売収益の低下と複雑性の増加により、オープンソース周辺だけでなく、ソフトウェアビジネス全体がサポート収益を主体とした構造に移行するとStein氏は予想する。
ただし、こうした流れがソフトウェア業界に均一に浸透するわけではない。Stein氏はサポート収益モデルへの流れに抵抗できるものとして、Amazon、Salesforce、Googleといったホスト・サービスを提供する企業や、専門性の高いソフトウェア、例えばゲームのようなコンテンツ・リッチなアプリケーション、税に対する高度な知識を必要とする財務会計ソフトなどを例として挙げた。また、WindowsやOracleデータベースのような極めて複雑ですでに広範囲に使われているソフトウェアもしばらくは残っていくという見方を示した。
Stein氏は、オープンソース化の流れに抵抗するよりも、オープンソース劇的な変化に対する準備をすべきだとし、最後に「エンジニアならば、コミュニティに参加して、オープンソースの流儀と開発手法を学んでおくべきだ。また、マネージャーであれば、オープンソースが自分の責任領域にどのような影響を及ぼすかを予測し、ビジネスを継続的に発展させるために、コミュニティに人材を求めることも考える必要がある」と締めくくった。
Linuxを特許トラブルから守るには
Stein氏に続き、同じ講演会場では、Open Invention Network(OIN) CEOのJerry Rosenthal氏が登壇した。OINはIBM、Novell、Philips、Red Hat、ソニーの5社が出資して2005年11月に設立された企業(2006年9月にNECも参加)で、Linux関連特許の管理とライセンス供与を主な事業としている。
「1年前まで、Linuxのコミュニティは特許侵害訴訟を起こされた場合に身を守るすべを持っていなかった。もっとも、実際には特許番号を示して起こされた正式な特許侵害訴訟は今日まで1つもない。皆さんも『Linuxを訴える』という記事は目にしたことがあると思うが、それらはLinuxの足を引っ張ろうというFUDにすぎない。だが、訴訟に対する準備をしておく必要はある。OINが設立されたのは、Linuxで生まれた技術をこれからも安心して利用できるようにするために、Linuxの特許ポートフォリオを構築する必要があるという考えに至ったからだ」(Rosenthal氏)
現在、OINは100件以上の特許を保有しており、その数は今後も増えていくという。そして、それらの特許のラインセンスは、企業・個人の区別無く、無償で供与される。ただし、ライセンシーは自らが保有する特許権をLinuxシステムに対して行使しないという条件に同意する必要がある。また、ライセンシーの保護もOINの活動に含まれており、ライセンシーがLinuxシステムに関する特許トラブルに巻き込まれた場合、OINがトラブル解決を図るという。Linuxの特許ポートフォリオを武器に、訴訟を起こした企業に対しクロスライセンスを持ちかけるというのが、基本的な戦略である(それに応じない場合は、調査の上で、逆提訴を起こすこともありえるという)。ちなみに、ライセンシーはLinuxと関係ない製品にも供与された特許技術を使うことができるそうだ。具体的には、 現在、OINのライセンシーとなっているのは、出資企業の6社とOracle、Canonical、Open-Xchangeなどだが、今も30~50社と契約に向けた交渉をしているので、この年末には100社程度にはなるだろうとのことである。
Rubyで生産性を高める
オープンソースパビリオンの一角で行われたネットワーク応用通信研究所(NaCl)による「Rubyの時代」と題されたセッションには、まつもとゆきひろ氏が登場。Ruby開発者自身の話が聞けるとあって、聴講者が殺到し通路部分まで黒山の人だかりとなった。
まつもと氏は、RubyおよびWebアプリケーション・フレームワークのRuby on Railsを紹介。Ruby on Railsを使うと、Javaに比べてコードの量は10分の1で済み、1日かかるコーディングが15分でできるようになるという。「毎日1つずつWebアプリケーションを作るようなことはまずないので、1日かかるか15分でできるかというのは、生産性の面からはあまり関係ないように思われるかもしれない。だが、開発者の仕事は作ってそれで終わりではない。15分で済めば残りの時間で既存アプリケーションのメンテナンスができるし、発注元からの仕様変更にも迅速に対応できるようになる」(まつもと氏)。
また、パフォーマンスとスケーラビリティがRubyの課題として挙げられることが多いが、まつもと氏によれば、どちらもクリティカルな問題ではないという。パフォーマンスの問題はCPUの高速化と安価なコンピュータのクラスタ化で解消でき、スケーラビリティに関しても実際はネットワークやデータベースがボトルネックとなることが多く、Rubyで作られたロジック部分はスケールアウトで対処できるので問題になることは少ないという。ちなみに、最近注目を集めたTwitterもRuby on Railsで作られているが、Twitterでは最大11,000回/秒のリクエストを処理したことがあるそうだ。
まつもと氏の説明が終わった後、NaClのOSS応用推進グループの山崎裕美氏にバトンタッチし、NaClのRails統合開発環境「Rails Platform」を使って画像管理アプリケーションを構築するデモが行われた。途中、操作ミスによって多少のロスが生じたものの、予定通り、約10分間で完成。その生産性の高さをアピールしていた。
PostgreSQL 8.3の新機能
最後に講演ではないが、SRA OSSのブースで同社支社長の石井達夫氏がPostgreSQL 8.3の新機能を紹介していたので、その内容を簡単に紹介したい。PostgreSQL 8.3の最大の目玉は、データ更新処理の性能を向上させるHOT(Heap Only Tuple)という機能らしい。
追記型アーキテクチャを採用しているPostgreSQLでは、データの更新は追加として実行され、古いデータから新しいデータへのポインタが作られる。データ参照はそのポインタをたどって行われることになるため、あるデータに更新が頻発すると、検索時にいくつものポインタを経由することになり、検索速度が著しく低下する(update chainの問題)。また、更新の際はデータが追記されるだけでなく、更新されないインデックスまで追加されるため、データベースのサイズが肥大化する。これらの問題は、VACUUMコマンドでデータベースを最適化することで解消することができるが、最近ではPostgerSQLで数百GBクラスのデータベースを扱うことも珍しくなく、そのようなケースではVACUUMコマンドの実行時間の長期化が問題になっているそうだ。
バージョン8.3で追加されるHOTは、検索速度の低下とデータベースの肥大化を抑制するための機能だという。具体的には、データの更新時に最初のデータから最新のデータへのポインタを張ることで、update chainの発生を抑止する。また、データベースの肥大化を防ぐために、局所的なVACUUM処理をバッファ上でリアルタイムに実行し、不要になったタプルを回収、さらに更新の必要がないインデックスを追加しないようにデータベースの構造が変更されている。タプルの回収はUPDATE時だけでなく、SELECT時にも行われる。このHOTを適用することで、更新と挿入を行うベンチマークでは、従来の約2倍のトランザクション性能が記録され、データベースの肥大化もあまり気にならないレベルにまで抑制されたとのことだ。
なお、PostgreSQL 8.3は当初、今年6月のリリースが予定されていたが、スケジュールに大幅な遅れが生じており、石井氏は正式リリースは9月ごろになるのではという予測を示していた。