オープンソースの定義とライセンスを理解する


そもそも、「オープンソース」とは何なのか?

オープンソースを活用するためには、「オープンソースとはどのようなものなのか」ということを正しく理解しておく必要がある。なかでも、オープンソースのライセンス形態について知ることが極めて重要だ。そこで本稿では、まずオープンソースの定義と主要なオープンソース・ライセンスについて概観する。そのうえで、各オープンソース・ライセンスの違いを把握するために、ポイントとなる項目を整理する。さらに、オープンソース・プロダクトを利用/作成する際の注意点について解説を加える。

オープンソースの定義

 「オープンソース」とは、「開発コミュニティを中心に置いてプログラム開発を促進するために、ソース・コードを公開する」という開発手法(考え方)のことである。すなわち、そのコミュニティに属する(不特定多数の)開発者が、円滑に作業を進めるためのものだ。

 

 このような開発手法が広まるきっかけとなったのは、リチャード・ストールマン氏が所属する「フリーソフトウェア財団(FSF:Free Software Foundation)」が「GNU GPL(General Public License)」というソフトウェア・ライセンスを作成し、それを適用したLinuxが成功を収めたことである。これを受けて、『伽藍とバザール』を執筆したエリック・レイモンド氏が、1997年に「オープンソース」という考え方を提唱した。そして、同氏は、この開発手法をビジネス界に売り込むための、いわばマーケティング・キャンペーンを展開した。そのために同氏が発足させた組織が、「オープンソース・イニシアティブ(OSI:Open Source Initiative)」である。

 

 「オープンソースとは何か」という質問に対する答えは、このOSIのWebサイトに「オープンソースの定義(OSD:Open Source Definition)」として掲げられている。この文書には、オープンソースの手法に合致するソフトウェアの利用条件についての説明が記載されている。これは、もともとはDebianプロジェクトのリーダーを務めていたブルース・ペレンス氏によって書かれたものだ。その後、インターネット上での多くの議論を経て、その結果が「オープンソースの定義」として公開されているのである。

 

 オープンソースとは、具体的にはどのようなものであるかということについて、提案者であるペレンス氏自身が解説したものが、『オープンソースソフトウェア』(訳:倉骨 彰氏/発行:オライリー・ジャパン)として書籍化されている。これには、オープンソース発足の経緯や、定義についての解説、各ライセンスの特徴などが示されているので、ぜひ本稿と併せて読まれることをお勧めする。

 

 また、八田 真行氏によって、「オープンソースの定義」の日本語訳が公開されている。氏の翻訳を基に、それを要約すると以下のようになる。

 

 まず、「はじめに」の部分には、以下のように書かれている。

「オープンソース」とは、単にソース・コードが閲覧/入手可能であるということを意味するのではない。「オープンソース」のプログラムの頒布条件は、以下の基準を満たしていなければならない

 そして、上記文中の「以下の基準」に当たるものとして、10個の項目が掲げられている。それらをごく簡単に要約すると、以下のようになる。

 

(1)オープンソース・ライセンスには、再頒布に関する制限が設けられていてはならない

(2)プログラムにはソース・コードが添付されていること。また、ソース・コードでの頒布も許可されていること

(3)オープンソース・ライセンスでは、ソフトウェアの改変、派生ソフトウェアの作成、また派生元ソフトウェアと同じライセンスの下での再頒布を許可すること

(4)ソース・コードと一緒に、バイナリ構築の際にプログラムを改変するための「パッチ・ファイル」を頒布することを認める場合に限り、オープンソース・ライセンスによって、改変されたソース・コードの頒布を制限することができる

(5)オープンソース・ライセンスは、特定の個人やグループを差別してはならない

(6)オープンソース・ライセンスは、特定分野でのプログラムの利用を制限してはならない

(7)オープンソース・ライセンスによってプログラムに付与された権利は、そのプログラムが再頒布された者すべてに等しく認められなければならず、何らかの追加的ライセンスに同意することを必要としてはならない

(8)オープンソース・ライセンスは、特定製品でのみ有効なものであってはならない

(9)オープンソース・ライセンスは、そのライセンスが適用されたソフトウェアとともに頒布される他のソフトウェアに制限を課してはならない

(10)オープンソース・ライセンスは、技術的に中立でなければならない
 

 なお、これはあくまでも要点を列挙したものにすぎないので、必ず原文を参照されたい。

 

 さて、上に挙げた10項目のうち、最初の3つは、オープンソースの基本となる考え方を定義したものだ。ペレンス氏は、先述した『オープンソースソフトウェア』の中で、これらの条件は、以下のような権利を保証するための項目だと説明している。

 

●プログラムを自由に複製し、それを配布する権利

●ソフトウェアのソース・コードを入手する権利(ソフトウェアに変更を加えるためには、ソース・コードが不可欠である)

●プログラムを改良する権利

 これらの権利を保証することにより、1つのプログラムを基にして、だれでも自由に開発を行うことができる。これにより、開発コミュニティを中心にしたソフトウェア開発が促進されるのだ。

 

 ちなみに、ペレンス氏の『オープンソースソフトウェア』を見ると、「オープンソースの定義に合致しているライセンス例」という節がある。それを読むと、当初の「オープンソースの定義」には、もう1つ、以下のような条件があったことがわかる(「 」でくくっているのは、ライセンスの名称)。

「GPL」、「BSD」、「Xライセンス」、および「Artistic License」などが、われわれがオープンソースの定義に合致していると見なすライセンスの例である。「MPL」も同様だ。これらのライセンスが変更になって、オープンソースの考え方から外れたものとなった場合には、われわれは「オープンソースの定義」を、直ちに改訂しなければならない

 つまり、「オープンソース」という考え方は、基になるものが何もないところから生み出されたものではない。そうではなく、すでに存在していたGPLやBSDといったライセンスを共通の枠組みで扱うために考えられたのだ。

 

 以下では、上述した「オープンソースの定義」を理解するために、ポイントになる項目を順番に見ていこう。


PAGE TOP