What files do I need to distribute if requested to comply with LGPL in an iPhone app? [closed]
This question does not appear to be about programming within the scope defined in the help center.
Closed 7 years ago.
Improve this questionI'm working on an iPhone app which uses the Zbar library which is under the LGPL licence. What I'd like to know is what I need to give someone if they request a copy of the code under this licence for my iPhone app?
I've been told they are in the build folder and also that they ar开发者_StackOverflow社区e .o files. I've found some of those in the armv6 and armv7 folders along with a LinkFileList and what looks like a terminal app with my app name. I only use the library directly in one of my source files, one of my UIViewControllers.
Can someone please tell me, do I need to send them all these files or just specific ones? I was also referred to a link command in a log but don't know where this is.
Thank you.
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)
精彩评论