【OSS】ライセンス(GPL, MPL, MIT, BSD, Apache)の特徴や違い!

この記事では『OSSライセンス』について、

  • OSSライセンスの違い
  • コピーレフト型ライセンス
    • GPL・AGPLの特徴
  • 準コピーレフト型ライセンス
    • LGPL・MPLの特徴
  • 非コピーレフト型ライセンス
    • MIT・BSD・Apache License・AFL・ISC・PSFの特徴
  • 非コピーレフト型ライセンス(パブリックドメイン)
    • MIT-0・0BSD・CC0・The Unlicense・WTFPLの特徴

などを分かりやすく説明するように心掛けています。ご参考になれば幸いです。

OSSライセンスの違い

OSSライセンスには、GPL、BSD、MIT、Apacheなど様々なものがあります。OSSライセンスの比較表を以下に示します。

ライセンス名類型ソースコード公開ライセンス明記特許条項
GPL v2.0コピーレフト必須必要なし
GPL v3.0コピーレフト必須必要あり
AGPL v3.0コピーレフト必須必要あり
LGPL v2.0準コピーレフト部分的必要なし
LGPL v3.0準コピーレフト部分的必要あり
MPL v1.1準コピーレフト部分的必要なし
MPL v2.0準コピーレフト部分的必要あり
MIT非コピーレフト不要必要なし
BSD-2-Clause非コピーレフト不要必要なし
BSD-3-Clause非コピーレフト不要必要なし
Apache v2.0非コピーレフト不要必要あり
ISC非コピーレフト不要必要なし
PSF非コピーレフト不要必要なし
CC0パブリックドメイン不要不要なし
The Unlicenseパブリックドメイン不要不要なし
WTFPLパブリックドメイン不要不要なし

ではこれから、各OSSライセンスについて特徴を説明します。

コピーレフト、準コピーレフト、非コピーレフトとは

コピーレフト型ライセンスには、GPLやAGPLがあります。コピーレフト型ライセンスのOSSは他のソフトウェアと組み合わせて利用した場合、組み合わせた全ての部分のソースコードを公開する必要があります。

準コピーレフト型ライセンスには、LGPLやMPLがあります。準コピーレフト型ライセンスのOSSを元に作成した派生ソフトウェアは、OSSライセンスの全文をソフトウェアとともに提供する必要があります。

非コピーレフト型のライセンスには、MITやApacheがあります。非コピーレフト型ライセンスを持つOSSを元に作成した派生ソフトウェアは、OSSライセンスの全文をソフトウェアとともに提供する必要があります。

コピーレフト準コピーレフト非コピーレフトについては、下記の記事で詳しく説明しています。興味のある方は下記のリンクからぜひチェックをしてみてください。

コピーレフト型ライセンス

コピーレフト型ライセンスには、以下のようなものがあります。

  • GPL
  • AGPL

ではこれから、上記のコピーレフト型ライセンスについて順番に説明します。

GPL

GPLはGNU General Public Licenseの略であり、フリーソフトウェア財団(FSF)によって制定されたライセンスです。GPLの主要なバージョンには、GPL v2.0とGPL v3.0があります。

GPL v2.0

GPL v2.0は、コピーレフト型ライセンスなので、GPL v2.0のOSSを利用する場合は、派生ソフトウェアも同じGPL v2.0で公開する必要があります。バイナリ形式でソフトウェアを配布する場合は、頒布先にソースコードを開示する必要があります。

また、GPL v2.0で決められていること以上の制約追加は禁止です。例えば、GPL v3.0、AGPL v3.0、BSD-4-ClauseはGPL v2.0以上の制約があるため、GPL v2.0のOSSを利用している場合には、こららのOSSは利用することはできません。

本ライセンスを適用している主なOSS

MySQL, Redmine, Git, CentOS

GPL v3.0

GPL v3.0はGPL v2.0のアップデート版であり、GPL v2.0に特許条項やデジタル著作権管理(DRM)技術を回避するための条項を追加したライセンスです。GPL v3.0のOSSを利用する際には、そのOSSに関連する特許も自由に利用できるようになります。

本ライセンスを適用している主なOSS

GNU Bash、GIMP(GNU Image Manipulation Program)、Samba

AGPL

AGPLはGNU Affero General Public Licenseの略であり、フリーソフトウェア財団(FSF)によって制定されたライセンスです。AGPLの主要なバージョンには、AGPL v3.0があります。

AGPL v3.0

AGPL v3.0はGPL v3.0をベースにしているライセンスであり、特にWebサービスやクラウドベースのアプリケーションに関するライセンス要件を強化しています。

GPLは主にソフトウェアが物理的な媒体(例えばCD-ROM)やダウンロード可能なバイナリとして配布される場合は、配布先にソースコードを開示する必要がありますが、バイナリを配布しない場合(例えば、ソフトウェアをWebサーバーに組み込んでWebサービスとして公開する場合など)はソースコードの公開義務がありません。

