如果要求在iPhone应用程序中遵守LGPL,我需要分发哪些文件?

时间:2010-07-22 22:47:28

标签: iphone cocoa cocoa-touch lgpl

我正在开发一款使用ZPL库的iPhone应用程序,该库是LGPL许可证。我想知道的是,如果他们根据我的iPhone应用程序的许可证申请了代码副本,我需要给予某人吗?

我被告知他们在build文件夹中,并且他们是.o文件。我在armv6和armv7文件夹中找到了一些与一个LinkFileList以及看起来像我的应用程序名称的终端应用程序。我只在我的一个源文件中直接使用该库,这是我的一个UIViewControllers。

有人可以告诉我,我是否需要将所有这些文件或特定文件发送给他们?我也被称为日志中的链接命令,但不知道它在哪里。

谢谢。

1 个答案:

答案 0 :(得分:8)

我很确定没有办法遵守iPhone的标准LGPL。 LGPL的一些项目已经为iPhone制定了特殊条款。

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

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

这里有更多的讨论:

Which open source licenses are compatible with the Apple's iPhone and its official App Store ?

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

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

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

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

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