views:

84

answers:

2

Hello All,

I want to clarify between GPL and LGPL licence.

I have taken open source library which is under GPL licence. If i integrate it in my project and i sell in the market then i have to distribute my code to open source community right ? if i don't change any library code then also i have to distribute my code ? what are the other things i have to take care before release in market ?

Query regarding LGPL licence:-

I have taken open source library which is under LGPL licence. If i integrate it in my project and i sell in the market then i have to distribute my code to open source community If i don't change any library code then also i have to distribute my code ?

what are the other things i have to take care before release in market if i have used LGPL licence ?

Thanks, Neel

+3  A: 

IANAL, and I'm only addressing part of your question. The best way to answer any questions about the GPL is to read it and consult with a lawyer familiar with your jurisdiction.

But this:

If i integrate it in my project and i sell in the market then i have to distribute my code to open source community right ?

...is dead wrong.

You only have to distribute your code to someone you give a binary to. In fact, distribution is not a requirement: you must make available the source code (so, for example, give them a place to download it). The code you give them must be licensed to them in a way that is compatible with the GPL. Of course, anyone who gets a copy might distribute it themselves - that's up to them, and it would be silly to rely on all of your customers not doing this.

Besides, it's considered the nice thing to do — if you use someone else's work under the GPL, you might as well release it as an open project, or at least publish the source for people to look at.

detly
Actually, you don't have to distribute *your* source code *at all*. You only need to distribute the source code to the GPL'd library and all works that are *derived* from it. If you don't derive works from the GPL'd code, you don't need to distribute anything except the original source code which is already open anyway.
Jörg W Mittag
@Jörg W Mittag — I can't remember, but isn't a monolithic compiled binary considered a derived work of any and all source code producing the binary? So applicability will depend on static vs. dynamic linkage and a bunch of other factors. But this is more detail than I want to get into — I'm sure there's a better site for all of this. Nonetheless, my point about it being wrong still stands.
detly
@Jörg W Mittag : You're definitely wrong in that assumption, make sure you read [Why you shouldn't use the Lesser GPL for your next library](http://www.gnu.org/licenses/why-not-lgpl.html). The GPL is a viral license, and will infect everything that touches it... That's why some libs have dual licensing (where you can choose between either the GPL or a commercial license).
wimvds
@wimvds - how does using the API for a GPL library (ie. using dynamic linking) make your entire program covered by it?
detly
No, wait, I found it: *When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library.*
detly
That was in the preamble to the [LGPL 2.1](http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html), but it's not in v3. Honestly, not being a lawyer, I have no idea how true that is.
detly
@detly: See [If a library is released under the GPL (not the LGPL), does that mean that any program which uses it has to be under the GPL or a GPL-compatible license?](http://www.gnu.org/licenses/gpl-faq.html#IfLibraryIsGPL) and [I'd like to incorporate GPL-covered software in my proprietary system. Can I do this?](http://www.gnu.org/licenses/gpl-faq.html#GPLInProprietarySystem).
wimvds
BTW You can still execute (fork) a GPL binary (like ffmpeg et al) from your proprietary app though, since there's no linking involved in that case. It can easily be replaced by something else, so they remain 2 separate applications. The GNU GPL FAQ has a lot of info on what you can and cannot do.
wimvds
A: 

DISCLAIMER : IANAL

With LGPL you have to distribute the changes you made to the library, not the code of the application that is interfacing with the library.

The GNU Project has two principal licenses to use for libraries. One is the GNU Lesser GPL; the other is the ordinary GNU GPL. The choice of license makes a big difference: using the Lesser GPL permits use of the library in proprietary programs; using the ordinary GPL for a library makes it available only for free programs.

Source : Why you shouldn't use the Lesser GPL for your next library.

So if you want to have a proprietary application and want to use open source libraries, you should always use LGPL (or BSD or similar licenses) libraries, and never use GPL (which is a viral license). You might miss out on a lot of "free" (as in freedom, not necessarily as in free beer) helping hands if you take this route though...

BTW You should read the Frequently Asked Questions about the GNU Licenses as well.

wimvds