オープンソースとは何?

オープンソース・ソフトウェアの最も基本的な定義は、ソースコードが実行可能なプログラムと一緒に配布され、誰もにそのソフトウェアの修正、再配布を許可するライセンスを持つソフトウェア、となる。ソースコードは、プログラマーがソフトウェアを作るために書く実際の命令であり、プログラムにとっての「レシピ」である。ひとたびプログラムがコンパイルされ、コンピュータ上にインストールされ実行できる形になると、ソースコードは復元できなくなる。ソースコードのコピーがなくては、プログラムに変更を加えることは事実上不可能である。プログラムのライセンスに、プログラムを修正する権利が含まれる場合でも、そのソースコードがすぐに手に入らないことには、その権利には意味がなくなる。

OSS の実際のライセンスは、企業や開発プロジェクト間で異なるが、共通する一定の特徴がある。オープンソースのために情報を広める開発者の集団であるオープンソース・イニシアティブ[1]は、OSS のライセンスに含まれるべき基礎条件となる「メタ定義」をウェブサイト上に公開している[2]

その条件とは:

オープンソース・イニシアティブによれば、以上の要件を満たすライセンス下で配布されるソフトウェアなら、オープンソース・ソフトウェアである[3]

我々が毎日利用しているソフトウェアの大半を占める独占ソフトウェアは、それとは大分異なる条件の元で配布される。独占ライセンスにより、その企業による許可なしには、修正も、複製も、再配布も禁じられる。それは、ある特定の存在 -- そのソフトウェアを作った企業、もしくは個人 -- のみが、そのソフトウェアに変更を加え、さらにはその内部構造を見る権利を持つようにするということである。

法的な定義付けに加え、OSS と独占ソフトウェアの間にあるもう一つの違いは、その開発手法である。独占ソフトウェアは、特定企業内の比較的小規模なグループの開発者によって、往々にして納期期限のプレッシャーを受けながら作られる。彼らはプログラムを完成させると、それからそのソフトウェアが市場に出るまで、できるだけ沢山の欠陥(ソフトウェアのエラーである「バグ」と、セキュリティの「穴」)を取り除こうとする。出荷時に残ったいかなる欠陥も消費者の問題となり、そのせいで仕事をしくじったり、欲求不満を引き起こしたりする。独占ソフトウェアを購入する人達は、望みもしないのにテスターにされているのだ。更には、ユーザが欠陥を発見しても、その解決法を分かってる場合でさえも、ソフトウェア・ライセンスにより、自分達で修正するのを禁じられているのだ。

オープンソース・ソフトウェアは、対照的に、大抵プログラミング愛好者にゆるく組織されたコミュニティがインターネットを利用して共同作業することで開発される。興味と必要不可欠な程度の能力があれば誰でも、プログラムの一部に貢献するのでも、既存のプログラムにあるエラーを探すのでも歓迎される。誰も開発プロセスから除外されることはないので、潜在的には数百人もの人達が、多種多様な才能や技術を持ち寄ることで、プロジェクトに貢献できる。特定企業がオープンソース・プロジェクトの成功に(企業のブランドネームを強化し、関連製品に対する需要を増やすとか、技術サポートの売上につながるとか)金銭的利害が生じる場合、そのプロジェクトに従事するプログラマーを雇うことがよくある。その他の貢献者は(プロジェクトによっては、貢献者全員が)、報酬ではなく趣味を動機として、空き時間に作業を行なっている。

オープンソースの熱心な支持者である Eric Raymond は、エッセイ「伽藍とバザール」[4]の中で、成功した OSS 開発プロジェクトについて解説している。彼によると、優れた OSS プロジェクトは、作業の重複を避けるため、可能な限り他のプロジェクトからたくさんのコードを再利用する。そして「はやめのリリース、ひんぱんなリリース。そして顧客の話をきくこと」[5]という方針の元で運営され、そのソフトウェアのユーザからのフィードバックや提案を重視する。この熱心なピア・レビューのプロセスを、潜在的に存在する大人数の開発者とテスターの間で共有することで、どんな独占ソフトウェアがなし得るのよりも速くにソフトウェア内のエラーを発見し、排除する。レイモンドの言葉を借りると、「ベータテスタと共同開発者の基盤さえ十分大きければ、ほとんどすべての問題はすぐに見つけだされて、その直し方もだれかにはすぐわかるはず。あるいはもっとくだけた表現だと、『目玉の数さえ十分あれば、どんなバグも深刻ではない』」[6]となる。

