DUICUO

一般的なオープンソース ライセンスの紹介。プログラマー必読です。

オープンソース ライセンスによって付与される制限のレベルに基づいて、オープンソース ライセンスは、緩いものから厳しいものまで分類できます。

  1. 最も寛容なライセンスは、BSD、MIT、Apache、ISCライセンスです。これらのライセンスは実質的に制限がなく、ソフトウェアの自由な使用、改変、複製、配布、そして商用・非商用を問わず使用を許可しています。ただし、ソフトウェアのコピーにライセンスと著作権表示が含まれている必要があります。
  2. 次にMPLライセンスとLGPLライセンスがあります。これらのライセンスでは、改変されたコードが同じライセンスの下でリリースされ、元のコードの認可情報と著作権情報が改変されたコードに含まれることが求められますが、プロジェクト全体を同じライセンスの下でリリースする必要はありません。
  3. GPL、AGPL、CPLライセンスは比較的厳格です。これらのライセンスでは、ソフトウェアの一部のみが使用されている場合でも、プロジェクト全体を同じライセンスの下でリリースする必要があります。さらに、これらのライセンスでは、改変されたコードは公開する必要があります。

次に、オープンソース ライセンスの各タイプについて詳しく説明します。

MITライセンス

MITライセンスは、ソフトウェアを商用・非商用を問わず自由に使用できるオープンソースライセンスであり、改変、頒布、そして私的利用も認められています。MITライセンスはBSDスタイルのライセンスであり、元々はMIT X Window System向けに作成されたため、X11ライセンスとも呼ばれています。

MIT ライセンスの主な条件は次のとおりです。

  1. すべてのコピーまたは再利用には著作権表示とライセンス通知を含める必要があります。
  2. 著者は、このソフトウェアの使用に関連するいかなるリスクについても責任を負いません。
  3. このソフトウェアとその派生物は、商用、非商用、および民営化のために自由に使用できます。

MIT ライセンスはオープン性と柔軟性を備えているため、Node.js、Ruby on Rails、jQuery など、多くの重要なオープンソース ソフトウェア プロジェクトのライセンスとなっています。

Apacheライセンス

Apacheライセンスは、Apacheソフトウェア財団によって発行されています。MITライセンスやBSDライセンスと同様に、非常に寛容なライセンスであり、ユーザーは商用目的を含め、ソフトウェアを自由に使用、配布、改変することができます。

Apache ライセンスの主な条件は次のとおりです。

  1. このソフトウェアおよびその派生物は、商用および非商用の目的で自由に使用できます。
  2. 著者は、このソフトウェアの使用に関連するいかなるリスクについても責任を負いません。
  3. すべてのコピーまたは再利用には著作権表示とライセンス通知を含める必要があります。
  4. 派生作品に含まれるコードには、元のライセンス、著作権表示、および著者の声明を含める必要があります。
  5. コードを変更する場合は、何を変更したかを説明する必要があります。

Apacheライセンスは、Apacheソフトウェアを使用する企業や組織に特定の要件を課すという点で、MITライセンスやBSDライセンスとは異なります。例えば、組織がApacheソフトウェアを自社製品の一部として使用する場合、その製品にはオリジナルのApacheライセンスとApacheソフトウェアへの貢献に関する声明を含める必要があります。ただし、これらの要件は個人ユーザーには適用されません。

Apache ライセンスは柔軟性とオープン性を備えているため、Apache Web サーバー、Hadoop、Lucene、Tomcat など、多くの重要なオープン ソース ソフトウェア プロジェクトのライセンスにもなっています。

BSDライセンス

BSDライセンスもまた、カリフォルニア大学バークレー校が発行する、非常に寛容なオープンソースライセンスです。BSDライセンスは、商用目的を含め、ユーザーがソフトウェアを自由に使用、配布、改変できるオープンソースライセンスです。

BSD ライセンスの主な条件は次のとおりです。

  1. このソフトウェアおよびその派生物は、商用および非商用の目的で自由に使用できます。
  2. 著者は、このソフトウェアの使用に関連するいかなるリスクについても責任を負いません。
  3. すべてのコピーまたは再利用には著作権表示とライセンス通知を含める必要があります。
  4. 派生作品に含まれるコードには、元のライセンス、著作権表示、および著者の声明を含める必要があります。
  5. 著者名、ロゴ、その他の識別子は、製品またはサービスの宣伝や広告に使用することはできません。

