<前へ><目次><次へ>

○オープンソースの現状と問題点

 オープンソースにも決して問題がない訳ではありません。ここでは、もうちょっと詳しくなりたい人のために、オープンソースの現状と問題点を解説します。

 

◎色々なライセンス

 代表的なオープンソースソフトウェアには、次のものがあります。

代表的なオープンソースソフトウェア

ソフトウェア名機能ライセンス
LinuxOSGPL
FreeBSDOSBSDライセンス
MozillaブラウザGPL+LGPL+MPL
OpenOffice.orgオフィスソフトLGPL+SISSL
ApacheWEBサーバーApache software License
Perlスクリプト言語Artisticライセンス

 

 ライセンスにずいぶん種類がありますね。
 実は、ライセンスによって、改良したソースコードを公開する条件が少しずつ違っているのです。
 OpenOffice.orgをはじめ、いくつかのプログラムでは、複数のライセンスが適用されています。これらは「デュアルライセンス」と呼ばれます。デュアルライセンスでは、プログラムを2種類以上のライセンスで配布します。それらのライセンスは、それぞれ条件や制限が異なっています。ユーザーは、どちらか都合の良い方を選んで、使用・改良・配布することになります。
 開発コミュニティに改良版を付け加えるには、その改良版もデュアルライセンスにする必要があります。


◎GNUライセンス

 数あるオープンソースなライセンスの中で、もっとも普及しているがGPLです。「GNU 一般公衆使用許諾」(GPL:GNU General Public License)が正式な名前です。これは、次のサイトで読むことができます。

GNU General Public License
http://www.gnu.org/licenses/gpl.html


GNU 一般公衆利用許諾契約書の日本語訳
http://www.opensource.jp/gpl/gpl.ja.html

 GPLは、コピーレフトを明文化して、実際の使用許諾文書にしたものです(*4-1)。実物を読んでみると、抜け穴がないようにと厳密な書き方になっているため、意味をつかみにくいかも知れません。
 またGPLに関連して、LGPLとGFDLというライセンスがあります。

GNU Lesser General Public License
http://www.gnu.org/copyleft/lesser.html

GNU 劣等一般公衆利用許諾契約書の日本語訳
http://www.gnu.org/copyleft/lesser.ja.html

 劣等使用許諾は、略してLGPLと呼ばれています。これは、ソースコードの部品集(ライブラリと呼ばれます)のソースコードを公開するライセンスとして利用されてきました。部品集は、他のプログラムに組み込まれて初めて役に立ちます。だからと言って、組み込んだプログラムもオープンソースになってしまうのは、ちょっとやり過ぎですよね。そこで、組み込むだけならオープンソースにならないように、効力を弱くしたのがLGPLです(ただし、現在ではライブラリに適用することは奨励されていません)。


◎OpenOffice.orgのオープンソース

 OpenOffice.orgは、LGPLとSunIndustry Standards Source License(SISSL)のデュアルライセンスで開発・配布されています。
 LGPLを適用すると、それを組み合わせたソフトウェアを商用ソフトウェアとして利用できるようになります。OpenOffice.orgと組み合わせた商用ソフトウェアを可能にするため、このライセンスが使われています。
 一方のSISSLでは、オープンソースの条件に適合するライセンスで、互換性を維持する条項が特徴です。

Sun Industry Standards Source License
http://www.opensource.org/licenses/sisslpl.html

SISSL日本語訳(参考)
http://ja.openoffice.org/sissl_ja_01.html

 

◎GPLとBSDライセンスの違い

 オープンソース条件の違いの中で、良く論争の的になる条項があります。それは、再配布時のライセンスをどうするかという問題です。
 オープンソースでは、ソースコードを修正し、再配布することが許されています。
 この時、再配布するソースコードの利用許諾は、どうするべきでしょうか。
 BSDライセンスでは、この点で制限がありません。そのために、修正したソースコードを独自ライセンスで公開できます。その際に、オリジナル版の著作権者名を表示すれば良いのです。極端な例では、特定の企業が自社製品に組み込んで、独自の使用許諾で販売できます。
 このようなことがおこると、オープンソースで開発されてきた成果が、独自ライセンスのソフトウェアの中に取り込まれてしまいます。以後、そのソフトウェアに企業が付け加えた成果は、外部からは利用できません。
 BSDライセンスのソフトウェアは、利用許諾の条件が少ないので、良い意味でも悪い意味でも気軽に利用できるのです。

BSDライセンスの場合


 これに対してGPLでは、修正版のソースコードを公開する時には、それもGPLにしなければならないとなっています。GPLなソフトウェアを組込んだソフトウェアも、GPLにする必要があります。例えば、GPLなワープロソフトのソースコードがあったら、それを基に開発した年賀状ソフトも、GPLにしなければならないのです。このようにGPLなソフトウェアを基にしたソフトウェアを、そのソフトウェアの"派生物"と、GPLでは呼んでいます。
 ただし、この条件は、GPLなソフトウェアを使用して作られたデータに適用される訳ではありません。つまり、GPLなワープロソフトで作成した文書ファイルをGPLにする必要なありません。このように作られたデータを、GPLなソフトウェアの"出力結果"と、GPLでは呼んでいます。
 ソフトウェアにおいて、なにが"派生物"でなにが"出力結果"か、そのソフトウェアの種類によって違ってきます。特定のGPLなソフトウェアの使用許諾を読むときには、その点にも注意しましょう。