一方、AGPLはユーザーがネットワークを通じてソフトウェアにアクセスする場合(例えば、クラウドサービスなど)にもソースコードを開示する必要があります。

準コピーレフト型ライセンス

準コピーレフト型ライセンスには、以下のようなものがあります。

  • LGPL
  • MPL

ではこれから、上記の準コピーレフト型ライセンスについて順番に説明します。

LGPL

LGPLはGNU Lesser General Public Licenseの略であり、フリーソフトウェア財団(FSF)によって制定されたライセンスです。LGPLの主要なバージョンには、LGPL v2.0とLGPL v3.0があります。

LGPL v2.0

LGPLは、GPLをベースにしているライセンスであり、GPLよりもやや緩和された条件となっています。

GPLはOSSをライブラリとして呼び出しているだけで、派生ソフトウェアも同じGPLライセンスとなるため、ソースコードを開示する必要があります。

一方、LGPLはOSSをライブラリとして、呼び出すだけであれば、ソースコードを開示する必要はありません。LGPLのOSSを改変した場合には、改変したソースコードを公開する必要があります。LGPL v2.0はGPL v3.0と互換性があります。

LGPL v3.0

LGPL v3.0はLGPL v2.0のアップデート版であり、LGPL v2.0に特許条項やデジタル著作権管理(DRM)技術を回避するための条項を追加したライセンスです。LGPL v3.0のOSSを利用する際には、そのOSSに関連する特許も自由に利用できるようになります。LGPL v3.0はGPL v3.0と互換性があります。

MPL

MPLはMozilla Public Licenseの略であり、Mozilla Foundationによって制定されたライセンスです。特にMozillaのプロジェクト(例えば、Firefoxなど)に広く利用されています。MPLの主要なバージョンには、MPL v1.1とMPL v2.0があります。

MPL v1.1

MPLはOSSをライブラリとして、呼び出すだけであれば、ソースコードを開示する必要はありません。MPLのOSSを改変した場合には、改変したソースコードを公開する必要があります。

MPL v2.0

MPL v2.0では、他のライセンスとの組み合わせの制限を緩和しており、GPLやAGPLなどのライセンスとの互換性が改善されました。その結果、MPLライセンスのソースコードを、GPLやAGPLなどのライセンスであるプロジェクトと一緒に使用することが容易になりました。その他、様々な変更点があります。詳細は以下のライセンステキストを参考にしてください。

非コピーレフト型ライセンス

非コピーレフト型ライセンスには、以下のようなものがあります。

  • MIT
  • BSD
  • Apache License
  • AFL
  • ISC
  • PSF

ではこれから、上記の非コピーレフト型ライセンスについて順番に説明します。

MIT

MITはMassachusetts Institute of Technology Licenseの略であり、マサチューセッツ工科大学によって制定されたライセンスです。

OSSライセンスの全文をソフトウェアとともに提供すれば、非営利、商用を問わず、自由に使用、改変、複製、再頒布が可能です。改変したソフトウェアに、商用ライセンスなどの異なるライセンスを適用して公開しても構いません。MITは制約が少なく、GitHub で配布されているオープンソースでも最も利用されているライセンスです。

MITは後ほど説明するBSD-2-Clauseと同等のライセンスです。

BSD

BSDはBerkeley Software Distribution Licenseの略であり、カリフォルニア大学バークレー校によって制定されたライセンスです。BSDの主要なバージョンには、BSD-4-ClauseとBSD-3-ClauseとBSD-2-ClauseとBSD-1-Clauseがあります。BSD-4-Clauseが最初に制定され、4→3→2→1と徐々に条項が減っています。

BSD-4-Clause(四条項BSDライセンス)

BSD-4-Clauseは、古い形式のBSDライセンスで、現在ではあまり使用されていません。BSD-4-Clauseには以下の要件が含まれています。

  • ソースコードを再配布する際にライセンス情報を明記する。
  • バイナリ形式での再配布にも同様にライセンス情報を明記する。
  • OSSに対する責任追求を禁止する。
  • 製品の宣伝に使用されるすべての媒体に、開発者やコントリビューターの組織名を含む謝辞を掲載する。
    • →BSD-3-Clauseで削除される
  • 開発者やコントリビューターの名前を宣伝目的で無断で使用することを禁じる。
  • 非営利、商用を問わず、自由に使用、改変、複製、再頒布が可能である。

BSD-3-Clause(三条項BSDライセンス、修正BSDライセンス)

1999年に発表されたBSD-3-Clauseは、BSD-4-Clauseから宣伝条項を除去したもので、現在最も一般的に使用されています。BSD-3-Clauseには以下の要件が含まれています。

  • ソースコードを再配布する際にライセンス情報を明記する。
  • バイナリ形式での再配布にも同様にライセンス情報を明記する。
  • OSSに対する責任追求を禁止する。
  • 開発者やコントリビューターの名前を宣伝目的で無断で使用することを禁じる。
    • →BSD-2-Clauseで削除される。
  • 非営利、商用を問わず、自由に使用、改変、複製、再頒布が可能である。