オープンソース・ソフトウェアは、インターネット標準などの、オープンな通信規格(または通信プロトコル)と密接な関わりがあり、そのオープンな規格のおかげで、多種のコンピュータ装置がネットワーク間通信を行うことができる。両者とも広範囲で非公式な共同作業を通して開発される。オープンソース・ソフトウェアで利用されるどんな通信プロトコルも、プロトコルの実装がオープンソース・コードにより明らかなので、本質的にオープンといえる。通信プロトコルのオープンソースによる実装が存在することで、そのプロトコルの公開性が確保される。逆に、独占ソフトウェアは、プロトコルの詳細を秘匿されたソースコードの中に隠すことができるので、独占プロトコルを許すことになる。ワールド・ワイド・ウェブの全ページの半分以上を提供するオープンソースなウェブ・サーバーを作っている Apache プロジェクトは、この関係性をうまく説明している:

ワールド・ワイド・ウェブのプロトコルが単一の企業に「所有されていない」という点において、ウェブは大小の企業にとって公平な土俵である。従って、プロトコルの「所有」は防がねばならず、そのプロトコルの堅牢な参考実装が(動くソフトウェアの形で)、全企業に無料で無条件に入手可能であることが、ものすごく素晴らしいことなのだ[7]

誰もが貢献できるとはいえ、オープンソース・プロジェクトには、他人が行った変更をまとめ、組み合わせる中心的な権威が存在することが多い。こうした権威は、それが個人であれ、企業であれ、非営利団体であれ、開発者コミュニティからの改良と規格との互換性や適合を維持することに努める。こうしてオープンソース・ソフトウェアは、インターネットや他の重要な規格との互換性を保ち、同じソフトウェアが非互換性を持った複数のバージョンに分岐する「分裂」を防ぐのである。この種の非公式な調整の例として、Linux オペレーティング・システムが挙げられる。つまり、開発者の大集団が新しいバージョンに貢献するが、Linux の原作者である Linus Torvalds が、どのコードを含めるかということについての最終決定権を持っている。同様に、Apache ウェブ・サーバは、Apache Group という自主的に選択されたプログラマーの集まりが監督している。

オープンソース・ソフトウェアは経済的に存続可能で、利益を得る多くのチャンスをもたらす。ソースコードが入手可能なので、ユーザはコストがかからずソフトウェアを手に入れることができるのだから、それは直感に反する感じがする。しかし、多くの企業が既に OSS から相当の利益を得ているというのが現実である。Red Hat Software は、Linux オペレーティング・システムの製品版にマニュアルや電話による技術サポートや簡単なインストーラー・プログラムを備えて販売し、急成長の収益の高い企業になった。Red Hat の見積もりによるとおよそ750万人もの顧客が、Red Hat 自体は Linux を無料で与えているにもかかわらず(訳注:RedHat のサイトから Red Hat Linux を無料でダウンロードできるということ)、Red Hat が Linux ユーザに提供する付加価値に50ドルを支払うことを選択している。Red Hat 曰く:

「ソフトウェアの殆どは、時間があり、ダウンロードしたいと思えば誰だって -- しかも無料で -- 手に入れることができる。しかし、誰もがそんなに時間があるわけではない(中略)企業によるディストリビューションは、独自の機能を集め、その中には特定機種のコンピュータ・システムに対して特化したものもある。他の多くのディストリビューションと同様に、我々のアプローチは、必要な小物全てをバンドルし、凝縮したディストリビューションにすることだ[8]

個人用途であれ企業用途であれ、こうした便利さに喜んで対価を払う。更には、例えそれが無料で手に入るものでも、そのソフトウェア自体はある程度の経済価値を保つ。オープンソース・イニシアティブのウェブサイトにおいては、「あるプログラムが作成されることが、作成されない場合にくらべて顧客に対して経済上の純益の増加をもたらすのならば、そのプログラムが無料になるかどうかに関わらず、作成するプログラマーは報酬を得るだろう。[9]」と説明されている。

OSS の有効性を雄弁に証明しているのは、意外にも敵の一つであるマイクロソフトである。Eric Raymond にリークされ、後にインターネット上に掲載された、今では「ハロウィン文書」として知られるマイクロソフトの内部メモは、OSS について以下のように述べてある:

「OSS プロセスが、インターネット中の何千人もの集合的な IQ を集めて、それを有効に利用できるという能力は、まさに驚異的なものである。もっと重要な点は、OSS のエバンジェリズムは、われわれのエバンジェリズムの試みよりもずっと高速に、インターネットの規模拡大と対応する形でスケーリングしているということだ。」[10]


[前へ] [目次] [次へ]


初出公開: 2000年10月02日、 最終更新日: 2001年02月25日
著者: Mitch Stoltz
日本語訳: yomoyomo (E-mail: ymgrtq at yamdas dot org)