GoogleのエンジニアリングマネージャであるGreg Stein氏は、現在Google APIチームを率い、オープンソースの促進に努めている。同氏はApache Software Foundationの議長を勤めるほか、SubversionやWebDAV、Pythonなど多くのオープンソースプロジェクトに参加していることでも知られている。Google Developers Day 2007にあわせて来日した同氏は、ZDNet Japanのインタビューに答え、新たに発表されたGoogle Gearsや、Google Codeによるオープンソース支援活動などについて語った。
![Greg Stein氏](/story_media/20350320/CNETJ/070606_google.jpg)
ーー最初に、現在Greg氏自身が力を入れている仕事や注目しているテクノロジー、あるいはGoogle全体として注目している分野がありましたら教えてください。
まず私個人としてですが、オープンソース・コミュニティをいかにうまく運営していくかということに強い関心を持っています。オープンソースが与える影響や、他のコミュニティとうまく協力する方法などです。
Google全体としては様々なことを手掛けているので特別にこれと言うことはできません。ただ私の働くオープンソースグループに限って言うならば、Googleの提供するウェブサイト上でいかにして開発者の抱える様々な問題を解決し、オープンソース・プロジェクトを円滑に進めていくかという点を常に考えています。
ーーオープンソースというと、ちょうど今朝(5月31日)、Googleの提供するオープンソース・プロダクトに新たに「Google Gears」が加わりました。これは開発者のどのような声をきっかけとして作られたものなのでしょうか。Google Gearsによって開発者の抱えるどのような問題を解決できると思われますか。
多くのユーザは、ネットワークに接続していないオフライン状態にあるPCでも、オンラインの状態と同様に使いたいと考えています。例えばE-mailやカレンダーなどです。一方で、GoogleではGmailやGoogleカレンダーなどによって、これらのアプリケーションをオンラインで利用する手段を積極的に提供してきました。
これらのアプリケーションをオンラインで利用するメリットは明白ですが、逆にネットワークから切り離された状態になるとビジネスが成り立たなくなってしまうという問題を抱えています。Googleの提供するウェブアプリケーションのユーザからはこの点に対する不満の声が強く上がっていました。この問題に対する1つの解として生まれたのがGoogle Gearsです。
ウェブブラウザで利用可能なアプリケーションの場合、これまではネットワークに接続していなければ使えないという絶対条件がありました。Google Gearsはこの限界を突破し、オンラインとオフラインの境目を無くそうとしています。
ーーGoogle Gearsではどういうテクノロジーを利用してそれを実現しているのでしょうか。
Google Gearsのアーキテクチャは主に3つのテクノロジから構成されています。1つはローカルストレージです。これはオープンソースのリレーショナルデータベース「SQLite」を利用しています。2つ目はウェブブラウザ上で複数のスクリプトを並列に実行するためのJavaScriptエンジンです。通常、ブラウザ単体では複数のスクリプトを同時に実行する、いわゆるスレッド機能を持っていません。Google Gearsではこのスレッド機能を実装することでバックグラウンドでの処理を可能にした他、ブラウザがロックされる可能性を低下させることに成功しています。
3つ目はローカルで動作するウェブサーバです。ウェブアプリケーションではURLによってリソースにアクセスするため、これを処理できるウェブサーバに常にアクセスできる必要があります。Google Gearsではネットワークに接続されていない状態でも、このローカルのウェブサーバによってオンラインの場合と同様の処理が行えます。
Google Gearsはこの3つのテクノロジーを組み合わせることで非常にシンプルに、かつ高いパフォーマンスでその機能を実現しています。
ーー今朝の基調講演では、開発者にフォーカスすることで最終的にGoogleのユーザを大幅に増やすことができるとおっしゃっていましたが、これはつまりにユーザ(開発者)が他のユーザを連れてくるということでしょうか。
直接ではないですが、最終的にはそうなることを期待しています。開発者はGoogleのAPIを使って様々なウェブアプリケーションを作ります。ときには我々が考えもしなかった奇抜なアイデアが盛り込まれた興味深いものも登場します。個別の事例については今すぐには思いつきませんが、例えばGoogle Mapsを利用したアプリケーションなどはそういったアイデアの宝庫ですね。Universal Gadgetで作られたガジェットにも驚かされることがあります。それらのアプリケーションがユーザをGoogleに導くきっかけになってくれるでしょう。