Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Is that just their changes to the LGPL components or the whole app? My understanding is that if you dynamically link to an LGPL library you're only required to distribute changes to that library not the whole app.

Also I don't get these two license clauses. If the point is to conform to the LGPL they can't just add another license on top.

Could this be a clumsy excuse for opensourcing Sparrow without having Goolge complain?

Also didn't the Apple Store license explicitly prohibit GPL code? Does that include the LGPL as well I can't recall off-hand?

Edit: As pointed out in the responses this is really just a bunch of .a files (static libraries), a couple of diffs against the libraries code and a script for linking sparrow together. The page provides little details and I though it was a source release This is apparently a way to conform with the LGPL on a system where dynamic linking is impractical.



For iOS, at least, this is a requirement to conform with the license.

Since you cannot dynamically link with libraries on iOS, sparrow is using static linking. The letter of the lgpl requires that you provide the application in a way that it can be relinked - either using dynamic libraries (4.1) or providing the object files to relink (4.0) [1].

Taking a look at the OSX app, it looks like they link with only static libraries there, too, which puts it in the same boat.

[1] http://www.gnu.org/copyleft/lesser.html


A lot of people think LGPL means "library", but that's wrong.

If you use an LGPL component, the end user must be able to replace the LGPL component. With a dynamically linked library, no problem. In sparrow's case, they apparently used used static linking. Since end users still have the right to replace that LGPL component, sparrow needs to supply their intermediate (.o) files so end users can re-link with a modified LGPL component.


"the end user must be able to replace the LGPL component" seems to be too one-sided IMO.

The user must be able to get the source, modify it, and make his modified version work with any (proprietary) application that chose to use the LGPLed code as a component. For that to be possible the proprietary application's authors must distribute their software with clear documentation stating which LGPLed components were used and provide source code and build scripts to rebuild these parts and relink them with the rest of their application. They also have to give you all the rights under the LGPL to further distribute and use any of their modifications to the LGPLed code for any purpose (not limited to use with their application).


You mentioned that the LGPL library may be further distributed. Can others further distribute the object files and the build scripts also though?


Generally? Not without permission. They are allowed to place further restrictions on the non-LGPL pieces, as long as they allow the two things they have allowed.

LGPL 2.1 is a weird license. The section that allows for object code release does not require object code release under any particular license, it only requires that the LGPL portion stay LGPL.


Apple doesn't prohibit GPL. It's the other way around, GPL prohibits certain aspects of the App Store distribution model (I forget precisely what). In any case, this is LGPL, not GPL.


Thanks for clearing that up. Indeed the GPL forbids further restrictions on the rights it provides. Which makes it incompatible with app store distribution.

I though I saw something in the App Store rules as well. I double checked and they mention the GPL and basically say that you should respect FLOSS licenses such as the GPL and avoid those licenses that would have an effect on Apple's code.


Thats a pedantic difference. The GPL (version 2) was written in 1992(ish), well before the "App Store distribution model". The GPL was not written with the "app store distribution" model in mind. However it was written specifically to prevent certain closed source programmes.


This isn't "opensourcing Sparrow" as only binaries are in this download.


But I guess it's complying with the license (LGPL) just fine. I was also surprised by this use of it.


Thanks AntiRush, KSherlock. I now understand more about LGPL than before. In my mind it was that only dynamical linking was allowed, and did not thought clearly about the static linking opportunity.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: