次の方法で共有


アプリ、libcurl、サード パーティ ライブラリの混合ライセンス

libcurl は、一定量の各種サード パーティ ライブラリ (独自のライセンスを使用して配布される他の当事者により記述および提供されるライブラリ) を使用する目的で構築できます。 libcurl 自体にも、問題を引き起こす可能性があるコードがある程度含まれています。 本書では、libcurl と他のライブラリが使用するライセンスと、それらすべてをリンクおよび混合する際にエンド ユーザーに生じる可能性があるジレンマについて説明します。

私は弁護士ではないため、これは法的アドバイスではありません。

1 つの一般的なジレンマは、GPL[1] ライセンスが付与されたコードを、元の BSD ライセンス (告知条項付き) の下でライセンスが付与されたコードとリンクすることはできないという点です。 それでも、すべての使用する独自のコピーをビルドすることはできますが、バイナリとしての配布はライセンスに例外 [2] を添付しない限り GPL ライセンスに違反します。 この特定の問題は、GPL と矛盾する告知条項がない変更された BSD ライセンスが作成されたときに解決されました。

libcurl

可能な限りの寛容さを備えた MIT (または変更された BSD) スタイルのライセンスを使用します。

OpenSSL

(SSL/TLS サポートのために使用可能) GPL との "非互換性" を生じさせる告知条項を含む元の BSD スタイル ライセンスを使用します。 GPL コードを含む OpenSSL でリンクされたバイナリを出荷することはできません (特定の GPL コードに OpenSSL の例外が含まれている場合を除く - より一般的になっている習慣)。 OpenSSL のライセンスが問題となる場合、別の TLS ライブラリの使用を検討してください。

GnuTLS

(SSL/TLS のサポート用に使用可能) LGPL[3] ライセンスを使用します。 これが問題となる場合、別の TLS ライブラリの使用を検討してください。 さらに、GnuTLS 自体が他のライブラリ (libgcrypt および libgpg-error) に依存して、それらを使用しており、LGPL まはた GPL ライセンスも付与されている点に注意してください。

WolfSSL

(SSL/TLS のサポート用に使用可能) GPL[1] ライセンスまたは所有権ライセンスを使用します。 これが問題となる場合、別の TLS ライブラリの使用を検討してください。

NSS

(SSL/TLS のサポートに使用可能) MPL[4] ライセンス、GPL[1] ライセンス、LGPL[3] ライセンスの対象となります。 MPL 条項、GPL 条項、または LGPL 条項の下でコードにライセンスを付与することを選択できます。 これらのライセンスは、さまざまな許可を付与し、さまざまな義務を課します。 ニーズに最も合ったライセンスを選択してください。

axTLS

(SSL/TLS のサポートに使用可能) 変更された BSD スタイルのライセンスを使用します。

mbedTLS

(SSL/TLS のサポート用に使用可能) GPL[1] ライセンスまたは所有権ライセンスを使用します。 これが問題となる場合、別の TLS ライブラリの使用を検討してください。

BoringSSL

(SSL/TLS のサポートに使用可能) OpenSSL フォークとして、それと同じライセンスを持っています。

libressl

(SSL/TLS のサポートに使用可能) OpenSSL フォークとして、それと同じライセンスを持っています。

zlib

(圧縮された転送エンコードのサポートに使用) 他のライブラリと競合すべきでない MIT スタイル ライセンスを使用します。

MIT Kerberos

(GSS サポート用に使用可能) 他の部分と競合すべきでない MIT ライセンスが付与されます。

Heimdal

(GSS のサポート用に使用可能) Heimdal は、告知条項と共にライセンスが付与される元の BSD です。

GNU GSS

(GSS のサポート用に使用可能) GNU GSS には GPL ライセンスが付与されます。 curl をビルドして元の BSD ライセンス ライブラリすべてもリンクおよび使用する場合にこれを使用するバイナリ curl パッケージを配布できない点に注意してください。

libidn

(IDNA サポート用に使用) GNU Lesser General Public [3] を使用します。 LGPL は、やや積極性の低い "コピーレフト" を持つ GPL のバリエーションです。 このライセンスでは、バイナリの配布時に複数の要件を満たす必要があります。詳しくは、ライセンスをご覧ください。 このライブラリが含まれているバイナリを配布する場合、フル LGPL ライセンス テキストも含める必要がある点にも注意してください。 配布パッケージのどの部分をライセンスの対象とするかを適切に示してください。

OpenLDAP

(LDAP のサポートに使用) 変更された BSD スタイルのライセンスを使用します。 libcurl は OpenLDAP を共有ライブラリのみとして使うため、アプリ内で libcurl にリンクされた OpenLDAP が出荷された事例はありません。

libssh2

(scp および sftp のサポートに使用) libssh2 は変更された BSD スタイル ライセンスを使用します。

[1] = GPL - GNU General Public License: https://www.gnu.org/licenses/gpl.html
[2] = https://www.gnu.org/licenses/gpl-faq.html#GPLIncompatibleLibs では、GPL への例外の書き込みについて詳細に説明されています。
[3] = LGPL - GNU Lesser General Public License: https://www.gnu.org/licenses/lgpl.html
[4] = MPL - Mozilla Public License: https://www.mozilla.org/MPL/