我写信给 GNU 要求澄清,但我相信 Apple 的条款暗示 LGPL 不能使用(因为他们向任何人收取实际费用)进行更新,并且许可证无需付费即可行使权利)
I am pretty sure that there is no way to comply with a standard LGPL with iPhone. Some projects with LGPL have been making a special clause for iPhone.
Here is my reasoning (but I am not an expert or lawyer). The purpose of LGPL is that you can make commercial products that use the open-source library as long as a user can update just the library and your program will use it. That is the reasoning behind most of the clauses and they require dynamic linkage to the library to assure that.
But, Apple doesn't allow dynamic linkage in iPhone apps except to the included libraries -- if you try to use a .dylib, you will be rejected. Furthermore, even if you could use a dylib, there is no way for the end user to update it -- having the source does them no good.
According to what I see, you'd need to make all of the .o files built from your source available -- I still think this might not meet all of the requirements because there is no way for the end-user to get them to the iPhone unless they have a developer license.
If you think .o files are enough, then you must provide all of them, not just the one that uses the library -- they are supposed to have everything they need to replace the library -- so for non-dynamic linkage, they need all of the .o files for the app.
I wrote to GNU for a clarification, but I believe that Apple's terms imply that the LGPL cannot be used (since they charge anyone to actually do the update, and the license requires no charge to exercise rights)
发布评论
评论(1)
我非常确定 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 不能使用(因为他们向任何人收取实际费用)进行更新,并且许可证无需付费即可行使权利)
I am pretty sure that there is no way to comply with a standard LGPL with iPhone. Some projects with LGPL have been making a special clause for iPhone.
Here is my reasoning (but I am not an expert or lawyer). The purpose of LGPL is that you can make commercial products that use the open-source library as long as a user can update just the library and your program will use it. That is the reasoning behind most of the clauses and they require dynamic linkage to the library to assure that.
But, Apple doesn't allow dynamic linkage in iPhone apps except to the included libraries -- if you try to use a .dylib, you will be rejected. Furthermore, even if you could use a dylib, there is no way for the end user to update it -- having the source does them no good.
Some more discussion here:
Which open source licenses are compatible with the Apple's iPhone and its official App Store ?
According to what I see, you'd need to make all of the .o files built from your source available -- I still think this might not meet all of the requirements because there is no way for the end-user to get them to the iPhone unless they have a developer license.
If you think .o files are enough, then you must provide all of them, not just the one that uses the library -- they are supposed to have everything they need to replace the library -- so for non-dynamic linkage, they need all of the .o files for the app.
Update: I put more thoughts about this here
http://www.loufranco.com/blog/files/lgpl-and-the-iphone.html
I wrote to GNU for a clarification, but I believe that Apple's terms imply that the LGPL cannot be used (since they charge anyone to actually do the update, and the license requires no charge to exercise rights)