相談の広場
ソフトウェアを開発するにあたり、GPLの理解に苦しんでいます。端的にどういうライセンスなのでしょうか?今のところ、理解しているのは、GPLのソフトウェアのプログラムやソースを利用して新たに開発したソフトウェアを、製品販売などで第三者に配布すると、こちらが独自に開発した部分も第三者に開示することになる。従って、第三者開示を避けたい場合は、本件ライセンスは利用すべきではない、というとこまでです。一般的にこのライセンスは開発者には広く利用されているのでしょうか?
よろしくお願いします。
スポンサーリンク
こんばんは。GPLについては少し知っているので返信します。
> ソフトウェアを開発するにあたり、GPLの理解に苦しんでいます。端的にどういうライセンスなのでしょうか?
端的に言うと、プロプライエタリソフトウェアの作成を防ぐためのライセンスです。プロプライエタリ(私有)ソフトウェアとは、ソースコードが公開されていない、またはソースコードの改変や再配布が認められていないソフトウェアのことです。そのようなソフトウェアは、プログラミング能力のある人が改良を加えたいと思ったときに困ってしまいます。さらに悪い場合には、プロプライエタリソフトウェアには用途を限定するものもあります。ユーザーはソフトウェア提供者の言いなりです。そこで、ソフトウェアの自由な実行や再配布ができるようにするため、コピーレフトという仕組みを使ってプロプライエタリソフトウェアに利用できないようにしたのがGPLというライセンスです。
GPLでは、ソフトウェアの使用については一切の制約はありません。GPLソフトウェアを使ったソフトウェアを開発し、それを頒布する場合などの二次利用においては、コピーレフトの仕組みにより、GPLを適用する必要があります。ただしGPLにはいくつかバリエーションがあり、それによってコピーレフトの適用範囲が異なります。
> 今のところ、理解しているのは、GPLのソフトウェアのプログラムやソースを利用して新たに開発したソフトウェアを、製品販売などで第三者に配布すると、こちらが独自に開発した部分も第三者に開示することになる。従って、第三者開示を避けたい場合は、本件ライセンスは利用すべきではない、というとこまでです。
上記の通りバリエーションがあり、それによって利用できるシーンは異なります。主に理解するべきなのは次の3つのバリエーションがあるということです。
LGPL: 主にライブラリへの適用を目的としたライセンス。プロプライエタリソフトウェアでもライブラリへのリンクが可能。ただし、ライブラリへの改良が出来るようにしておくこと(これはだいたいバイナリを独立させておけば問題ない)と、改良したライブラリが動作することを確かめるデバッグができるよう、リバースエンジニアリングを認める必要がある。
GPL: ライブラリとして利用する場合などのように、GPLソフトウェアを前提としたソフトウェアを再配布する場合には、全体をGPLにする必要がある。ただし社内利用やウェブアプリなど、ソフトウェアの再配布がない場合には、独自に開発した部分のソフトウェアのソースコードを配布する必要はない。
AGPL: GPLのようなコピーレフトに加え、ウェブアプリのようにネットワークを通じてアクセスした相手に対してソースコードの開示が必要となるライセンス。
> 一般的にこのライセンスは開発者には広く利用されているのでしょうか?
されています。非常に多くのソフトウェアがGPLで配布されています。例えばLibreOfficeやVLC、Linux、MySQL、WordPress、Xoops、GIMP、SugarCRMなどです。(実際にはもっとたくさん、星の数ほどあります。)
開発者が自らGPLを選択するシーンとしては、他の人に自由にソフトウェアを利用してもらいたい、改変してもらいたい、他の人が改変した内容を見たい、ソースコードに対してフィードバックを貰いたいといったものが挙げられます。
ソースコードを開示することはデメリットではなく、あくまでも選択のひとつと考えるべきでしょう。
どのカテゴリーに投稿しますか?
選択してください
1~2
(2件中)
お知らせ
2024.4.22
2023.11.1
2023.9.1
スポンサーリンク
スポンサーリンク
[2022.7.24]
[2019.11.12]
[2018.10.10]