私はLGPLとCに関する多くの投稿を検索して読みましたが、Javaに関連する投稿を見つけることができたとき、私の心は安らぎがまだありませんでした。ガイドライン、そして私は明らかに最終的に弁護士に相談するでしょう!
セットアップ:
私の意見ではLib-Bアーキテクチャは十分に定式化されておらず、私はMy-Lib自分のアーキテクチャに適用し、someLib-Bの関数。
問題は、そのLib-Bが、アクセスしたい関数をMy-Libのアーキテクチャに適さない方法でラップしているため、変更しましたLib-Bとカプセル化された(複製された)コード行をカプセル化(複製)して、まだ内部にあるいくつかのオブジェクトLib-B内で必要なコード行My-Lib =。
それが私の現在の静的設定です...
=====================
2つ目の方法は、セットアップを動的にすることです。
後でMy-LibをコンパイルしてLib-Aでリンクし、Lib-BにLib -A、そしてLib-Bを動的にMy-Libにロードします。
どちらの場合もLib-Bの変更をLGPLとしてリリースし、エンドユーザーがコードなどにアクセスできるようにする必要があることを理解しています... My-Libについて=?
ありがとう、アダム。
LGPLを使用すると、ソースコードを開かずにMy-libをリリースできます。これがLGPLの目的です。ユーザーが自分のソースを開かずにLGPLライブラリをリンクできるようにするリンク例外を提供します。
LGPLは、ユーザーにLib-Bへの変更のソースコードへのアクセスを提供しますが、アプリケーションの残りの部分をクローズドソースに保つことを妨げることはありません。