如果我修改并动态链接修改后的LGLP Lib,我是否必须进行更改?

时间:2009-12-01 02:20:55

标签: licensing linker lgpl

我在LGPL Lib中发现了一个我目前正在动态链接的错误。

  • 该应用程序是关闭源的
  • 我动态链接到LGPL Lib
  • 该应用程序将向公众开放

如果我修改了lib,我的理解是我必须使用应用程序提供更改的源文件,这是正确的吗?

2 个答案:

答案 0 :(得分:2)

您正在重新分发LGPL库的修改代码,因此您需要发布该库的源代码(您的错误修复)。这并不意味着您需要为整个应用程序发布源代码,只需要发布LGPL的库。

另请注意,GPL / LGPL仅要求您将源代码提供给您提供二进制文件的人。它不需要你,例如将源代码放在网络上供世界上任何人下载。一个可靠的遵守方法是将源代码打包到您的发行版中,以便人们将其与二进制文件一起使用,然后没有人会抱怨源代码不可用。

答案 1 :(得分:1)

另一个解决方案(尽管可能并不总是可行)是从LGPL的库中派生自己的子类并在那里进行必要的修复。当然,更好的方法是将修复程序提交给库的维护者,但如果您需要尽快发布代码,可能需要考虑这一点。通过推导出来,你并没有违反LGPL。

来自许可证:

  

“应用程序”是指使用库提供的界面但不以库为基础的任何工作。定义库定义的类的子类被视为使用库提供的接口的模式。