DUICUO

オープンソースライセンスとは何ですか?どんな種類がありますか?どうやって選べばいいですか?

オープンソースソフトウェアは「自由」を追求する一方で、プログラマーの利益を犠牲にすることはできません。さもなければ、彼らの創造的な情熱が損なわれてしまうからです。そのため、オープンソースワーカーの権利を保護するために、オープンソース・イニシアチブによって承認されたオープンソースライセンス契約は現在60件以上あります。

[[317619]]

オープンソース ライセンスは、オープンソース ソフトウェアを使用する際の権利と責任を定義します。つまり、何ができて何ができないかを定義します。

オープンソース ライセンスは必ずしも法的効力を持つわけではありませんが、ソフトウェア著作権紛争において非常に重要な証拠となります。

オープンソース ソフトウェアの作成を準備している開発者は、まず最も人気のあるオープンソース ライセンスを理解し、ソフトウェア権利の保護を最大限にするために適切なライセンスを選択することを強くお勧めします。

1. GNU GPL(GNU一般公衆利用許諾書)

ソフトウェアにGPLライセンスに準拠する製品またはコードが含まれている場合、そのソフトウェアもGPLライセンスに準拠する必要があります。つまり、オープンソースかつ無料である必要があり、クローズドソースかつ有料であってはなりません。したがって、このライセンスは商用ソフトウェアには適していません。

GPL ライセンスに準拠するオープンソース ソフトウェア プログラムの数は膨大で、Linux システムなどのほとんどのオープンソース ソフトウェアが含まれます。

GPLオープンソースライセンスの主な特徴は次のとおりです。複製の自由:ソフトウェアを誰のコンピュータにも、複製数に制限なく複製できます。配布の自由:ソフトウェアを様々な形式で配布できます。有償配布:ソフトウェアを様々な媒体で販売できますが、購入者にはソフトウェアが無料で提供されることを事前に通知する必要があります。そのため、オープンソースソフトウェアは一般的に、ユーザーに有料サービスを提供することで利益を得ています。変更の自由:開発者はソフトウェアの機能を追加または削除できますが、変更にはGPLライセンスの適用が必要です。

2. BSD(バークレーソフトウェア配布)ライセンス

BSDライセンスは、基本的にユーザーに「何でも好きなように」することを許可しています。ユーザーは、以下の3つの条件を満たす限り、ライセンスに準拠したソフトウェアを使用、改変、再配布し、商用ソフトウェアとしてリリースおよび販売することができます。

  • 再リリースされたソフトウェアにソース コードが含まれている場合、ソース コードは引き続き BSD ライセンスに基づいてライセンスされる必要があります。
  • 再リリースされたソフトウェアにバイナリ プログラムのみが含まれている場合は、関連するドキュメントまたは著作権ファイルで、元のコードが BSD ライセンスに準拠していることを宣言する必要があります。
  • オリジナルソフトウェアの名前、作者名、または組織名をマーケティング目的で使用することは許可されていません。

BSD はビジネスフレンドリーであり、多くの企業はオープンソース製品を選択する際に BSD ライセンスを好みます。これは、サードパーティのコードに対する完全な制御が可能であり、必要に応じて変更したり、さらに開発したりできるためです。

3. Apacheライセンスバージョン契約

BSDと同様に、Apacheは商用ソフトウェアに適しています。Apacheライセンスは、開発者に著作権と特許ライセンスを提供すると同時に、ユーザーにコードの改変と再配布の自由を認めています。

Hadoop、Apache HTTP Server、MongoDBなどの人気プロジェクトはすべて、このライセンス契約に基づいて開発されています。この契約に準拠したソフトウェアを開発する場合、開発者は以下の4つの条件を厳守する必要があります。

  • ソフトウェアおよびその派生物は、引き続き Apache ライセンスに基づいてライセンスされる必要があります。
  • プログラムのソース コードを変更する場合は、ドキュメントでそれを宣言する必要があります。
  • ソフトウェアが他者のソース コードに基づいている場合は、元のコードのライセンス、商標、特許宣言、およびその他の元の作成者の声明を保持する必要があります。
  • 再リリースされたソフトウェアに宣言ファイルが含まれている場合、Apache ライセンスおよびその他のライセンス契約をそのファイルに含める必要があります。

4. MIT(マサチューセッツ工科大学)協定

これは現在利用可能なオープンソースライセンスの中で最も制限の少ないライセンスの一つであり(BSDやApacheよりも制限が少ない)、開発者は改変したソースコードに元の作者のライセンス情報を保持することのみを要求します。そのため、商用ソフトウェアで広く使用されています。

MIT ライセンスに基づいてライセンスされるソフトウェアには、PuTTY、X Window System、Ruby on Rails、Lua 5.0 以降、Mono などがあります。

5. GNU LGPL(GNU劣等一般公衆利用許諾書)

LGPLはGPLの派生ライセンスであり、GPL V2とも呼ばれます。このライセンスは、主にライブラリ向けのオープンソースライセンスとして設計されています。

LGPLは、商用ソフトウェアがLGPLライブラリをリンクを通じて利用することを許可しており、商用ソフトウェアのコードをオープンソース化する必要はありません。これにより、商用ソフトウェアはLGPLライセンスの下でオープンソースコードをライブラリとして利用、配布、販売することが可能になります。

ただし、LGPLライセンスのコードまたはその派生物を改変する場合、改変されたコード、改変に関連する追加コード、および派生コードもすべてLGPLライセンスの下でライセンスされる必要があります。したがって、LGPLライセンスのオープンソースコードは、商用ソフトウェアのサードパーティライブラリとして使用するには適していますが、LGPLライセンスのコードを改変や派生によるさらなる開発の基盤として使用することを目的とする商用ソフトウェアには適していません。

オープンソースライセンスの選び方

世界には数百ものオープンソースライセンスが存在し(興味のある方は、こちらをクリックして詳細をご覧ください)、それらの違いを完全に理解している人はほとんどいません。GPL、BSD、MIT、Mozilla、Apache、LGPLという6つの最も人気のあるオープンソースライセンスの中からどれを選ぶかさえ、複雑です。

ウクライナのプログラマー、ポール・バグウェル氏は、オープンソース ライセンスの選択方法を示す非常に明確かつ簡潔な分析図を作成しました。