2009-08-11 3 views
4

MySQL ++はLGPLにライセンスされているため、ソースコードがGPLではないことを心配することなく、動的にリンクされた実行可能ファイルをリリースすることができます。 しかし、MySQL ++はGPLされたlibmysqlclient {_r}。{a、}}(http://tangentsoft.net/mysql++/#linkerrors)とリンクしています。
MySQL ++は技術的に単なるラッパーです(非常にうまく実装されたラッパーで、間違ってはいけません)、GPLed libmysqlclient {_r}に向かっています。 libmysqlclient {_r}とのリンク。{a、so}?MySQL ++、GPL、LGPLについて

これが当てはまる場合、LGPLされているMySQL ++の目的は、libmysqlclient {_r}に対してリンクされていなければなりません。どこが間違っていますか?

+4

**私は、プログラミングやソフトウェア開発ではなく、ライセンスや法律上の問題**のために、このトピックをオフトピックとして閉じることにしました。詳細については[こちらをご覧ください](http://meta.stackoverflow.com/a/274964/1402846)、[help/on-topic]を参照してください。 –

答えて

4

ご使用のプログラムがMySQLディストリビューションのEXCEPTIONS-CLIENTファイルに記載されているライセンスのいずれかでライセンスされている場合、プログラムはMySQLクライアントライブラリを使用するためにGPL互換である必要はありません。

しかし、一般的には、GPLライブラリにリンクしたい場合、プログラムはGPL互換でなければなりません。

+0

アップデート:残念ながら、オラクルはMySQLの新しいバージョンからこのクライアントライブラリ例外を削除しました。 – snap

0

私はあなた自身がGPLライブラリBとリンクするLGPLライブラリAとのリンクがGPLライブラリとのリンクと同じであることを確信しているので、あなたのプログラムはGPLの下にある必要があります。

私はlibmysql ++がLGPLであることは無意味ですが、それはMySQLクライアントライブラリの旧バージョンをLGPLとして使用しているためだと思います。あなたが気づいたように、彼らはすべて完全なGPLです。

+0

MySQLクライアントの "特別な例外"のため、libmysql ++のLGPLライセンスは、それを使用するプログラムが許可されたライセンスのリスト(すべてのGPL互換ではない)内にある限り、必ずしも無意味ではありません。 –

+0

MySQLクライアントCライブラリの「特別な例外」とは何ですか?すべてのリンク? 乾杯、 –

3

弁護士に相談する必要があるかもしれません。私は1つではありません。

  1. LGPLでMySQL ++を使用するのは、結果として得られる作業がMySQLのGPLライセンス(GPL +の例外)に適用される場合のみです。したがって、あなたのプログラムはGPL、または例外的なライセンスの1つである必要があります。それ以外のものは、GPLの違反となる可能性があります。
  2. 作品の配布時にGPLとLGPLが適用されます。私は合法的にnVidiaバイナリドライバを私のコンピュータのGPLカーネルにインストールすることができます。アプリケーションがMySQLの派生的なものでない場合、MySQLの著作権に該当しません。アプリの配布がMySQLの著作権に違反していない場合、MySQLのライセンス条項を心配する必要はありません。弁護士は、派生した仕事の境界がどこにあるのかを教えてくれます。 FSFは、リンクすると派生した作業を作成すると主張しています。
  3. あなたのプログラムがMySQLに対してリンクしていても、MySQL ++に対してしかリンクしていない場合、あなたのアプリケーションはMySQLの派生的な仕事ではないかもしれません。これは、2つのコンポーネントの間に十分な厚さのレイヤーがある場合は常に一般的に当てはまります。 JVMで動作するJavaアプリケーションはJVMにリンクしますが、カーネルにはリンクしません。これはカーネルの派生的な仕事とはみなされませんでした(大部分のカーネルはプログラムが派生するとは考えていませんが、概念は同じです)。

(L)GPLのパワーは著作権に由来することに注意してください。 AがBの派生作品である場合は、Bの著作権者の許可を得て配布する必要があります。 Aがそうでない場合は、Aを配布する許可は必要ありません。AがBに由来し、BがCに由来する場合、AはCから派生する場合もあればそうでない場合もあります。すべての著作権者から著作物働く(L)GPLは、どのような条件の下で許可が自動的に付与されるかを指定します。

+0

私は動的リンキングという言葉を使っていますので、配布しなければGPLに対してソフトウェアをリリースすることなく、非GPLソフトウェアをLGPLライブラリにリンクすることができます。 ポイントは別です:LGPLコンポーネントが(動的に、またはこの場合は静的に同じ)GPLコンポーネントにリンクしているように見えますが、これは(LGPLではない)無意味ではありませんか? –

1

Oracle(neé MySQL、AB)は、幸いにsellあなたにはC APIライブラリのGPL免除が適用されます。その後、あなたのプログラムと共にMySQL ++ DLLを配布することができ、LGPLにのみ従います。

関連する問題