BSD ライセンスは、そのオープン性と柔軟性により、FreeBSD、NetBSD、OpenBSD などのオペレーティング システムや、その他多くのソフトウェア ツールやライブラリなど、多くの重要なオープン ソース ソフトウェア プロジェクトのライセンスとなっています。

GPLライセンス

GPLライセンスはGNU General Public Licenseの略称です。フリーソフトウェア財団が発行するライセンスであり、フリーソフトウェア運動の中核を成すものです。

GPLライセンスの主な特徴は、コードのオープン性と共有を重視し、ユーザーの自由とソフトウェアに関する知る権利を保証することです。GPLライセンスのソフトウェアは、誰でも自由に使用、複製、配布、改変することができ、派生作品(商用目的であっても)には同じライセンスが適用されなければなりません。つまり、改変されたコードはすべて同じGPLライセンスに準拠する必要があります。

GPL ライセンスの主な条件は次のとおりです。

  1. 誰でもこのソフトウェアを無料で使用、コピー、配布、改変することができます。
  2. 変更されたソフトウェアはすべて同じ GPL ライセンスの下でリリースされなければならず、派生作品でも同じライセンスが保持されなければなりません。
  3. 派生作品には、元のコードの著作権表示と GPL ライセンスを含める必要があります。
  4. このソフトウェアの使用中に、ユーザーに対して追加の制限や料金を課すことはできません。
  5. このソフトウェアに対するあらゆる変更、派生作品、またはこのソフトウェアに基づくその他の作品では、ソース コードを公開する必要があります。

GPLライセンスは、そのオープン性と執行力の高さから、Linuxオペレーティングシステム、GCCコンパイラ、Emacsテキストエディタなど、多くのフリーソフトウェアプロジェクトで好んで採用されています。しかし、その厳格な規約は、商用ソフトウェアベンダーによるオープンソースソフトウェアの利用と改変を制限しており、論争を巻き起こしています。

LGPLライセンス

LGPLライセンスは、GNU Lesser General Public License(GNU劣等一般公衆利用許諾書)の略称です。フリーソフトウェア財団が発行するオープンソースソフトウェアライセンスです。

LGPLライセンスはGPLライセンスに似ており、どちらもオープンソースコードの使用を義務付けています。しかしGPLとは異なり、LGPLでは、プログラム全体がLGPLに準拠する必要はなく、非オープンソースソフトウェアにおけるLGPLライセンスのコードベースの使用やリンクが許可されています。これにより、LGPLを採用したオープンソースソフトウェアの商用利用の機会が広がり、著作権の問題を懸念することなく、商用ソフトウェア内でLGPLライセンスのコードベースを使用したり、オープンソースライブラリにリンクしたりすることが可能になります。

LGPL ライセンスの主な特徴は次のとおりです。

  1. LGPL ライセンスのコードベースに独自のソフトウェアを埋め込むことを許可します。
  2. 商用ソフトウェアは動的リンクを介して LGPL ライセンスのコードベースを使用できます。
  3. LGPL ライセンスのコードベースを変更した後、変更されたコードを公開する必要があります。
  4. LGPL ライセンスの下でコードベースをリリースする場合は、ソースコードも提供する必要があります。
  5. LGPL ライセンスを使用するコード リポジトリでは、元の著作権とライセンス情報を保持する必要があります。

LGPLライセンスは、GStreamerマルチメディアフレームワーク、GTK+グラフィカルユーザーインターフェースツールキット、Qtなどの重要なソフトウェアライブラリの開発に広く使用されています。LGPLライセンスはオープンで商用利用も認められているため、営利企業や組織がオープンソースソフトウェアプロジェクトに参加し、貢献するにはGPLライセンスよりも適しています。

AGPLライセンス

AGPLライセンスは、GNU Affero General Public License(GNUアフェロ一般公衆利用許諾書)の略称です。フリーソフトウェア財団が発行するオープンソースソフトウェアライセンスです。

AGPLライセンスは、GPLライセンスに基づく派生ライセンスです。GPLライセンスと同様に、ソースコードの使用、改変、配布に際しては、ソースコードとその改変部分を公開する必要があります。ただし、GPLライセンスとは異なり、AGPLライセンスでは、ソフトウェアがコンピュータネットワークを介してやり取りまたは転送される際にも、ソースコードを公開する必要があります。