BSD-2-Clause(二条項BSDライセンス)

BSD-2-Clauseは、BSD-3-Clauseからさらに開発者名の使用制限を除去したものです。MITライセンスと非常に似ています。BSD-2-Clauseには以下の要件が含まれています。

  • ソースコードを再配布する際にライセンス情報を明記する。
  • バイナリ形式での再配布にも同様にライセンス情報を明記する。
    • →BSD-1-Clauseで削除される
  • OSSに対する責任追求を禁止する。
  • 非営利、商用を問わず、自由に使用、改変、複製、再頒布が可能である。

BSD-1-Clause(一条項BSDライセンス)

BSD-1-Clauseは最も単純で、主にソースコードを再頒布する際にライセンスを明記することが要求されます。BSD-1-Clauseには以下の要件が含まれています。

  • ソースコードを再配布する際にライセンス情報を明記する。
  • OSSに対する責任追求を禁止する。
  • 非営利、商用を問わず、自由に使用、改変、複製、再頒布が可能である。

Apache License

Apache LicenseはApache財団によって制定されたライセンスです。HTTPサーバーの「Apache」などもApache財団が開発・提供しているOSSを中心に採用されています。Apache Licenseの主要なバージョンには、Apache License v2.0があります。

Apache License v2.0

Apache License v2.0はMIT Licenseとほぼ同等の規定に特許条項を追加したライセンスです。対象ソフトウェアを利用する場合に限り、対象ソフトウェアに含まれる特許を自由に利用できます。

また、Apache License v2.0の下でソフトウェアを再配布する場合、変更したファイルに変更を加えたことを明示し、元の作品から派生した作品であることを示す必要があります。

AFL

AFLはAcademic Free Licenseの略です。AFLの主要なバージョンには、AFL v3.0があります。

AFL v3.0

AFL v3.0は特許条項があるため、対象ソフトウェアを利用する場合に限り、対象ソフトウェアに含まれる特許を自由に利用できます。GPLライセンスとの互換性はありません。

ISC

ISCはInternet Systems Consortiumによって制定されたライセンスです。ISCは、BSD-2-Clauseライセンスに非常に似ており、ライセンステキストが簡潔です。GPL系ライセンスとの互換性があります。

PSF

PSFはPython Software Foundationによって制定されたライセンスです。PFSは特定のバージョン(1.6a2以前、2.0.1、2.1.1以降)でのみ、GPLライセンスと互換性があります。

非コピーレフト型ライセンス(パブリックドメイン)

自由に使用、改変、複製、再頒布が可能であり、ライセンス明記も不要の非常に緩いライセンスです。他のOSSランセンスと同様に、OSSに対する責任追求は禁止されています。

非コピーレフト型ライセンス(パブリックドメイン)には、以下のようなものがあります。

  • MIT-0
  • 0BSD
  • CC0
  • The Unlicense
  • WTFPL

ではこれから、上記の非コピーレフト型ライセンス(パブリックドメイン)について順番に説明します。

MIT-0

MIT-0はMITライセンスの条件を緩和したライセンスであり、帰属(著作権表示)の要件を除去したバージョンです。そのため、ユーザーは著作権表示なしでソフトウェアを自由に使用、再配布することができます。

0BSD

0BSDはBSDライセンスの極めて簡略化された形態で、著作権表示を含むいかなる要件も持たない非常に単純なライセンスです。このライセンスは、自由度が非常に高いですが、著作権表示の義務がありません。

CC0

作成者が著作権や関連する権利を放棄し、その作品をパブリックドメインに最も近い状態にするためのライセンスです。これにより、作品を誰もが自由に使用、改変、再配布することが可能になります。実際には、CC0によって作品を完全にパブリックドメインにすることは法的にはできませんが、作成者は自身の権利をできる限り放棄し、他人が作品を自由に利用できるようにします。

The Unlicense

The Unlicenseは、著作権を持つ者が自分の作品に関するすべての著作権を放棄し、それを公共の領域(パブリックドメイン)に置くことを目的としたライセンスです。このライセンスを採用することにより、作品は誰でも自由に使用、改変、配布が可能になります。

WTFPL

WTFPLは「Do What The Fuck You Want To Public License」の略であり、文字通り「好きなことを何でもする」ことを許可します。このライセンス下では、著作権の制約が事実上存在しません。

本ライセンスのURL(wiki)

本記事のまとめ

この記事では『OSSライセンス』について、以下の内容を説明しました。

  • OSSライセンスの違い
  • コピーレフト型ライセンス
    • GPL・AGPLの特徴
  • 準コピーレフト型ライセンス
    • LGPL・MPLの特徴
  • 非コピーレフト型ライセンス
    • MIT・BSD・Apache License・AFL・ISC・PSFの特徴
  • 非コピーレフト型ライセンス(パブリックドメイン)
    • MIT-0・0BSD・CC0・The Unlicense・WTFPLの特徴

お読み頂きありがとうございました。