概要
GNU GPLとはオープンソース(フリーかつソース自体が公開されているもの)ライセンスの一つである。主なものとしてLinuxなどがそれに当たる。これ以外のオープンソースライセンスとしてBSDライセンスやMITライセンス等が有名。
記事名はGPLライセンスとなっているが、「GPL」が「General Public License」の略なので「GPL」だけで通用する。日本語訳は「GNU一般公衆ライセンス」(GNU公式サイトによる)。
このライセンスでは、大ざっぱに言うと以下のルールが定められているが、さらに雑な言い方をすれば「自由であること」が強制される、という強い制限があるという点が特徴。
また「派生物に対しても『自由な』ライセンスで公開される事を強制する為に著作権やそれに伴なう諸権利を利用する」という「著作権を放棄せずに保持しつつ、通常の著作権の使い方とは、ほぼ正反対の目的で著作権やそれに伴なう諸権利を利用する」という性質から、「Copyright」に対して「Copyleft」を称する事や、©を左右反転されたマークをシンボルとして使う場合が有る。
- 誰でも自由に使用、コピー、再配布、改変してよい。
- そのため、何らかの手段でソースコードを入手できるようにしなければならない。入手できるようにすることだけが明言されているので、手段は自由(ダウンロード以外に有償でCDを送付するなどの方法でも構わないが、送付にかかる費用以上の金銭を要求してはいけない。公衆にリリースしないなら、ソースコード非公開でもよい)。
- 再配布の方法は自由。雑誌のCDに収録することや有償販売を行っても構わない。その際、作者に許可を求めなくても良い。極端な話、GPLである限り有償販売したものを無償で再配布されても文句は言えない。
- 改造版あるいはGPLとなっている成果物を流用ないし組み込んだものを公開する場合、それもGPLでなければならない。一部分だけソース非公開とすることは認められない。
- いかなる場合においても原作者の著作権表記を消してはいけない。改造版を公開する場合、原作者の著作権表記に加えて改造した人の著作権表記を記載すればOK。また、改造版とわかるようにしなければならない。
- 無保証。作者はプログラムを使用したことで起きる事象に対して責任を負わない。
問題点
GPLには非常に強い制限がある関係上組み合わせられないライセンスもいくつかある(例:GPL2.0と3.0は両立できない)。
あとから制限を強めたり弱めたりすることもできない(GPLでライセンスされたものは上記の通りその派生物も含めGPLとしなければならない。そのため、あとからBSDやApacheといった制限の緩い別のライセンスや商用ライセンスに変更することは原作者でさえもできない)ので、運用が難しくなっている。
組み合わせてしまったが最後、すべてGPLとされてしまうためその範囲がどんどん広がり、まるで環境汚染や伝染病のように広がってしまう。
これ自体は原作者でありフリーソフトウェア運動を始めたストールマンらの狙い通りなのだが、そのために「GPL汚染」として開発者からあまり好まれない理由ともなっている。特にBSD系のプロジェクトはGPL脱却を進めており、FreeBSDでは長年使っていたGCC(GNUコンパイラーコレクション)がGPL3.0になり、企業で使いにくくなったこともあり、バージョン10で新たに開発したclang/LLVM(こちらはBSDライセンス)をデフォルトで採用し、C/C++コンパイラーを置き換えた。これによりGPL3.0からの完全な脱却を達成している。
この問題を起こさない方法としてはそもそもライセンスをGPLとしないこと(より制限の緩いLGPLやMPL、BSDとしておく)か、複数のライセンスを提示するマルチライセンスとして、利用者にどのライセンスに従うかを選んでもらう(この場合、オープンソースライセンスと商用ライセンスの組み合わせでも良い)、というものがある。
派生したライセンス
GPLから派生したライセンスはいくつかあり、それぞれがGPLと制限や対象に違いがある。
GNU Lesser General Public License
LGPLとも。
GPLの制限を緩和したライセンスで、GPLの成果物を組み込んだり流用するとGPLとすることを強制される制限を無くしたライセンス。
GPLではGPLのライブラリを使っているプログラムは内部に組み込んであったり、必要に応じて呼び出す場合のいずれもGPLとしなければならなかったが、LGPLではWindowsのDLL(ダイナミックリンクライブラリ)のようにプログラム本体に内蔵せずに必要なときに呼び出す形式であれば呼び出すプログラム本体はLGPLとしなくてもよいことになっている。LGPL自体が元々はライブラリのために作られたライセンスという側面があり、最初LGPLの頭のLはLesserではなくLibraryだったが、ライブラリ専用とすべきではないという考えで改められた経緯がある。
本体と同梱して配布しても構わないが、その場合はLGPLのライブラリを使っていることを明記した上でソースコードを再配布するか、配布先にリンクをする必要がある。
Affero General Public License
AGPLとも。
Webアプリなど「ソフトを配布しているわけではないがGPLのライブラリを使っている」ときにもGPLの制限が適用されるよう、抜け穴を塞いだ格好のライセンス。
しかし、ソフトウェアを「サービスとして」提供する場合にもこの制約が適用されるかが曖昧なままという問題があり、MongoDBなど、AGPLからタダ乗りを認めない独自のライセンスに切り替える例もある(ただしこちらはオープンソースライセンスとしての承認を受けておらず、Fedoraはリポジトリから削除する対応をしている)。
GNU Free Documentation License
GFDLとも。
ソフトウェアではなく文書に対して同様の制限を課したもの。Wikipediaはこれとクリエイティブ・コモンズの二重ライセンスとなっている。