オープンソース化から1年を経たSecond Life
2007年1月8日の公開以来、SLビューアのコードから複数の非公式な派生コードが生まれている。SLのWikiに掲載されている非公式ビューアの大半は、個別にメンテナンスが行われており、それぞれに特定の機能の追加に注力している。機能の追加やパーティクルシステムのような既存機能の強化を行ったもの、公式ビューアではまだ適用されていないバグフィックスを組み込んだもの、さらには公式ビューアにおける変更を元の状態に戻したものさえある。
しかし、Linden社のLiana Holmberg氏によると、代替クライアントの構築はSLのオープンソースコミュニティの一面にすぎないという。先月のSCALE(翻訳記事)で彼女は、昨年から成長を遂げたその他の領域を3つ挙げている。まず、オープンソース開発者たちは公式SLビューアを各種Linuxディストリビューション向けに移植し、パッケージングする作業に取り組んでいる。彼らはまた、アドオンであるWindlight(最近になって公式ビューアに統合されたSL内の大気を再現するためのレンダラー)の開発にもかなり貢献している。さらに、公式のLinux用SLビューアのバグレポートやパッチに取り組み、アルファ版からベータ版への移行期間の短縮に寄与しているボランティアもいる。2007年末の時点で、開発用メーリングリストの購読者数は719人で、パッチの作成に貢献していた社外の開発者は64人にのぼっていた、とHolmberg氏は述べている。
Lindenはビューアのコード強化以外の部分でもオープンソースを高く評価している、とHolmberg氏は力説する。同社はMercurial、SDL、OpenAL、OpenJPEGといったサードパーティのオープンソース・プロジェクトにも開発者の時間を割き、それらの開発には上流工程から貢献している。また、ネットワーク関連のライブラリEventletやWebサービス・フレームワークMulibなど、社内で開発されたいくつかのユーティリティのソースコードも公開している。
2007年の夏には、Linden Lab Innovation Awardsという賞をオープンソースコミュニティに授けることでその優れた貢献をたたえることをLindenは決め、8月に各受賞者が発表されている。ちなみに、その年の最優秀貢献者に贈られたのはMacBook Proだった。
また昨年9月には、Linden Labのアーキテクチャ作業部会(Architecture Working Group)により、SLのサーバ側とクライアント・サーバ間の双方で動作する各プロトコルをどのように形式化、安定化、洗練化するかを決めるミーティングが開かれている。
この1年のLinden社
Linden社のオープンソース開発ディレクタであるRob Lanphier氏に、2007年の進展について感想を語ってもらった。「ここにいる我々全員がそれぞれにさまざまなことを学んだ年だった。我々の多くにとってオープン開発は初めてだったので、この1年で得た多くのものはコミュニティ活動や社外の開発者との関係構築の基本的な部分に関係している。1つ明らかになったすばらしい点は、市場をリードする立場からのオープンソースへの移行はことのほか効果的ということだ。企業によるオープンソース化のほとんどは、立場の弱さから止むを得ず、または巻き返しを図るために行われるため、企業側の関係者はコミュニティを引き寄せるために必死に努力しなければならないことが多い。しかし、市場のトップの座にいれば、コミュニティから半ば迎えられるような形でオープンソースの世界に入ることができる」
「しかし、その部分に関してはもう1つ大きな教訓がある。それは、企業のオープンソースプロジェクトリーダの抱く期待と、そうしたプロジェクトに関心を持つコミュニティの期待との間には大きなギャップが見られる、ということだ。本当に強固で機能的なコミュニティを作り上げるには、お互いの間で相当な意見交換をする必要がある。より高度なコラボレーション(たとえば、リアルタイムのバージョン管理、優れたビルドツールの作成やバグ処理など)を進めるには、やるべきことがたくさんあることがわかった。先ほどそれとなく言ったが、今なお我々社員の多くは、社外からの目にさらされながら仕事をすることについて学んでいる。少なくとも、可能なときには設計のフィードバックが得られるし、またそうする必要があることは学ぶことができた」(Lanphier氏)
Lindenのオープンソース・ビューアは、ほかの領域でも同社の役に立っている、とLanphier氏は言う。「コミュニティのおかげで、CMakeというすばらしいテクノロジへの移行を果たした。CMakeは、クロスプラットフォームのビルドツールで、何種類ものプラットフォーム用のmakefileを容易に管理できる。Lindenの以前の設定システムは機能が不十分で使いにくいという声が開発者のコミュニティから上がり、コミュニティのメンバーCallum Lerwick氏の粘り強さに負けて、Lanphier氏はCMakeソリューションを導入したのだった。
またLanphier氏は、SLビューアのソースコードが公開されたことでLindenの業務上の取引における“摩擦が軽減された”と話している。これにより、当初はプロプライエタリな製品だったWindlightのテストと統合にかかる期間は短縮された。また、コードが容易に参照できることから、商用のライセンシングに関心を持つサードパーティの会社にもアプローチがしやすくなったという。
SLビューア自体の開発について尋ねたところ、Lanphier氏は満足気に次のように語った。「現在、代替ビューアのなかで最も人気があるのはpersonal-bugfixビューアだが、それはすぐに使えるという点でずば抜けているからだ。ミシガン大学(University of Michigan)の立体視ビューアや、現段階では試験的なものでまだ広くは使われていない慶応義塾大学による脳トラッキングビューアなど、もっと進化した実験的なビューアもある」
「我々は恵まれた立場にあると思う。コミュニティと我々自身の生産性を向上させるためにやれることがほかにもたくさんある。仮にコードを公開していなかったら、開発者の数が増え、こうしたツールが開発されるまでにはかなりの時間がかかっていただろう。しかし、完璧を求めていては良いものは生まれない。だから我々は待たなかった。長期的な視野に立てば、我々が求めているのは数多くの代替ビューアではない。むしろ、拡張機能によって機能を向上できる柔軟性に富んだ汎用のビューアのほうだ」(Lanphier氏)
2年目の展望
Linden社では2008年にもLinden Lab Innovation Awardsを設け、これを毎年恒例の行事にしようと考えている。また、Linux用SLビューアについては、Lanphier氏によれば“きわめて近いうちに”ベータ版からアルファ版への昇格が想定されているという。
しかし、こうしたクライアント側の開発は2008年の最注力事項ではないようだ。Holmberg氏もLanphier氏も、発展を続ける3次元仮想世界における最も重要な部分はオープンプロトコルの開発だと述べている。
Holmberg氏によれば、SLの3次元Webは、利便性向上のために既存のWebと同じくらいオープンなものにしなければならないという。SLは、製品開発に使用される企業内の空間といったほかの仮想世界とは異なります、と彼女は説明する。それらの環境では、たとえ別の世界に移動しても、今日のWebが直面しているのと同じアイデンティティ、セキュリティ、同期といった問題が起こる。だが、SLのプロトコルの開発をオープンにすれば、相互運用性と発展の持続性が保証されるというのだ。
Lindenがアーキテクチャ部会を組織したのはそのためだった、とLanphier氏は言う。「サーバインフラストラクチャの大部分をオープン化することには、大いに興味がある。既存の実装に目を通せば、非常に正確で申し分のないドキュメントの作成につながるはずだ」
しかし、SLのGridサーバのソースコードがすぐにも公開されるというわけではないようだ。「我々の現在のサーバ・インフラストラクチャの構造には、ソースコード公開の障害となる要素がいくつか存在する。分割が困難な設計や、コンポーネント間の信頼関係の面で解決すべき問題を含む部分が少なくない」(Lanphier氏)
Lanphier氏はさらに語る。「バックエンドシステムのリエンジニアリングと形式的なAPIの公開方法については、かなりの手間をかけている。この部分は、内部および外部APIのモジュール性を高めてWebサービスをセキュア化するMulibとEventletに依存するところが大きい。我々は、特定のAPIを使用する機能を与えることでセキュリティモデルを設計しており、‘エージェント’の管理と‘リージョン’の管理を分離している。こうした分離により、いったんログインした住人は、異なるホスティングプロバイダによって運営されているリージョン間を移動することができる。また、きめ細かい機能を使うことで、我々のエージェントドメイン内のサーバは、エージェントのいるリージョンプロバイダに依存したリージョン・シミュレータのさまざまなレベルの情報に対するアクセス/操作が可能になっている」
アーキテクチャ作業部会では最終的に四半期に一度のミーティング開催が予定されているが、今のところ次回の予定は決まっていない。
Second Lifeへの協力
HolmbergとLanphierの両氏は、SLを巡るオープンソースコミュニティに参加する前にSecond Lifeを体験してみることを勧めている。このプロジェクトについて詳しく知ることは重要だが、コミュニティそのものはSLの世界の中にも存在する、とLanphier氏は述べている。「Second Lifeは表現のためのプラットフォームであり、その大部分はこの世界の対象を描き出している。こうしたプラットフォームを使うことにより、すばらしいオープンソースコミュニティがSLの環境内に形成されている。SL内のコミュニティは、当社のインフラストラクチャを巡るオープンソースコミュニティよりもずっと大きなものだ」
またHolmberg氏は、SL開発への参加に関心のあるオープンソース開発者たちに「secondlifegrid.net/programs/open_source」を訪れるように呼びかけている。Second Lifeでは通常のエントリの仕方でバグのレポートや優先順位付けを行うことも可能だが、SLビューアを愛用のディストリビューションに移植したり、ビューアコード内のプロプライエタリなコンポーネントを見つけて対応するオープンソースのものに置き換えたり、といった特定の活動への参加も彼女は勧めている。
Lanphier氏は、まだ誕生したばかりのSLにとって、オープンソース開発者の積極的な参加はプラスになる、との立場を強調する。
「今のところ、仮想世界は1994年のWebのような状況になっている。ほとんどの人には5年先、10年先がどうなっているかをなかなか想像できない。その頃には、今ある問題の多くは記憶の彼方に埋もれてしまっているはずだ。テクノロジは進化し、新しいビジネスモデルや企業によってこの領域への投資は活発になるだろう。そうなれば、仮想世界が個人のオンライン活動をますます浸食し、影響力を増して、あらゆる業界、活動、職業と関わりを持つようになる」
「ソフトウェア開発者であれば、我々がこうした取り組みを適切に行っているかどうかを確かめたい、と思うはずだ。ソフトウェアの自由を確立することに本当に情熱を燃やしているなら、この先も仮想世界のテクノロジをオープンスタンダードとオープンソースの基盤に根ざしたものにしておきたい、と思うはずだ。そういう意味では、我々のひとりひとりにオンラインの世界の将来を決める機会が与えられている非常に刺激的な時期にあるといえる」