GNU一般公衆ライセンス(GPL)詳解
GNU一般公衆
ライセンス(GNU General Public License、略称GPL)は、フリー
ソフトウェア界の礎を築いた重要な
ライセンスです。リチャード・ストールマンによって考案され、フリー
ソフトウェア財団(FSF)によって管理・公開されています。GPLの目的は、
ソフトウェアの
自由な利用、改変、配布を保証することです。
GPLの概要
GPLは、プログラムの
著作物を利用するすべての人に、以下の権利を許諾します。
1.
プログラムの実行: プログラムを
自由に実行できます。
2.
プログラムの調査と改変: プログラムの動作を理解し、必要に応じて
ソースコードを改変できます。
ソースコードへのアクセスは必須です。
3.
複製物の再頒布: プログラムのコピーを
自由に配布できます。
4.
改良版のリリース: プログラムを改良し、その改良版を公衆にリリースできます。
ソースコードへのアクセスが前提です。
GPLの最大の特徴は「
コピーレフト」です。GPLで
ライセンスされたプログラムを基に作成された
二次的[[著作物]](派生作品)も、同様にGPLで
ライセンスされなければなりません。これは、
BSD[[ライセンス]]などのパーミッシブ
ライセンスとは対照的です。
コピーレフトによって、
ソフトウェアの
自由が連鎖的に広がり、独占的な利用を抑制します。
GPLで
ライセンスされている代表的な
ソフトウェアには、
LinuxカーネルやGNUコンパイラコレクション(GCC)などがあります。
FSFは、GPL以外にもGNU Lesser General Public License (LGPL)、GNU Free Documentation License (GFDL)、
GNU Affero General Public Licenseバージョン3 (AGPLv3) などの
ライセンスを公開しています。
GPLの意義
GPLは単に
ソフトウェアの配布方法を規定するだけでなく、「
ソフトウェアは
自由であるべき」というストールマンの哲学を体現しています。有償・無償を問わず、誰もが
ソフトウェアを
自由に利用できるという理念は、
ソフトウェア開発のあり方に大きな影響を与えました。特に、GNU/
Linuxの成功にはGPLによる
コピーレフトが重要な役割を果たしたと言われています。GPLは、
プログラマーに
自由な
ソフトウェア開発の確証を与え、コミュニティへの貢献を促す強力なインセンティブとなりました。
GPLの歴史
GPLの誕生は、Gosling Emacsの
ライセンス変更や、ストールマンがMIT人工知能研究所で開発した
ソフトウェアの
ソースコードがSymbolics社によって非公開とされたことなど、複数の出来事がきっかけとなっています。これらの出来事を経て、ストールマンは
ソースコードの
自由な利用を保証する
メカニズムの必要性を感じ、
1989年にGPLバージョン1をリリースしました。
GPLはその後、バージョン2(
1991年)、バージョン3(
2007年)と改訂されてきました。バージョン3では、
ソフトウェア特許、DRM、TiVo化(GPLで
ライセンスされたプログラムが含まれる機器で、改変版
ソフトウェアの動作を拒否する問題)、ASPモデルにおけるGPLの回避問題など、新たな課題に対応するため、条項が強化されました。改訂にあたっては、FSFが主導する公開協議
プロセスが実施され、世界中の開発者や専門家からの意見が反映されています。
GPLの利用条件
GPLで
ライセンスされたプログラムを受け取った者は、GPLの条項に従う必要があります。これは、プログラムの改変、複製、配布を許可する一方で、改変版もGPLで
ライセンスされることを要求するものです。また、GPLは、プログラムの販売や有償サービスへの利用を特に制限しません。ただし、GPLによって付与される以上の権利制限を課すことは許されません。
GPLでは、コンパイル済みバイナリ(実行ファイル)を配布する場合は、
ソースコードも同時に提供するか、入手方法を明示する必要があります。また、プログラムの受領者にはGPLの
ライセンス文書も提供しなければなりません。
コピーレフトは、
著作権法を、制限を課すのではなく、
自由を拡大するために利用する仕組みです。GPLのような
コピーレフトライセンスでは、プログラムの改変や再頒布が許諾されますが、改変版も同様に
コピーレフトの適用を受けなければなりません。これは、
ソフトウェアの
自由を維持し、独占的な利用を防ぐための重要な
メカニズムです。
コピーレフトは、プログラムの再頒布をしようとする場合にのみ適用されます。個人的な利用や組織内での利用であれば、改変版を公開する義務はありません。また、
コピーレフトはプログラムの出力には適用されません。
GPLで
ライセンスされたライブラリをプロプライエタリ
ソフトウェアが利用できるかどうかは、静的リンクか動的リンクか、そしてライブラリとプロプライエタリ
ソフトウェアの結合の程度によって複雑な問題となります。FSFは、動的リンクは
二次的[[著作物]]とみなさないとする一方、静的リンクは
二次的[[著作物]]とみなすと主張しています。この点については、法的な解釈に幅があり、明確な結論は出ていません。
プラグインについても同様の議論があります。
GPLと他のライセンスとの両立性
GPLと他の
ライセンスとの互換性についても議論があります。GPLと互換性のある
ライセンスであれば、コードを組み合わせることが可能ですが、GPLと非互換な
ライセンスと組み合わせると、コードの再利用性が低下する可能性があります。GPLv2とGPLv3は、互換性がない部分もありますが、GPLv2で"any later version"の記述がある場合は、GPLv3と組み合わせることが可能です。
GPLの採用実績
GPLは、世界中で広く利用されているフリー
ソフトウェアライセンスです。多くのフリー
ソフトウェアプロジェクトがGPLを採用しており、
Linuxカーネル、GNUコンパイラコレクション、その他多くの
ソフトウェアがGPLのもとで公開されています。テキスト文書やその他のメディアにも適用できますが、
ソースコードの概念が明確である必要があります。
GPLをめぐる論争
GPLは、その法的性質、
ライセンスと
契約の関係、ライブラリの扱いなどについて、様々な論争を引き起こしてきました。また、
ライセンス条項の複雑さや、GPLの意図に関する誤解も、論争の一因となっています。
歴史的に、GPLは、MySQL AB社による
訴訟や、SCOグループによる主張、Sitecomに対する
訴訟、そしてFSFによる
シスコシステムズへの
訴訟など、多くの法廷闘争の舞台となりました。これらを通して、GPLの法的有効性が確認された事例もあります。
マイクロソフトなど、GPLに批判的な
企業もあります。
マイクロソフトはGPLを「ウイルス的」と評し、その
コピーレフト性を問題視していますが、近年ではGPLで
ライセンスされたコードを自社製品に含める事例も見られます。
Linuxカーネル開発者やFreeBSDプロジェクトなどからも、GPLv3への移行に関して様々な意見が出ており、GPLをめぐる議論は今もなお続いています。
よくある誤解
GPLに関するよくある誤解として、
ソースコードの公開義務、課金に関する制限、GPLツールを用いた
ソフトウェアの
ライセンス、GPL
ソフトウェアの改造と公開に関する制限などがあります。これらの誤解は、GPLの複雑さから生じる場合が多いです。