AGPL ライセンスの主な特徴は次のとおりです。

  1. AGPL ライセンスのコードベース内に独自のソフトウェアを埋め込むことを許可します。
  2. 商用ソフトウェアは、動的リンクを介して AGPL ライセンスのコードベースを使用できます。
  3. AGPL ライセンスのコードベースを変更した後、変更されたコードを公開する必要があります。
  4. AGPL ライセンスの下でコードベースをリリースする場合は、ソース コードを提供する必要があります。
  5. ソフトウェアがコンピュータ ネットワークを介してやり取りまたは送信される場合、ソース コードとすべての変更は公開される必要があります。
  6. AGPL ライセンスを使用するコード リポジトリでは、元の著作権とライセンス情報を保持する必要があります。

AGPLライセンスは、主にウェブアプリケーションとクラウドベースのソフトウェアサービスに適用されます。クラウドコンピューティングは本質的にコンピュータネットワークを介したソフトウェアのやり取りと伝送を伴うため、AGPLライセンスはより厳しい要件を定めており、営利企業や組織がソースコードを開示せずにクラウドコンピューティング経由でオープンソースソフトウェアを使用することを禁止しています。AGPLライセンスは、コンピュータネットワークを介したソフトウェアの伝送とやり取りを必要とするシナリオに合わせてGPLライセンスの要件を拡張しているため、「サーバーサイドGPL」とも呼ばれています。

MPLライセンス

MPLはMozilla Public Licenseの略称です。Mozilla Foundationが発行するオープンソースソフトウェアライセンスです。

MPLライセンスは、開発者がオープンソースライセンスの下でソフトウェアを配布すると同時に、プロプライエタリソフトウェアとして販売することを可能にするソフトウェアライセンスです。MPLライセンスは主にGPLライセンスに基づいていますが、GPLとは異なり、商用ソフトウェアに必要な要件も含まれています。例えば、オリジナルの著作権情報とライセンス情報の保持や商標の使用禁止などです。

MPL ライセンスの主な機能は次のとおりです。

  1. 商用ソフトウェアの販売と使用を許可する。
  2. MPL ライセンスに基づいてソフトウェアを配布する場合は、ソース コードを提供する必要があります。
  3. MPL ライセンスを使用するソフトウェアを他のソフトウェアとリンクおよび統合できるようにします。
  4. 派生コードとファイルの要件は比較的柔軟であり、必要に応じて変更できます。
  5. MPL ライセンスに基づいてライセンスされたソフトウェアで商標を使用するには、許可が必要です。

MPLライセンスは、Mozilla Firefoxのようにオープンソースのステータスを維持しながら商用ソフトウェアの販売と利用を必要とするプロジェクトに適しています。GPLライセンスとは異なり、MPLライセンスでは開発者がソフトウェアをGPLライセンスの下でリリースする必要がないため、より柔軟で幅広い状況に適用できます。

CDDLライセンス

CDDLライセンスは、Common Development and Distribution License(共通開発・配布ライセンス)の略称です。サン・マイクロシステムズ(現Oracle Corporation)がリリースしたオープンソースソフトウェアライセンスであり、主にJavaプラットフォームの開発と配布に使用されます。

CDDLライセンスは、ユーザーがソフトウェアを自由に使用、複製、配布できる一方で、ソフトウェアの派生作品には厳格な要件を課す複雑なライセンスです。CDDLライセンスでは、ソースコードまたはバイナリを使用または配布するすべてのプロジェクトにCDDLライセンスの使用とソースコードの公開が義務付けられています。

CDDL ライセンスの主な機能は次のとおりです。

  1. 商用ソフトウェアの販売と使用を許可する。
  2. CDDL ライセンスでソフトウェアを配布する場合は、ソース コードを提供する必要があります。
  3. CDDL ライセンスを使用するソフトウェアを他のソフトウェアとリンクおよび統合できるようにします。
  4. 派生コードとファイルに対する要件は比較的厳しく、同じ CDDL ライセンスを使用する必要があります。
  5. MPL ライセンスと同様に、CDDL ライセンスでは商標を使用するための許可が必要です。

CDDLライセンスは、オープンソースを維持しながら商用ソフトウェアの販売と使用の許可を必要とするプロジェクト、特にJavaプラットフォームソフトウェアの開発と配布に適しています。CDDLライセンスとMPLライセンスには多くの類似点がありますが、CDDLライセンスは派生作品に対する要件がより厳しいため、すべてのオープンソースプロジェクトに適しているとは限りません。

