【OSS】GPLライセンスとは:商用利用や配布について
2023.07.20 /
本記事ではオープンソースソフトウェア(OSS)のライセンスにおける、GPLについて詳しく解説していきます。
OSSには様々なライセンスがあり、その一つにGPLがあります。GPLは商用利用が可能なライセンスではありますが、MITやBSDといった他のライセンスと比べて慎重に使う必要があります。
なぜならGPLを使ったソフトウェア等の配布時にソースコードの開示が義務としてあるためです。
本記事を通して、OSSのGPLライセンスについて理解を深めてください。
オープンソースソフトウェア(OSS)
オープンソースソフトウェアとは
オープンソースソフトウェア(Open Source Software, OSS)とは開発者がソースコードを一般に公開しており、誰でも無償で使用・修正・配布ができるソフトウェアのことです。
誰でも改変や配布が可能ですが、ライセンスで定められた条件を守る必要があります。条件を守らず違反すると訴訟事件になる可能性があるため注意が必要です
OSSは様々なIoT機器に使われており、現在ではアプリケーションの開発には必要不可欠な存在となっております。OSSを利用することで開発期間を大幅に短縮することができます。
有名なOSSとしては、プログラミング言語のPythonやJava、PHP、OSであるLinux、HTTPサーバーのApache、DBMSのMySQLなどがあります。
Pythonでの制作物におけるライセンスの取り扱いについては以下記事をご参照ください。
【Python】制作物を商用利用・配布する場合のライセンスの取り扱い
OSSの著作権
開発者がソースコードを公開しているので著作権がない(放棄している)ように思われる方もいますが、著作権は作成者にちゃんとあります。
ただOSSのライセンスを通して、誰でも利用できるようになっています。ライセンスがあることでわざわざ著作権者に利用の許可を取らなくても大丈夫なようになっています。
ライセンスには使用するための条件(既定)があり、それらは必ず順守する必要があります。
OSSラインセンスとは
OSSには様々なラインセスがあります。以下にライセンスの例を記します。
- GPL(GNU General Public License)
- LGPL(GNU Lesser General Public License)
- MIT
- Apache License
ほとんどのOSSライセンスでは開発者の責任は免責されています。OSSを利用したことによる責任に関しては、実際の利用者(開発者)が負うということです。
LGPLはGPLに比べて制約が緩くなったライセンスです。LGPLについて詳しくは以下記事をご参照ください。
【Python】LGPLライセンスの商用・配布時での取り扱いについて
GPL(General Public License)
GPLとは
GPL(General Public License)とはOSSライセンスの一つで、フリーソフトウェア財団によって作成されました。
GPLの特徴は以下の通りです。
- コピーレフト
- 誰でも複製・改変・配布が可能
- 無保証
- 著作権表示
- ソースコードの公開義務
コピーレフト
GPLの大きな特徴の一つが、コピーレフトの特性を持つライセンスであるということです。
コピーレフトとは
コピーレフトとはOSSのライセンスポリシーの一つであり、ソフトウェアの自由な使用や改変を保護するものです。
具体的にはコピーレフトのプログラムを組み込んだ製品は、自由な使用や改変・頒布を制限してはならず、コピーレフトのライセンスとして公開しなければなりません。
例えばあなたがコピーレフトのライブラリを含んだ製品を開発した場合、コピーレフトの製品として公開しなければならないのです。
GPLはコピーレフトであるため、GPLのソフトを組み込んだ制作物はGPLライセンスになるということです。
誰でも商用利用・複製・改変・配布が可能
GPLのソフトウェアを組み込んだ制作物は商用として利用することができます。また編集や改変・配布も可能です。
ここで注意なのが制作物を配布する場合はソースコードを提供・開示する必要があるという点です。商用利用はできるが、この制約があるため商用利用をあまりお勧めしないというのが私の考えです。
またOSSのソースコードを改変した場合は、改変部分のソースコードを公開する必要もあります。
無保証
GPLライセンスでは開発者の責任は免責されています。そのためGPLのOSSを利用する場合は自己責任ということになります。
著作権表示
ソースコードへの著作権表示やライセンス条文を記載する必要があります。
ソースコードの公開義務
GPLのOSSを組み合わせて作成した制作物を配布する場合、ソースコードを公開する義務が発生します。
これはMITやAppache Lisenceなどにはない義務であり、GPLを利用する上で最もやっかいな特徴になります。
制作物によっては公開したくない重要なコード(特許を取得しているものなど)が制作物の中に含まれている可能性があります。そのため商用で開発するアプリケーション等にはGPLのOSSを利用することは避けることをお勧めします。
配布(頒布)について
「ソースコードの公開義務」がGPLを利用する上でネックになる部分です。配布しなければこの義務はありませんが、商用で作成した制作物を配布しないということはないでしょう。
また注意点として、Webアプリケーションにおいてもほとんどの場合でソースコードの公開義務が発生する可能性があります。
なぜならJavaScriptがWeb閲覧時にプログラムを配布しているとみなされるからです。
具体的に説明すると、サーバーはユーザー側のブラウザーにJavaScriptのプログラムを渡している(配布している)からです。
これがMITやBSD、Appache Lisenceであれば問題はないですが、GPLで会った場合はソースコードの開示が必要となるのです。
まとめ
本記事「【OSS】GPLライセンスとは:商用利用・配布・違反について」はいかがでしたか。
GPLはソフトウェアの自由な使用・改変・配布を保護するためのライセンスです。制限が他のライセンスよりも強く、コピーレフトの概念をよく理解する必要があります。
配布時のソースコードの開示という条件があるため、商用での利用はあまりお勧めしません。