Koders.com:(オープン)ソースコードの高速検索

新しい検索エンジンがやってきた。名前をKoders.comという。検索対象はオープンソース。この新サイトの目的は、オープンソース開発者の生産性を向上させることだ。

仕組み

GPLライセンスのもとで、オンラインカードゲーム(たとえばブリッジ)を書くとする。言語はC。いま、カードのシャッフルはどうやるのかを知りたいとしよう。Konders.comサイトに行き、”shuffle cards”で検索する。ライセンスオプションをGPL、言語をCに設定し、Searchボタンをクリックする。

1件がヒットし、結果画面に現れる。server.cというプログラムで、これはSourceForge上にあるUNO – Card Gameプロジェクトの一部である(SourceForgeは、NewsForge同様、OSTGの財産である)。そのプログラムにもプロジェクトにも結果ページから飛べるので、server.cをクリックする。私自身のプロジェクトに使えそうなコードが大量に見つかる。すばらしい。

サイトを一渡り試してから、私はKoders.comの創始者であり主任アーキテクトであるDarren Rushと話をした。

Darren Rushとの一問一答

Barr:Koders.comについてお聞かせください。これはいったい何?

Rush:Kodersの基本はソースコードの検索エンジンです。最初は、チームで使うための内部ツールとして開発したものです。過去のプロジェクト結果をもっと活用できないものかとは常々考えていたことで、ですから、過去のコード断片を簡単に見つけ出して、現在のプロジェクトに組み込めるような、そういう検索エンジンを作ろうということになりました。

Barr:プログラミング言語を選びますか。

Rush:いいえ。現在、15のプログラミング言語をサポートしています。Java、C、C++を始めとする人気の各言語のほか、LISPやScheme、その他あまり知られていない言語もいくつか含みます。

最初は、当時自分たちが使っていた2つの言語だけでしたが、しだいに機能を増やしていって、最終的にはオープンソースプロジェクトのインデクシングまでやるようになりました。

それで、内部でやっていた仕事では生産性が目覚しく向上しまして、これはと思って何人かの方に見せたところ、ぜひネット上で公開して、コミュニティ全体で利用できるようにすべきだという意見だったもので。

Barr:最初は仲間内で使っていたということですね。その仲間とは?

Rush:ロサンゼルスの民間ベンチャです。コアとなる開発チームがあって、これが販売とビジネス開発を専門にする数人のマネージャとタッグを組んでいます。小さいながら、販売部隊もありますよ。

開発者の大多数は、以前から契約でプロジェクト作業を請け負っていましたし、小さなチームとして仕事をしたこともあります。会社(Koders, Inc.)は、契約をとるための入れ物と言っていいかもしれません。発足時はコアの開発者チームだけで、いろいろなプロジェクトで働きました。

Barr:Koders.comはどのようにして収入を?

Rush:まあ、基本的には、今回オンラインにしたこの優れ物のツールがあって、これが開発者コミュニティに大いに重宝がってもらえると思います。それで、ある程度は広告収入が得られると当て込んでいます。将来的に会社を支えていくという点では、このコア技術の周辺にいくつかの製品を展開していくことになるでしょう。

Barr:この検索エンジンの独自バージョンが欲しいという人は、それを買えますか。たとえば、IBM社がCOBOLコードの検索に使いたいと言ってきたとき、簡単に応じられますか。

Rush:それはもう予定に組み込まれています。いま、企業のファイアウォールの内部で動作するバージョンを作ろうと思って、一所懸命やっています。これだと、私どもが提供するサービスのすべての機能をそのセキュアな環境で使用できるほか、オープンソースプロジェクト用に作った当方のインデックスにも接続できます。

Barr:いま、そのサービスを有料で使用している人はいますか。それがいずれ主たる収入源になっていくのでしょうか。

Rush:現時点ではいません。Webサービスを有料にするつもりはありません。私どもの収入は、周辺の製品を展開していく中で、それのライセンス料という形で発生することになります。

Barr:Kodersが第2のGoogleになる可能性は?

Rush:何をやっているかを外部の方に説明するとき、他のコンシューマ向け検索エンジンと比較することはありますが、Googleとの比較なんて、そんな大それたことはとてもとても。私どもが目指すのは、開発者が日常経験している数多くの小さな問題を解決すること、その面で開発者の手助けができるような製品を作ることです。開発者に良いコードを速く書いてもらうことです。

私どもが関心を持たざるをえないのは、過去に素晴らしいコードが大量に書かれているということです。世界最高の開発者が書いたコードです。これは、プログラマになりたての人にとっても、熟練したプログラマにとっても、技術を磨くためのこの上ない砥石として使えるリソースですよ。

Barr:プロジェクト側でぜひうちのコードもKoders検索に含めてもらいたいと思うときは、どうすればいいですか。

Rush:オープンソースで、Web上で自己プロモートをしていて、匿名アクセスを認めるプロジェクトであれば、すべてをインデックスに含める用意があります。

Barr:では、プロジェクト探しのスパイダを放っているわけですね。プロジェクト側では何もする必要がない?

Rush:はい。ただ、できるだけ這い回って見つけてはきますが、ときには漏れもありますし、次々に新しいプロジェクトがオンラインに登場してきます。ですから、フィードバックのためのリンクをWebサイトに設けました。ここからプロジェクトを提出してもらうこともできます。

Barr:現在、いくつのプロジェクトが登録されているか、おおよその数がわかりますか。

Rush:さて、何万という数だと思いますが、正確なところはわかりません。ホームページに示している数字は、実際には追跡したコードの行数です。現在、125,000,000行になっています。

Barr:Linuxカーネルも含まれていますか。

Rush:内部的には。おそらく、インデックスの次期公開時にはインデックスにも含まれることになるでしょう。

Barr:ご自身もオープンソースプロジェクトに携わってこられたのですか。

Rush:私自身もそうですが、私といっしょに働いている人々も、もう何年も、オープンソースの福音を説いてきました。目的はアプリケーションを堅牢にすること、そして企業顧客の開発費用を軽減することです。さまざまなプロジェクトに関係してきて、その中で、他のオープンソースプロジェクトを利用させてもらうことで大きな成果をあげてきましたし、可能なかぎり、バグ修正や機能改善という形で元のプロジェクトにもお返ししてきたつもりです。


ビジネス目標の達成に向けて、人的資源とオープンソースコードのフル活用を、と考えているITのプロなら、Koders.comの背後にある思想にはきっと目を見張るに違いない。私のところではうまくいったが、これがどこでもかしこでもうまく働くものなら、Koders.comが今後きわめてホットな話題になることは間違いない。

私はすっかり取り込まれてしまった。あとKoders.comに望みたいのは、そのインデックスに使用されているオープンソース/フリーソフトウェアライセンスへのリンクを張り、当該コードを合法的に再利用できる場合と、そうできない場合とを説明することだろうか。

Koders.comは読者の役に立ちそうだろうか。ぜひ、下記へフィードバックをお願いしたい。

原文