Linden Labの進める“Second Life”オープンソース化への道

 本年度初頭Linden Labからは、その運営するオンラインバーチャルコミュニティSecond Life用のビュワーがGPL 2.0ライセンスの適用下でリリースされたが、「派生著作物にはGPLライセンスを適用しなければならない」という負担から開発者を解放するため、特定のオープンソースライセンスについての“FLOSS例外規定”と呼ばれる条項が付加されている。こうした例外規定をLindenが付加したのは、Second Lifeビュワーのコードをベースにした新規アプリケーション開発を奨励するためだとのことである。「弊社Linden Labによる単独開発に固執しない方が、Second Lifeのもつ可能性を伸ばせるはずだと気づいたためです」と、Lindenのオープンソース開発の責任者を務めるRob Lanphier氏は語る。「私たちが必要としたのは、より大きく成長させるために、全世界の開発者の協力を募る方法を確立することでした」

 Lanphier氏がLinden Labに参加したのは、既にオープンソース化構想が立ち上げられていた2006年9月のことである。そのきっかけとなったのは同社CEOを務めるPhilip Rosedale氏であり、同氏は以前にReal NetworksのCTOを務めていたこともあって、Second Lifeビュワーのオープンソース化だけでなく、高度に複雑化したプロジェクトの運営そのものについてもオープンソースの専門家による指導が必要であることに直ぐに気づいたのだそうだ。そしてRosedale氏が目を付けたのが、Real用のHelixクライアントのオープンソース化を任されていたLanphier氏という訳である。

 「(当時のLindenは)ソースコードの公開とサービスの提供を同時に進める作業の困難さを甘く見すぎており、ちょっとした信用問題になりかねない事態でした」とLanphier氏は語る。「私は以前にReal Networksで9年間働いてHelixコミュニティ構想の技術面に関する責任者を務めていたので、こうした(オープンソース化)問題は経験済みの事柄だった訳です。この種の仕事は誰でもできるという職種ではないので、そのための人材を雇おうにも、必要なスキルを有した外部の人間が限られすぎていたのですね」

 Lanphier氏には、ビュワーのコードをコミュニティに公開することで得られるメリットについて確固たる見通しがあった。「今で言うところのインターネット的なテクノロジを生み出せるチャンスを過去に得ていた、AOL、Prodigy、Compuserveといった企業の事例を見ると分かるように、これらはいずれも各自のネットワークにアクセスする顧客数をいかに確保するかでしのぎを削っていました。こうした企業が当時提供していたサービスは、今日のインターネットと同等の存在となっていた可能性を秘めていたはずです。それを妨げたのは、オープン化する方法を確立すべき重要な時期において、利益の追求に没頭していたからに他なりません。その結果皮肉なことに、これらの企業は、CiscoやGoogleといった現在のインターネット界の巨人と呼ばれている存在になりおおせる機会を逃した訳です。自らの牙城を守ることに固執しすぎたのが敗因だと言えますね」

 こうした教訓を踏まえたLanphier氏がLindenに対して求めているのは、Second Lifeのオープン化を可能な限り進めることで、それも単なる一時の流行に流されるのではなく、その作業を徹底化しておくことである。「個々のレベルで顧客の囲い込みを狙うことも選択肢の1つかもしれませんが、それよりも他のサービスを生み出す土台となるエコシステムを構築した方が、最終的には得られるものが大きいはずです。私が興味深く感じているのは、独自の主力製品を確保しているにもかかわらず、業界リーダの位置を占めている段階でそのオープンソース化を進めようとしているLindenの判断は、他の同種企業には見られない現象だという点です。通常こうした行為は、かつての権勢を失った企業が投げ売り的に放出するか、夢よ再び的な悪あがきとして行うのが常でした。いずれにせよ、今から5から10年もすればこの種のサービスを賄う有力なオープンソース系ソフトウェアが出現するであろうと予測されていますから、それならばいっそのこと今のうちにオープンソース化してしまえば、多くの人間が無用な労力に時間を費やす必要が無くなるはずです」

 Lanphier氏の説明するところでは、この1月にアナウンスされたオープンソース化プロジェクトに関しては、各種の障害を克服しなければならないそうだ。「まずは、いくつかの整理作業が必要です」と同氏は語る。「実際、プロプライエタリ系ソフトウェアをオープンソース化する際には、常にクリーンアップの問題が付きものです。例えばjpeg 2000のレンダリングエンジンはサードパーティからライセンス供与されたものが使われていたので、これを上手いこと分離しなければなりませんでした。」 この件についてLanphier氏が行った措置は、レンダリングモジュール用のコードを記述してオープンソース系の代替品と置き換えられるようにしたことである。「Linden Labの構築したコードはすべてオープンソース化されていますが、ビュワーのコードの中には未だ3から4個のサードパーティ製プロプライエタリ系ライブラリが残留しています。現状ではその分離作業を進めているところです」

 Lanphier氏の説明では、Second Lifeビュワーは当初からオープンソース化を想定して開発が行われたそうだ。「このビュワーについては、端からセキュリティというものを期待していませんでした」と同氏は語る。つまりこれは、そのすべてとまでは行かないにしろ、トランザクションの大半はサーバサイドで処理されるはずであり、セキュリティに対する監視はそこで充分に行えるはずだという発想である。「逆に、多くの3Dゲームなどはクライアントサイドで実行するものなので、クライアント側の不正行為を防止するための様々な方策が講じられています。そうした性質上、こうした企業がオープンソース化に踏み切るのはかなり難しいでしょう。それに対してSecond Lifeはゲームではないので、Lindenドルに関する処理もサーバサイドで行うようにしています。その他、開発者がオリジナルの設計から逸脱したものを作ってしまった箇所がいくつかあり、クライアントを過度に信用する構造になっている部分ができていました。そうした部分については、オープンソース化の前に見直して、必要なパッチを当てるという作業も行いましたね」

 その他の運用上の問題としては、ビュワーコードのダウンロードサイトに多数の開発者が大挙してアクセスした場合を想定して、予想されるサーバ負荷をさばけるだけのインフラストラクチャを整備しておくという課題も持ち上がっていた。「tarボール化したソースのダウンロード用サイトだけではなく、バグレポートやwiki用のサイトなども用意する必要があり、細かいことを挙げていたらきりがありません」とLanphier氏は語る。

 そして解決すべき問題は、技術的な課題だけではなかった。「こうした活動の裏付けとなる、具体的なビジネス戦略を打ち出す必要がありました」とLanphier氏は語る。「この方針を採るのが何故正しいのかを説明し、それを全員に納得させ、進むべき正しい道を見極めるというのは、非常に重要なことです。」 Lanphier氏が特に留意したのは、開発チームによるオープンソース化作業を可能な限りスムースに進行させることであった。「特に神経を使ったのは、極力混乱をもたらさないようにしながら作業を進展させることでした。実際の作業はかなりのハードワークとなりましたが、人海戦術的な進め方はしないことを取り決めていました。またこの種のプロジェクトでは避けられないことですが、開発作業が進行する際にもいろいろと別件の出来事が持ち上がってきましたね」

 LindenのSecond Lifeビュワーのようなオープンソースプロジェクトを指揮するITディレクタにとって重要だとLanphier氏が語っているのは、プロジェクトを取り巻く文化的な側面を理解することである。「ソースコードを公開する仕組みを作ればそれで終わりというものではありません。最初に行うべき手順の1つは、品質保証の態勢を確立しておくことでしょう。インフラストラクチャの整備にあせって手を出すと、バージョン管理に破綻を来したり、ツールが氾濫する結果になりかねません。こうしたプロセスは徐々に進めていくのが肝要です。」

 またバグに関するデータベースの公開をためらってもいけないとされている。「一概に企業というのは、こうした情報を他に漏らしたがらないものです。ソースコードの公開とは、それに付随するバグの情報を公開することでもあり、関係する事柄をメーリングリストなどの公開の場で討論をすることにもなるという事実が、プロプライエタリ系ソフトウェア開発に慣れきった企業にはピンと来ないのでしょう。問題の性質によっては、こうした要件の方がソースコードそのものより重要となる場合もあるのですが」

 オープンソース化を検討している企業が留意すべきその他の要件としては、コミュニティの扱い方を決して誤ってはいけないということも挙げられる。「計画には、そうした意識改革の必要性も盛り込んでおく必要があります。この(Lindenにおける)作業が本格的に進み出すテンポの速さには私自身が圧倒されましたが、それが行えた理由の1つは、オープンソース化に先がけて、必要となる一部の開発者との間で良好な関係を築いておけたからです。例えばSecond Life関連のプロジェクトの1つに、定められていた規約を厳密に遵守していないところがでてきました。その際の選択肢としては、厳罰をもって接してそのプロジェクト自体を御破算にすることも可能でしたが、開発チーム側の認識としては、そんなことをしても不毛なモグラ叩きを繰り返すだけであり、それよりもビュワーのオープンソース化を最優先すべきだという共通意識が形成されていました。今回の件については、問題は規約の方にあったとも言えるでしょう。結局、こうした外部の人々とうまく付き合うことができたおかげで、コードの公開時には私たちを助けてくれる1つのオープンソースコミュニティが形成されていましたね」

Tina Gaspersonは1998年よりフリーランスのライターとして活動中で、主要な業界紙にビジネスおよびテクノロジ関連の記事を執筆している。

NewsForge.com 原文