4

我正在开发一个使用 LGPL 许可下的 Zbar 库的 iPhone 应用程序。我想知道的是,如果他们根据此许可证为我的 iPhone 应用程序请求代码副本,我需要给他们什么?

我被告知它们在构建文件夹中,而且它们是 .o 文件。我在 armv6 和 armv7 文件夹中找到了其中的一些,还有一个 LinkFileList 以及一个看起来像我的应用名称的终端应用。我只在我的一个源文件(我的 UIViewControllers 之一)中直接使用该库。

有人可以告诉我,我需要向他们发送所有这些文件还是只发送特定文件?我还在日志中提到了一个链接命令,但不知道它在哪里。

谢谢你。

4

1 回答 1

9

我很确定 iPhone 无法遵守标准 LGPL。LGPL 的一些项目一直在为 iPhone 制定特殊条款。

这是我的推理(但我不是专家或律师)。LGPL 的目的是您可以制作使用开源库的商业产品,只要用户可以仅更新该库并且您的程序将使用它。这就是大多数条款背后的原因,它们需要动态链接到库以确保这一点。

但是,Apple 不允许在 iPhone 应用程序中进行动态链接,除了包含的库——如果您尝试使用 .dylib,您将被拒绝。此外,即使您可以使用 dylib,最终用户也无法更新它——拥有源代码对他们没有好处。

这里还有一些讨论:

哪些开源许可证与 Apple 的 iPhone 及其官方 App Store 兼容?

根据我所看到的,您需要使从您的源代码构建的所有 .o 文件可用——我仍然认为这可能无法满足所有要求,因为最终用户无法让它们iPhone,除非他们有开发者许可证。

如果您认为 .o 文件就足够了,那么您必须提供所有这些文件,而不仅仅是使用库的文件——它们应该拥有替换库所需的一切——因此对于非动态链接,它们需要应用程序的所有 .o 文件。

更新:我在这里提出了更多的想法

http://www.loufranco.com/blog/files/lgpl-and-the-iphone.html

我写信给 GNU 进行澄清,但我相信 Apple 的条款暗示不能使用 LGPL(因为他们会向任何人收取实际执行更新的费用,并且许可不需要收取任何费用来行使权利)

于 2010-07-23T00:38:29.427 回答