我在LGPL Lib中发现了一个我目前正在动态链接的错误。
如果我修改了lib,我的理解是我必须使用应用程序提供更改的源文件,这是正确的吗?
答案 0 :(得分:2)
您正在重新分发LGPL库的修改代码,因此您需要发布该库的源代码(您的错误修复)。这并不意味着您需要为整个应用程序发布源代码,只需要发布LGPL的库。
另请注意,GPL / LGPL仅要求您将源代码提供给您提供二进制文件的人。它不需要你,例如将源代码放在网络上供世界上任何人下载。一个可靠的遵守方法是将源代码打包到您的发行版中,以便人们将其与二进制文件一起使用,然后没有人会抱怨源代码不可用。
答案 1 :(得分:1)
另一个解决方案(尽管可能并不总是可行)是从LGPL的库中派生自己的子类并在那里进行必要的修复。当然,更好的方法是将修复程序提交给库的维护者,但如果您需要尽快发布代码,可能需要考虑这一点。通过推导出来,你并没有违反LGPL。
来自许可证:
“应用程序”是指使用库提供的界面但不以库为基础的任何工作。定义库定义的类的子类被视为使用库提供的接口的模式。