Advertisement

LGPL for dummy (me)

Started by March 02, 2009 09:32 AM
3 comments, last by OrangyTang 15 years, 11 months ago
I am no lawyer, and every time I read and try to understand the GPL and LGPL license documents, I get a different impression about what the requirements are for using software that falls under one of them. My question here today is related to LGPL. I want to use the JOrbis library in my sound library, and JOrbis is licensed by the LGPL. What I DO understand is that my library should dynamically link to the JOrbis library, not incorperate it into my library's compiled form, and that my library should also allow newer versions of JOrbis to be swapped out at the will of the user. What I am unclear on is what additional requirements I must follow to be legally compliant with LGPL: 1) I want to be able to distribute my library in both compiled form and as source code, but I do NOT what to restrict my library or any software that uses it to the LGPL. Am I allowed to do this, assuming my library is linked dynamically to JOrbis? 2) Are there different requirements for me if I distribute my library in compiled form vs. distributing it as source-code? 3) Are there different requirements for linking to JOrbis through an applet vs. using it in a stand-alone application? 4) Am I allowed/required to distribute the JOrbis library along with my library (bundled seperately), and if so what must I include? 5) What are the requirements of end-user developers who use my library in their projects, and what/how am I required to tell them this information? If anyone is able to explain some of these questions to me in plain everyday English, I would greatly appreciate it. Thanks in advance!
Maybe this first hand reference can help you. This might also be interesting.

[Edited by - Sneftel on March 3, 2009 8:10:15 AM]
Advertisement
The gist of LGPL is that the user should be able to upgrade the lgpl code/library with different version. So if you're using JOrbis v0.9 and a user finds that it doesn't work on their system then they should be able to go and fetch JOrbis v1.0 (which does work) and use your game with this newer version. It doesn't matter how you allow the user to be able to do that, as long as it's possible - usually it's done by dynamically linking, but if you wanted you could statically link and provide the object files (so the user could re-link with a newer version) or just release the source code as well (so the user can rebuild the whole app).

With that in mind:

1. As long as you stick to the above rules, then your app can be released under whatever license you want.

2. No, lgpl has the same basic requirement (ie. being able to upgrade the library), but your method of distribution may change how you let the user do that.

3. Again, see first para. Can the user upgrade the library somehow? If you're releasing an applet then if JOrbis is in a separate jar then you should be ok since the user can download all the jars and run it locally with a newer JOrbis jar.

4. You should be able to distribute the JOrbis jar however you want if you stick to the above rules.

5. End users making derivitive works based on your library must also follow the lgpl as regards to JOrbis (ie. let the user swap it out).

(Disclaimer: I am not a lawyer, etc. etc.)
Is it best not to modify other's lgpl libraries for your own work? That would seem to make it rather non-upgradeable...

-Scott

IIRC, if you modify the source of an LGPL library you have to release the modifications back to the community, which could be as simple as posting up an archive of the source code for your modified version.

This topic is closed to new replies.

Advertisement