OSSライセンスでは コピーレフト の概念があります。OSS を利用・改造してもよいけど、OSS の普及・共有を目的として、OSS を利用・改造した場合は、利用・改造したソースコードも同ライセンスのOSSとして公開することを義務付けるものです。コピーレフト型ライセンス としては GPL、AGPL 等があります。準コピーレフト系ライセンス としては、利用しただけであれば公開の義務はないけど、改造した場合は義務付けるもので、LGPL, MPL などがあります。非コピーレフト型ライセンス はこれらの制約がなく、縛りの少ないライセンスで、MIT, BSD, Apacheライセンス などがあります。
形態 | ライセンス | 利用者への コード公開 |
利用物の コード公開 |
改造物の コード公開 |
ライセンス 明記 |
改造・複製・再配布・商用利用 |
---|---|---|---|---|---|---|
非コピーレフト | MIT | 不要 | 不要 | 不要 | 必要 | 可能 |
BSD | 不要 | 不要 | 不要 | 必要 | 可能 | |
Apache | 不要 | 不要 | 不要 | 必要 | 可能 | |
準コピーレフト | MPL | 不要 | 不要 | 必要 | 必要 | 可能 |
LGPL | 不要 | 不要 | 必要 | 必要 | 可能 | |
コピーレフト | GPL | 不要 | 必要 | 必要 | 必要 | 可能 |
AGPL | 必要 | 必要 | 必要 | 必要 | 可能 |
Massachusetts Institute of Technology License の略です。X Window System などを開発していたマサチューセッツ工科大学が定めたライセンスです。著作権および許諾表示を記載すれば、非営利、商用を問わず、使用、改変、複製、再頒布が可能です。二条項BSDライセンスと同様、制約が少なく、GitHub で配布されているオープンソースでも最も利用されているライセンスです。
Berkeley Software Distribution License の略です。BSD系UNIXを開発していたカリフォルニア大学バークレー校が定めたライセンスです。四条項版、三条項版、二条項版があります。非営利、商用を問わず、使用、改変、複製、再頒布が可能です。
古い時代のBSDライセンスで、プロダクトへのライセンス掲示の他、宣伝媒体にも謝辞を掲載することが条件とされていました。現在ではあまり使用されていません。下記の使用条件があります。
1999年7月22日に発表されたもので、四条項BSDライセンスから第三条を削除し、宣伝媒体への謝辞掲載が不要となりました。修正BSDライセンスとも呼ばれます。BSD 系で最もよく利用されるライセンスです。
三条項BSDライセンスからさらに第三条を削除し、四条項BSDライセンスから第三条、第四条を削除したもので、(開発者)やコントリビューターの名前の使用制限が解除されました。
MIT や BSD と同様、制限の緩いライセンスです。ライセンス明記することで商用でも使用・改変・複製・再配布が可能です。
Mozilla が最初に公開したライセンスで、MIT/BSD/Apacheライセンスと、GPLの中間くらい、LGPLと同程度のライセンスです。利用しただけのコードは独自のライセンスを適用することができますが、改造した場合は、改造物もMPLライセンスとして公開する必要があります。
GPL をベースとしていますが、GPL が、GPL のモジュールをライブラリとして呼び出しているだけで、成果物の配布先に開発コードの公開が必要となる(感染する)のに対し、GPL モジュールをライブラリとして呼び出すだけであれば、開発コードの公開は不要としたものです。LGPL モジュールを改造した場合は、改造したソースコードを公開する必要があります。
無償で利用・改造・再配布できますが、GPLのモジュールをライブラリとして呼び出すだけでも、呼び出したソースコード自体も GPL ライセンスとする必要があり、成果物の配布先に開発コードを公開する必要があります。これを コピーレフト とも呼びます。利用しただけでソース公開の義務が生じることから「GPLに感染する」ともいわれています。ライブラリのリンクは、静的リンクの場合はGPLに感染、動的リンクの場合は議論が分かれています。C言語、Java、Python、PHP などで通常のライブラリとして利用する場合は静的リンクとみなされます。ライブラリではなくコマンドとして呼び出す場合は感染しません。ソース公開はWeb公開や、要求に応じて媒体送付でもよいですが、媒体送付の場合は送付実費以上の金額を要求してはなりません。公開するソースのコンパイルに必要なモジュールもすべて提供する必要があります。
GPL をベースとしていますが、GPL が、バイナリの提供先にのみ公開義務があり、バイナリを配布しない場合、例えば、Webサーバに組み込んで Webサービスとして公開する場合は、利用者に開発コードの公開義務が無いのに対し、AGPL の場合はサービスとして公開するだけであっても、開発コードを AGPL ライセンスとし、利用者に公開する義務が生じます。