GPLの場合


 GPLの場合は、改良したソースコードも必ずGPLで公開しなければなりません。
 一方、FreeBSDで採用されているBSDライセンスでは、必ずしも同じ条件で公開する必要がありません。そのため、このライセンスで公開されているソースコードは、改良した内容を企業の独占的なソフトウェアに取り込めます。例えば、それをマイクロソフトが製品に組み込むことが可能です。これは、オープンソースの成果を利用したい企業にとって、魅力的なライセンスです。


◎オープンソースは一枚岩ではない

 「オープンソース」という言葉は、ソースコードを公開するという考え方を一般に広め、それを企業に利用させることに成功しました。でも、ソースコードの公開方式がいくつもある中で、各ライセンスの違いを際だたせることにもなりました。
 たとえば、オープンソースと認定されているBSDライセンスのプログラムでは改良版を商業ソフトウェアに変更可能です。ソースコードをオープンにしないで、その成果を独占できるのです。
 そのため、コピーレフトに賛成しているプログラマは、BSDライセンスの開発コミュニティには参加できないことになります。そのプログラムを改良しても、将来、独占的なソフトウェアに使われてしまう可能性があるからです。改良版をGPLにすることもできますが、その改良版は、オリジナルに取り込むことができません。
 結局、BSDライセンスのソフトウェアを改良するプログラマは、改良版のライセンスをどうするか悩む必要があります。自分の改良版が優れているという自信があるなら、それを独占的なソフトウェアに切り替えるという誘惑が存在します。一方で、自分の改良版をGPLとして公開すれば、その先は悩む必要はありませんが、他の改良版と組み合わせることはできなくなるかも知れません。
 このように、オープンソースソフトウェアは、そのライセンスによって少しずつ考え方が違っています。GPLを推進している人たちからは、この点が批判の対象になります。また、次に説明するように、オープンソース自体も批判の対象になっています。開発コミュニティの中で起こるこのような意見の不一致は、宗教論争と揶揄されることもあります。


◎フリーソフトウェアと呼んで欲しい

 GPLを考え出したストールマンのフリーソフトウェア財団(FSF)は、ソースコードを公開して自由に使用・修正・配布したソフトウェアを、「オープンソースソフトウェア」ではなく「フリーソフトウェア(Free Software)」と呼ぶことを提唱しています。
 英語のフリー(Free)という言葉は、自由と無料という二つの意味を持っています。"フリーソフトウェア"の"フリー"は、自由という意味のフリーです。フリーソフトウェアは、いつでもどこでも誰でも自由に利用・修正・配布できるのです。
 次の図は、フリーソフトウェア財団によるソフトウェアの分類です。
 この場合のフリーソフトウェアは、無料のオンラインソフトではなく、ソースコードが公開されて、誰でも自由に使用・修正・配布ができるソフトウェアを示しています。

##ソフトウェアの分類


フリーソフトウェア財団「フリーおよびフリーではないソフトウェアの分類」より
Chao-Kueiによる図解

http://www.gnu.org/philosophy/categories.ja.html


 この図でも分かるように、オープンソースソフトウェアとフリーソフトウェアは、微妙に違うものです。これは、基本となる考え方が違うからです。オープンソースはソースコードを公開することにこだわるのに対し、フリーソフトウェアはソフトウェアに対する自由にこだわっているのです。
 これについて、リチャード・ストールマンは次の文書を発表しています。

Why ``Free Software'' is better than ``Open Source''
http://www.gnu.org/philosophy/free-software-for-freedom.html


「フリーソフトウェア」が「オープンソース」より好ましい理由
日本語訳: yomoyomo
http://www1.neweb.ne.jp/wa/yamdas/column/technique/fsffj.html


 この文書では、「「オープンソース」という用語を用いたら何も問題の解決にならず、それどころか問題を生み出してしまう」ことを説明しています。
 この他にも、フリーソフトウェア財団はフリーソフトウェアについての多数の解説を発表しています。あまりに解説が多すぎて、煙たがられることもない訳ではありません。
 残念ながら、フリーソフトやフリーウェアという紛らわしい言葉が、無料ソフトの代名詞として定着しています。オープンソースという言葉も市民権を得つつあるようです。でも、フリーソフトウェアという言葉が、どこまで受け入れられるか定かではありません。
 とはいえ、コピーレフトの考え方を表現しているGPLは、自由なプログラムをつくるためのソースコードの公開方法として、もっとも強力なライセンスです。「自由なソフトウェア」という考え方は、少しずつ浸透していくかも知れません。


◎結局、オープンソースって何だろう

 オープンソースという名前は、いわばマーケティングのために付けられたキャンペーン名に過ぎません。
 「ソースコードを公開する」という運動を、ビジネスに関わる人々に理解してもらうため、開発コミュニティにマーケティングと言う発想を持ち込んだ結果、こんな名前がつきました。実際に、このキャンペーンのおかげで、企業はLinuxや色々なプログラムのソースコードを利用するようになり、オープンソースという呼び名を使うようになりました。
 とはいえ、開発コミュニティは単一の組織ではありません。コンピュータに関わる人たちの緩やかな連合体です。当然、そこには色々な考え方の持ち主がいますし、その考え方が統一されることもないでしょう。
 緩やかな連合体ですが、開発コミュニティは現実の存在です。インターネットを通じて、多くの人が情報を交換し、プログラムを開発しています。そして、このコミュニティがある限り、オープンソースソフトウェアはこれからも進化していくでしょう。
 

 

<前へ><目次><次へ>