【问题标题】:If I modify and dynamically link against a modified LGLP Lib, do I have to make the changes available? [closed]如果我修改并动态链接到修改后的 LGLP Lib,我是否必须使更改可用? [关闭]
【发布时间】:2009-12-01 02:20:54
【问题描述】:

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

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

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

【问题讨论】:

  • 我投票结束这个问题,因为它是题外话,因为它是关于许可或法律问题,而不是编程或软件开发。 See here 了解详情,help center 了解更多信息。

标签: licensing linker lgpl


【解决方案1】:

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

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

【讨论】:

  • 虽然如果它是一个有用的修复,理想情况下你会将它提交给库的开发人员,以便他们可以将它合并到每个人都使用的发行版中。
【解决方案2】:

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

来自许可证:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-06-05
    • 1970-01-01
    • 2020-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-17
    相关资源
    最近更新 更多