0

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

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

如果我修改库,我的理解是我必须使更改后的源文件可用于应用程序,这是正确的吗?

4

2 回答 2

2

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

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

于 2009-12-01T02:32:44.257 回答
1

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

从许可证:

“应用程序”是指任何使用图书馆提供的界面但并非基于图书馆的作品。定义库定义的类的子类被认为是使用库提供的接口的一种模式。

于 2009-12-01T02:49:20.727 回答