EPLライセンス

EPLはEclipse Public Licenseの略です。これは、Eclipseプラットフォームの開発と配布に主に使用されるオープンソースソフトウェアライセンスです。

EPLライセンスは非常に柔軟なライセンスであり、ユーザーはソフトウェアを自由に使用、複製、配布できるだけでなく、商用目的で使用したり、クローズドソース形式で配布したりすることもできます。EPLライセンスでは、ソースコードまたはバイナリを使用または配布するすべてのプロジェクトにEPLライセンスの使用が義務付けられており、ソースコードは公開する必要があります。

EPL ライセンスの主な機能は次のとおりです。

  1. 商用ソフトウェアの販売と使用を許可する。
  2. EPL ライセンスに基づいてソフトウェアを配布する場合は、ソース コードを提供する必要があります。
  3. EPL ライセンスに基づいてライセンスされたソフトウェアを他のソフトウェアとリンクおよび統合できるようにします。
  4. クローズドソース方式でのソフトウェアの使用および配布を許可します。
  5. 商標の使用には許可が必要です。

EPLライセンスは、オープンソースを維持しながら商用ソフトウェアの販売と使用の許可を必要とするプロジェクト、特にEclipseプラットフォームの開発と配布に適しています。EPLライセンスは非常に柔軟で適用範囲が広く、オープンソースソフトウェアプロジェクトと商用ソフトウェアプロジェクトの両方で広く使用されています。

ISCライセンス

ISCライセンスは、BSDライセンスに似たオープンソースソフトウェアライセンスです。正式名称はInternet Systems Consortium Licenseです。元々はInternet Systems Consortium (ISC)によって作成され、ISCが開発するソフトウェアおよびツールの標準ライセンスとなっています。

ISC ライセンスは非常にシンプルでわかりやすいライセンスであり、主に次の側面が含まれます。

  1. ソースコードとバイナリファイルのコピー、使用、配布を許可します。
  2. ソースコードまたはバイナリファイルは、商用または非商用の目的で使用できます。
  3. ソース コードおよび派生製品のすべてのコピーには、元のライセンスと著作権表示を含める必要があります。
  4. 明示的か黙示的かを問わず、いかなる保証も保証も提供されません。

BSDライセンスと同様に、ISCライセンスは柔軟性とシンプルさを特徴としています。ユーザーや派生製品に制限を設けないため、オープンソースソフトウェアで広く利用されています。ISCライセンスの主な利点は、商用プロジェクトと非商用プロジェクトの両方で使用可能であり、派生製品に対する制限が最小限であるため、柔軟性が求められるプロジェクトに最適です。

芸術的自由

Artistic Licenseは、Perlプログラミング言語の開発者であるラリー・ウォールによって、Perl言語とその関連モジュールおよびツールを保護するために作成されました。数々の修正と改良を経て、オープンソースソフトウェアコミュニティで非常に一般的なライセンスとなりました。

Artistic ライセンスの主な機能は次のとおりです。

  1. ソフトウェアの自由なコピー、使用、配布を許可する。
  2. ソフトウェアの修正および派生、ならびに派生製品における元のソフトウェアのコードの使用を許可します。
  3. ソフトウェアのすべてのコピーおよび派生物には著作権およびライセンスの通知を含める必要があります。
  4. このソフトウェアは、商用目的と非商用目的の両方で使用できます。
  5. 明示的か黙示的かを問わず、いかなる保証も保証も提供されません。

GPLやLGPLなどのライセンスとは異なり、Artistic Licenseは派生作品がオープンソースであることを要求しないため、より寛容なライセンスと考えられています。このライセンスは当初、Perlやその他のPerlモジュールおよびツールの開発と配布に広く使用され、後に他のオープンソースソフトウェアプロジェクトにも使用されるようになりました。現在、Artistic LicenseはArtistic License 1.0とArtistic License 2.0の2つのバージョンに進化しており、後者はより現代的で柔軟性に優れています。

CPLライセンス

CPL(Common Public License)は、IBMがMPL 1.1に基づいて作成したオープンソースソフトウェアライセンスです。2001年に最初にリリースされたCPLライセンスは、現在では時代遅れとみなされており、無視することができます。