目新しさに欠けるGoogle Code Search

Googleは今週、Google Code Searchを公開し、オープンソースコード検索の分野に参入する旨をアナウンスした。これは数十億単位で存在するオープンソース系ソフトのコード検索をするためのツールだが、これによりユーザは、従来版のGoogle検索エンジンでは検索できなかったタイプのファイルを探し出せることになる。Googleが新規に提供するコード検索が同サイトにとって“新機能”というカテゴリーに分類されることに間違いはないが、実のところこうしたコード検索は、その他の検索サイトにおいて何年も前から実現されている機能なのである。

Google Code Searchは、Webサイトに公開されているコードだけでなく、SubversionやCVSなどのコードリポジトリや.zipファイルをも巡回対象としているので、Googleサイドが主張するところによると、開発者によるアクセスが「従来は困難であった」情報を新たに提供することになる。

ところが、大手コード検索エンジンのKodersはすでに2004年の段階から、リポジトリの収蔵コードに対するインデックス化作業を実施しているのだ。Kodersの共同設立者の1人でありCEOを務めているDarren Rush氏は、「私どもの場合、まず最初にメジャーなオープンソース系リポジトリに対するコードのインデックス化から手がけ始めました。ここで巡回させているクローラは、CVSやSubversionなどのバージョン管理システムとダイレクトに接続するテクノロジを採用しており、高品質な収蔵コードのインデックス化をしています。また.zipアーカイブや特殊なバージョン管理システムにも対応済みです」と説明している。

同様のコード検索サービスを提供しているWebサイトとしては、本年上旬に開設されたKrugleも存在する。「ここでは一般に公開されている数百カ所のコードリポジトリを巡回してインデックス化していますが、そうした収蔵ファイルは莫大な数に達しています。また有力なコンテンツパートナと提携して、プライベートなリポジトリに対する巡回作業とインデックス化も行っているので、より深く掘り下げたコード検索が行えるようになっています」と説明するのは、マーケッティングおよびビジネスディベロップメントの責任者を務めるLaura Merling氏である。「(私どもでは)ユーザコミュニティに対して、当サイトに含めるべきコードリポジトリやプロジェクトがあったら、URLを登録するよう呼びかけてもいます」。

Google Code Searchには特別な付加機能は装備されていないが、Googleのプロダクトマネージャを務めるTom Stocky氏によると、Google Data APIは検索クエリに則した情報を厳選して収集するよう作られているので、きめ細やかな検索サービスを利用してもらえるはずとのことだ。現在のところGoogleが新規に提供する検索ツールで行えるのは、コード行、ライセンス、プログラミング言語によるコード検索であるが、これらは既にKodersに装備されている機能でもある。またKrugleを用いればコード行やプログラミング言語だけでなく、コメント、関数呼び出し、関数、クラス定義を指定した検索も行える。

現状のGoogleは、開発者たちが検索エンジンに何を求めているかを見極めようとしている段階にあるようだが、Krugleのスタッフによると、そのようなものは既に確認済みとのことになる。以前に同社が行った調査によると、開発者たちの費やす作業時間の20から25%は、過去に誰かが同様の問題に遭遇したケースはないか、そして上手くすればその解決法が存在しないかを探すことで占められているという。そしてこうした作業は、その性質上、主として既知の情報源を検索することになる。「こうした調査の場合、最初は解決法の候補を洗い出すための検索を行い、そうして見つかった候補を基に次の検索を行うというのが常套手段です。必要となるのはプロジェクトの詳細を調べることですが、見つかった関連ドキュメントを表示させる機能も必要ですね」とMerling氏は語る。

Krugleの検索サイトには、こうした要件に応えるべく、必要な情報を開発者間で共有して作業のコラボレーション化を進めるための機能が組み込まれている。「Krugleのユーザはタイプの異なる複数の情報(コード本体および関連するドキュメントやフォーラムでの意見交換など)を1つの結果として作成、保存、共有することができます。またKrugleでは、コードファイル、テクニカルページ、プロジェクトに“ノート”という形で注釈を付けることも可能です。これはユーザ間で、アイデア、コメント、関連知識を共有する目的で使用できます。コード検索の分野で次に重要視されるのは、こうしたコラボレーションや意見交換のための機能になるというのが私どもの考えです」。

一方の雄であるKodersが得た結論は、開発者が求める情報にたどり着くには基本機能以上の検索能力が必要になる、という判断だ。「オープンソース系のコードに対する検索はもとより、プロフェッショナルな開発者が必要としているのは、企業が所有している膨大な量の高品質コードへのアクセスです。企業の所有コードへのアクセスと、IDEとのシームレスな統合は、コード検索における二大市場だと言えるでしょう」とRush氏は語る。

Rush氏には、これからコード検索の分野に参入するGoogleに対して、1つのアドバイスがあるという。「この分野への新規参入者に私が与えられるアドバイスは、プログラムコードに特有の構造に注目する必要があるということです。その理由は、この種のコードのインデックス化と検索を行うアルゴリズムやツールには特殊な要件が求められるからであり、そうしたものはKodersが過去に開発して改良し続けてきたものに他なりません」。

Google Code Searchに早速寄せられたフィードバックを見てみると、一部の開発者は新機能にさほど感心していないようである。その中の1人、Simdiskの開発者であるClint Talbert氏のコメントでは、「これでヒットするコードは、通常のオンライン検索できるソースのものだけですね。例えば、私が以前に特殊なサイトでコード検索して見つけたセキュリティホールに関する情報などは、おそらくこのエンジンではインデックス化されていないでしょう」とされていた。Talbert氏はその他にも、同ツールによる検索結果の表示法などは気に入っているとし、該当するコードを格納しているディレクトリをブラウジングする機能があれば便利になるだろうと指摘している。

Talbert氏の意見によると「提供されている情報の99%は、おそらく有用なものでしょう。私にとっては常用するツールだとは思えませんが、Mozillaの場合この種の問題はlxr searchを使えばたいてい解決されますからね」ということになる。

Googleが新たに提供を開始したのは、開発者が必要とする情報を迅速かつ効率的に入手するためのサポートサービスである。もっとも、同社がここ最近進めている各種新規分野への参入と同様、今回のケースにおいてもGoogle Code Searchが将来的なトレンドとなる可能性を示す明確な証拠を見つけ出せないのが実状だ。

NewsForge.com 原文