views:

702

answers:

6

If I have a open source software library covered by LGPL, can I use it in a closed source commercial application?

+4  A: 

IANAL (and you really should ask your own lawyer); but yes, you can do that, provided you ship (or offer) the source of the library to all customers, and provide them with an option to update the library code with new one (either by replacing a DLL, or by relinking your application).

Martin v. Löwis
+8  A: 

That depends on how you use it. The LGP is specifically designed to allow linking against a library covered by it. Such linking doesn't force you to license your software under the LGPL, too. That's where the LGPL differs from the GPL.

If you plan to extract code from the library, you must licenses the whole derived work under the LGPL.

+3  A: 

Yes, you can, provided you follow the LGPL. Basically, you must only distribute changes you make to the LGPL-covered library, but not the source to your own application. You must also make it possible for people to use your app with a different version of the LGPL library than the one you provide.

The Wikipedia article sums it up quite nicely:

http://en.wikipedia.org/wiki/LGPL

sleske
+7  A: 

Yes. But if you have to make your changes public (under the GPL or LGPL) if you modify the LGPL'd library in any way.

http://en.wikipedia.org/wiki/LGPL

Lennart
You don't have to make the changes public if you make the changes only for internal use. Only if you distribute the changed library you must license your changes under the LGPL, too, and make them available.
Thank you for that addition, lutz!
Lennart
A: 

This is an interesting discussion and I woulda re-open it...

I just wanna ask: if I develop a closed source project and use, for example, the printf() function... I did notice the "headers" are under LGPL, so (even if I dynamically link to the "library") I always embed some "references" (hex pointers) protected by LGPL into my closed binary.

So one day printf() changes the argument list (ok, bad example, it could also be a gtk function...) I suppose I shall provide a way to update the LGPL library (and I suppose the headers too), so I'll be costrict to provide my sources upon request, do I'm wrong?

Evan
Maybe put this as a comment or new question, not an answer?
Adam Goode
+1  A: 

But, in LGPL during static linking, we need to be careful. You can refer to the below link regarding the LGPL and static linking and also regarding the upgradation of LGPL libraries - http://forum.soft32.com/linux/Static-linking-LGPL-Upgrading-LGPL-libs-ftopict506201.html Karthik Balaguru

Karthik Balaguru