GPLライセンスとは?概要や特徴を分かりやすく解説!
最終更新日:2024/08/29
<a href = "https://digi-mado.jp/article/75766/" class = "digimado-widget" data-id = "75766" data-post-type = "post" data-home-url = "https://digi-mado.jp" target = "_blank"></a>
<script src = "https://digi-mado.jp/wp-content/themes/digi-mado/js/iframe-widget.js"></script>
『デジタル化の窓口』は、この国のデジタル課題「2025年の崖」に備えるため2022年にサービスをスタートしました。1,500以上のIT製品、4,000以上の導入事例を掲載し、特長・選び方を分かりやすく整理して解説することで、自社に最適な製品・サービスを見つけるお手伝いをする紹介サービスです。
目次
GPL(GNU General Public License)ライセンスは、オープンソースソフトウェアの開発・配布に使用される代表的なライセンスの一つです。
オープンソースソフトウェアの世界で、ライセンスの選択は重要な意味を持ちます。数あるライセンスの中でも、GPLは最も有名で影響力のあるライセンスの1つです。GPLは、ソフトウェアの自由な利用・改変・再配布を保証する一方で、いくつかの義務も課しています。
本記事では、GPLライセンスの概要や特徴、バージョンの違い、適用方法、注意点などを詳しく解説します。オープンソースプロジェクトでライセンス選択に悩んでいる方は、ぜひ参考にしてみてください。
GPLライセンスとは
GNU General Public License(GPL)は、GNUプロジェクトの創始者リチャード・ストールマンが作成した、フリーソフトウェア財団(FSF)により公開・管理されているオープンソースライセンスです。GPLはコピーレフトの概念に基づいており、WordPress等の多くのソフトウェアで採用されています。
コピーレフトとは、著作物の自由な利用・改変・再配布の権利を人々に与え、そこから派生した著作物についても同様の自由を保証する考え方です。この概念はストールマン博士が考案し、著作権を維持しながら自由を与える”copyleft”という言葉遊びの名称が付けられました。コピーレフトのシンボルマークは著作権マーク(©)を左右反転したものが使用されています。
コピーレフト自体は必ずしもソースコード公開を求めていませんでしたが、その最初の実装であるGNU Emacs General Public License(GPLの前身)では、改変を可能にするためにソースコードの開示を求める条件が設けられました。GPLはこれを一般化し、再配布時のソースコード公開、ライセンス表記、派生物へのライセンス継承などのいくつかの義務を課しています。
一方で、GPLはフリーソフトウェアの普及を目的としており、商用利用を認め、無料での頒布を強制していません。GPLライセンスの下で配布されるソフトウェアは無料である必要はなく、販売も可能です。
このようにGPLはコピーレフトの理念を厳格に具現化しており、MIT、修正BSDライセンスのような寛容なライセンスとは対照的です。寛容ライセンスでは派生物への同ライセンス継承を強制せず、単純な条件を守れば自由な利用が認められます。
GPLライセンスの種類
GNUGeneral Public License(GPL)には、主に2つの主要バージョンがあります。本章では違いを解説していきます。
- v2
- v3
v2
GPLv2.0はコピーレフトの原則に基づき、ソフトウェアの改変や再配布を行う際には、そのソフトウェアをGPLv2.0のライセンスの下で配布することを義務付けています。これにより、GPL化された著作物の自由を維持するという狙いがあります。
また、オリジナルの著作権表示を削除したり改変したりすることは認められていません。GPLv2.0のソフトウェアに関連する特許はすべて自動的にライセンスされますが、特許の濫用を防ぐ明示的な条項はないです。
一方で、GPLソフトウェアを商用目的で利用・再配布することは許可されており、無償での配布を強制されることはありません。
GPLv2.0のライセンス条件に一部でも違反すると、ライセンス全体が無効になるという厳格なルールがあります。また、GPLv2.0以外のライセンスを併合した場合、そのコードはGPLv2.0に従うことが求められます。
GPLv2.0は比較的シンプルな条件で構成されており、コピーレフトの理念を徹底して実現しているため、オープンソース界で最も影響力のあるライセンスの1つとなっています。しかし、一方で特許の濫用への対策が不十分であることが課題とされてきました。
v3
GNU General Public Licenseのバージョン3.0、通称GPL v3.0は、GPLv2.0に新しく特許条項を追加したオープンソースソフトウェア利用許諾契約書です。
GPLv3.0の大きな特徴は、対象ソフトウェアを利用する場合に限り、そのソフトウェアに含まれる特許を自由に利用できるようになったことです。
そしてGPLv3.0のソフトウェアを配布する時の主な条件は2つあります。1つ目は、そのソフトウェアだけで実現できる特許について、その特許権をユーザーに許諾しなければならないことです。
2つ目は、ソースコードを開示するだけでなく、変更されたプログラムのバイナリを機器にインストールする方法も開示する必要があることです。ただし、一般家庭で使われない機器や、プログラムが書き換え不可能な形で組み込まれている場合はこの限りではありません。
このように、GPLv3.0はGPLv2.0に特許の利用を加えたライセンス体系となっており、特許を扱うオープンソースプロジェクトで採用が検討されています。
v2とv3の違い
GPLv2.0とGPLv3.0の最も大きな違いは、特許権の扱いです。GPLv2.0ではソフトウェアの特許権について触れられていませんでした。そのため、特許を持つ企業がGPLv2ソフトウェアに自社の特許が含まれているとわかった場合、それを理由に訴えることが可能でした。
一方、GPLv3.0では新たに「特許条項」が追加されています。これにより、GPLv3ソフトウェアを配布する人は、そのソフトウェアに自分の特許が使われていても、特許使用料を請求できなくなりました。つまり、特許の権利を主張できなくなったのです。
この特許条項により、特許を持つ企業でもGPLv3ソフトウェアを安心して利用できるようになりました。自社特許が入っていても、特許を理由に訴えられる心配がなくなったからです。しかし反対に、この条項が厳しすぎるため、一部の特許重視の企業がGPLv3.0への移行を渋っているという指摘もあります。
このように、特許の扱いが大きく異なることがGPLv2.0とv3.0の最大の違いです。特許以外にも、国際条約の遵守やDRM制限など、細かな相違点もあります。
プロジェクトで使うGPLのバージョンを選ぶ際は、このような違いを踏まえて、自身の特許戦略や事業方針に合ったライセンスを選ぶ必要があります。
GPLライセンスの適用方法
GPLライセンスの適用方法について解説します。適用法だけでなく注意点も確認してください。まずはプログラムのソースコード内に、GPLライセンスを使っていることを明記しなければなりません。
具体的には、ソースコードの冒頭部分などに、GPLライセンス文書の全文を記載するか、ライセンス文書があるウェブサイトのURLを記載します。プログラムのバイナリ配布の際も、同様にGPLライセンスの情報を添付する必要があります。
次に、GPLのルールに従わなければなりません。GPLのメインルールとは、プログラムを改変したり再配布する際には、改変したプログラムのソースコードを公開しなければならないということです。ただし自分で書いた部分のソースコードだけでなく、元の元々のプログラムのソースコードも一緒に公開する必要があります。
さらに、プログラムを配布する時には、GPLのライセンス文書そのものも一緒に提供しなければなりません。ライセンス文書の全文を添付するか、ウェブサイトのURLを明記しておけば大丈夫です。これらのルールを守ることで、適切にGPLライセンスが使えます。
一方、プログラムの中でGPLライセンス以外のライブラリを使う場合は、そのライブラリのライセンスの扱いに注意が必要です。ライブラリ側がGPLと互換性のあるライセンスを使っていれば問題はありませんが、そうでない場合は別途対応が必要になります。
例えばGPLには「ライブラリ例外条項」という規定があり、この条項を追加することで特定のライブラリとGPLプログラムを組み合わせて利用できるようになります。
GPLライセンスの注意点
本章ではGPLライセンスの使用上の注意点を4点解説します。
- 自己責任の範囲で自由に使える
- 著作権の表示は消さない
- 再配布する場合も必要になる
- 複製や改変は自由にできる
1.自己責任の範囲で自由に使える
GPLライセンスは、誰でもソフトウェアを自由に使える権利を与えています。ただし、その代わり、使う人は自分で責任を持つことが必要です。つまり、そのソフトウェアを使ったことで何か問題が起きても、作った人には責任はありません。
例えば、GPLソフトウェアに不具合があって、データが消えてしまったりしても、作った人に文句はいえません。自分で使う際のリスクは自分で考える必要があります。また、GPLソフトウェアを会社で使って売上が落ちたとしても、作った人に損害賠償を求めることは不可能でしょう。
一方で、GPLソフトウェアを自由に改良したり、改良したバージョンを売買したりすることは可能です。ただし改良したバージョンのソースコードも公開しなければなりません。
このように、GPLソフトウェアは自由に使えますが、使う側が自己責任を持つ代わりに、その自由が約束されているのがGPLライセンスの特徴です。自分で責任を取れる範囲内で自由に活用できるということですね。
2.著作権の表示は消さない
GPLライセンスを使うソフトウェアには、誰がそれを作ったかを示す著作権の表示が入っています。この表示を消したり、変更したりすることは許可されていません。
著作権の表示には、作者の名前や作成年、著作権者の表記などが含まれます。この情報をそのまま残さなければなりません。プログラムのソースコードにも、実行ファイルにも、ドキュメントにも、著作権表示は必ず入っているはずです。
これらの表示を消してしまうと、本来の作者が誰かわからなくなってしまいます。GPLは作者への敬意を払うため、こうした情報を消すことを禁止しているのです。
プログラムを改変してさらに配布する場合も、既存の著作権表示は残したままで、新しい著作権表示を追加する必要があります。つまり、元の作者と新しい改変者の両方が著作権者として明記されることになります。
このように、GPLソフトウェアの利用では、作者への敬意を払い、著作権の情報をそのまま残すことが義務付けられているのです。著作権表示を消したり変更したりすれば、ライセンス違反になってしまいます。
3.再配布する場合も必要になる
GPLライセンスを使ったソフトウェアを再配布する場合、いくつかのルールを守らなければなりません。再配布とは、そのソフトウェアの複製物を作って、他の人に渡すことをいいます。
まず、再配布するソフトウェアにはGPLライセンスの文書を付けなければいけません。つまり、ライセンス条件の書かれた文書を一緒に渡す必要があるのです。この文書がないと、相手がライセンスの内容を確認できません。
次に、再配布の際はソースコードも一緒に渡さなければなりません。GPLではソースコードを公開することが義務付けられているためです。バイナリ形式のプログラムだけでなく、人間が読めるソースコードも提供しなければいけません。
さらに、もしそのソフトウェアを改変していれば、改変したソースコードも公開する必要があります。改変前のソースコードだけでなく、自分が変更を加えた部分のソースコードも開示しなければなりません。
このように、GPLソフトウェアを再配布する場合は、ライセンス文書、ソースコード、改変したソースコードの開示が求められます。これらのルールを守らないと、GPLライセンスに違反することになってしまうのです。
4.複製や改変は自由にできる
GPLライセンスが適用されたソフトウェアは、誰でも自由に複製したり改変したりできます。つまり、そのプログラムのコピーを作ること、中身を変更することが許可されているのです。
複製とは、プログラムのバイナリファイルやソースコードを丸ごとコピーすることを指します。これらのコピーを自分のコンピュータにインストールしたり、仲間に渡したりすることが可能です。
一方、改変とは、プログラムのソースコードを書き換えて機能を変更することです。特定の機能を追加したり、不具合を直したり、自分の用途に合わせてカスタマイズすることが可能になります。
複製や改変を行う際、1つ条件があります。その行為の結果生まれたプログラムも同様にGPLライセンスの下に置かなければならないということです。自分で改変したプログラムは、再びGPLで公開しなければなりません。
このように、GPLライセンスは、ソフトウェアを自由に利用し、改良できる権利を保証しています。ただし改良した成果物については、同じ自由を次の人に与え続けるためのルールがあるのです。
まとめ:GPLライセンスを検討してみよう
ソフトウェアのライセンス選択は、難しい問題といえます。特にGPLライセンスは強力な条件がついているため、扱いに注意が必要です。
本記事で、GPLライセンスの長所と短所、適用方法や注意点をお伝えしました。自由にソフトウェアを利用・改変・再配布できる一方で、ソースコード公開が義務付けられるなど、メリットとデメリットがあることがおわかりいただけたでしょう。自身のプロジェクトにGPLが合っているかどうか、一度検討してみてはいかがでしょうか。
<a href = "https://digi-mado.jp/article/75766/" class = "digimado-widget" data-id = "75766" data-post-type = "post" data-home-url = "https://digi-mado.jp" target = "_blank"></a>
<script src = "https://digi-mado.jp/wp-content/themes/digi-mado/js/iframe-widget.js"></script>
目次
おすすめ比較一覧から、
最適な製品をみつける
カテゴリーから、IT製品の比較検索ができます。
1805件の製品から、ソフトウェア・ビジネスツール・クラウドサービス・SaaSなどをご紹介します。