LGPLのリバースエンジニアリングについて質問したい事が有ります。
1.LGPLのライブラリ、Aがある
2.Aを動的リンクを用いて利用したライブラリ、Bがある。
このBはMITライセンスやBSDライセンスなど、別のオープンソース
の規約である。
3.Bのライブラリを利用したプログラム、Cがある。
この場合、Cはリバースエンジニアリングを禁止に出来るのでしょうか?
それともLGPLの規約に則り、リバースエンジニアリングを禁止できないのでしょうか?
あるいはBを経由してAのライブラリを使用した場合に限り、リバースエンジニアリングを
禁止できないのでしょうか?
C言語というより、プログラム全般の話ですが、よろしくお願いします。
LGPLのリバースエンジニアリングに関して
- tk-xleader
- 記事: 158
- 登録日時: 14年前
- 連絡を取る:
Re: LGPLのリバースエンジニアリングに関して
LGPLv3の場合、第0節に規定する「"Combined Work"(結合された作品)」にはLGPLの効力が及ぶことになります。そして、"Combined Work"とは、「a work produced by combining or linking an Application with the Library.」と定義されているので、LGPLによって許諾されたライブラリにリンクするプログラムは全てそのライブラリとの関係で"Combined Work"となります。
ここで問題になるのは、ライブラリAの派生物の派生物であるアプリケーションCがここでいう"Combined Work"にあたるのかということですね。確かにアプリケーションCはライブラリAには直接にはリンクしませんが、AにリンクするライブラリBにリンクしています。この場合、アプリケーションCはライブラリAとの関係では、ライブラリBを介してライブラリAを利用するという関係が成立しています。したがって、アプリケーションCはライブラリAにリンクするプログラムと考えるべきだということになります。
したがって、アプリケーションCをLGPLv3の条項に違反して、すなわちリバースエンジニアリングの禁止事項を含めて配布することは許されないということになります。
ここで問題になるのは、ライブラリAの派生物の派生物であるアプリケーションCがここでいう"Combined Work"にあたるのかということですね。確かにアプリケーションCはライブラリAには直接にはリンクしませんが、AにリンクするライブラリBにリンクしています。この場合、アプリケーションCはライブラリAとの関係では、ライブラリBを介してライブラリAを利用するという関係が成立しています。したがって、アプリケーションCはライブラリAにリンクするプログラムと考えるべきだということになります。
したがって、アプリケーションCをLGPLv3の条項に違反して、すなわちリバースエンジニアリングの禁止事項を含めて配布することは許されないということになります。