【 ここから本文 】
- TOP
- > Topics : オープンソース
- >
オープンソース
ソーシャルブックマークに登録 :
印刷用ページの表示

オープンソースが「開発系」で強い理由
開発者とOSSの良好な関係を生むエコ・システム
(2007年04月19日)
開発環境やアプリケーション・サーバ、そしてそれらに付加するアドオンやライブラリといった、いわゆる開発系ソフトウェアは、企業においてオープンソース・ソフトウェア(OSS)が積極的に活用されている領域だ。企業はOSSを活用することで強力な開発インフラを手に入れることができるが、さらにOSSとの関係を一歩進め、自社のスタッフがOSS――特に開発系OSS――自体の開発にコミットするようにすれば、OSSそしてOSSコミュニティから、より大きなメリットを享受することができる。そのメリットをもたらす基盤となるのは、開発者がOSSを開発し、また、OSSが開発者を育てるというOSSのエコ・システムである。本稿では、こうしたOSSと開発者との良好な関係に着目しながら、OSSが開発系で強い理由を明らかにする。
arton
はじめに
筆者は、自社製ハードウェアを中心に据えたシステムとそのシステム上で稼働するソフトウェアを提供する企業において、主にソリューション開発を担当している。また、いくつかのささやかなオープンソース・ソフトウェア(OSS)――厳密にはフリー・ソフトウェア(FS)であるが、本稿では両者を特に区別せずに扱うことにする(注1)――を開発/公開している。
これらのソフトウェアの開発は週末などの余暇を利用して自宅で行っているため、筆者は、いわゆる「OSSで生計を立てている」開発者ではない。ただし、開発したOSSのいくつかは、職場で利用することを前提としたものだ。例えば、プログラミング言語のRubyにCOM(Component Object Model)インタフェースをアドオンする「ActiveScriptRuby」や、ネットワーク・モニタの「FreePeek」は、実際に職場で利用している。本稿では、筆者がOSSの開発/利用を通して得た知見を基に、OSSと開発者の関係について考えてみたい。
最初に結論を言うと、OSSのほとんどは開発者の手で開発者のために作られており、この開発者による開発者のためのソフトウェア開発というエコ・システムを働かせるためのプラットフォームとして、OSSおよびOSSコミュニティが存在している。そして、このエコ・システムによって、ソフトウェア技術者が育成されるのである。企業は、自社の開発者を通してこのエコ・システムから恩恵を得、また、それによってOSS側にも恩恵がもたらされることになる。
注1:OSSとFSの違いと言っても、その境界線にはあいまいなところがある。例えば、GNU GPLはFSF(フリー・ソフトウェア・ファウンデーション)が管理していることから、FSのライセンスと見なすことができる。しかし、GNU GPLでライセンスされているLinuxは、プロジェクト・オーナーのリーナス・トーバルス氏自身がFSFと一定の距離を置いていることや、主要ディストリビューターがOSSを支持していることからすると、OSSの代表に受け止められることのほうが多い
OSSの多くを占める
開発系ソフトウェア
OSSの代表が、LinuxとApacheの2つであることには異論がないだろう。Linuxはアプリケーションを運用するためのプラットフォームとなるOSであり、Apacheは情報システムのインフラとなるWebサーバであるが、これらは基本的にエンドユーザーがデスクトップ上で直接操作したり、あるいは直接そのサービスを利用したりといった種類のものではない。この2つを含めて、エンドユーザーが直接的に関与しないソフトウェアを「開発系」と分類すると、実はOSSの大半は開発系ソフトウェアということになる。
これについては数値的な検証が可能だ。図1は、三菱総合研究所が2003年に行った『オープンソース/フリーソフトウェア開発者オンライン調査日本版 FLOSS-JP』から引用した、OSS開発の対象分野に関する調査結果だ。この結果を見てまず感じるのは、OSS開発の対象としては、ネットワークとWebサービスの両分野がずぬけているということだ。
| 図1:OSS開発の対象分野 *資料:オープンソース/フリーソフトウェア開発者オンライン調査日本版 FLOSS-JP (三菱総合研究所) |
一方、ビジネス/オフィス・スイートおよびゲームという、最もエンドユーザーになじみが深い分野のほうはどうだろうか。この2分野の合計は23.2%だが、重複回答が許される調査なので全回答の合計値178%を100%と見なせば、わずか13%ほどしか占めていないことになる。もちろん、ホーム/デスクトップやグラフィックスといった分野にもエンドユーザーを対象としたOSSは含まれているだろうが、いくつかのOSSプロジェクト・ポータルに登録されているプロジェクトを見れば、OSS開発では、開発系ソフトウェアが多くを占めるという傾向は一目瞭然のはずだ。以下ではOSSプロジェクト・ポータル3サイトを例にとって、それを検証してみた。なお、ここで用いている数値は、筆者が調査した2006年11月17日時点のものである。
■SourceForge.jp
図2は、OSS開発者に対して日本語でCVS、メーリングリストなどを提供しているOSSプロジェクト・ポータル「SourceForge.jp」の全プロジェクトを対象に、Intended Audience(そのプロジェクトで開発されるソフトウェアを利用すると想定されるユーザー・セグメント)別のプロジェクト数を示したものだ。なお、1つのプロジェクトが複数のIntended Audienceを対象として登録されていることもあるため、合計値は実際のプロジェクト数よりも大きくなっている。これを見ると、開発者を対象としたプロジェクトが全体の約半分を占めていることがわかる。
| 図2:「SourceForge.jp」のIntended Audience別プロジェクト数 |
かつ、ここでIntended Audienceがエンドユーザー/デスクトップであるとされたもののうち、最も活動が活発な5プロジェクトの内容を見ると、1位が手書き文字認識エンジンの「tomoe」、2位がMac OS X用2ちゃんねるブラウザの「BathyScaphe」、3位がファイル共有プログラムの「Cabos」、4位がAjaxベースのリッチ・クライアント用フレームワークの「maskat」、5位がClamAV(Linux、BSDなどのUNIXクローン用ウイルス対策ソフト)の自動更新/インストール・コマンドの「clamav-update」となっている。
内容的には、エンドユーザー/デスクトップという言葉が本来意味するものとはかなり異質だ。2位のBathyScapheは、エンドユーザー用に近いとも見なせるが、一般的にエンドユーザーと呼ばれる人たちは通常のWebブラウザを利用することのほうが多いだろう。つまり、実際には、相当ソフトウェアに精通した人たちをターゲットにしていると考えられるわけだ。
■RAA - Ruby Application Archive
図3は、プログラミング言語Rubyのアプリケーション・アーカイブ・サイトに登録されているプロジェクトのカテゴリー別登録数を示したものである。ここでは3分の2以上をライブラリが占めていることがわかる。
| 図3:RAAに登録されているプロジェクトのカテゴリー別登録数 |
また、アプリケーションのカテゴリーに分類されているものも、「Rubyで作られたアプリケーション」という表現から想像できるように、ほとんどがエンドユーザーが直接インストールして利用するようなアプリケーションではない。例えば、Rubyで開発されたアプリケーションとしては、ただただし氏らが開発している「tDiary」というWeb日記システムが有名だ。もちろん、Web日記という利用目的からすれば、tDiaryをエンドユーザー対象のアプリケーションと呼ぶことはできる。しかし、tDiaryをこのアーカイブ・サイトからダウンロードして日記作成用アプリケーションとして利用するためには、Webサーバの設置からCGIの設定に至るまでの知識が必要となる。
その意味において、ここに登録されている1,500余りのプロジェクトは、システム管理者を含むソフトウェア技術者や情報科学系の学生を対象としたものであると言っても差し支えないであろう。
■SourceForge.net
図4は、前出のSourceForge.jpの本家である「SourceForge.net」に登録されているプロジェクトについて、カテゴリー別の登録数を示したものである。さすがに本家だけあってカテゴリー数が多いため、ここでは登録数が多い上位5カテゴリーのみを対象にした。
| 図4:「SourceForge.net」における登録カテゴリー別のプロジェクト数(上位5カテゴリー) |
まず圧倒されるのは、何と言っても開発カテゴリーの登録数(2万4,351プロジェクト)の多さである。このカテゴリーはさらにフレームワークなどの分野に細分化されており、おそらく本誌の読者にも聞き覚えがあるであろうJava向け自動テスト用フレームワーク「Junit」やJavaのORマッパ/永続化フレームワーク「Hibernate」などが登録されている。
ゲーム(1万5,101プロジェクト)、マルチメディア(1万3,713プロジェクト)というエンドユーザーを想定したカテゴリーのほうも登録数が多いが、開発系のほうには、データベース(6,241プロジェクト)や、ベスト5には入っていないシステム運用管理(3,357プロジェクト)など、開発カテゴリー以外にも同系だと見なしうるものが多数存在する。もともと開発カテゴリーが最多登録数を誇っているところへこれらのカテゴリーが加わるのであるから、やはり開発系が巨大勢力になっていることは間違いない。















