views:

609

answers:

5

Hi,

I am having trouble understanding the usage permissions of open source. I read somewhere that GPL or LGPL enforces that software that uses GPL software must also be released open-source. I want to create an application that uses some open-source image recognition library. Can I sell this application or does it have to be open source?

Thanks!

+3  A: 

LGPL allows you to use and distribute the open source software with your application without releasing the source code for your application.

GPL requires you to release the source code of your application if you choose to use and distribute the GPL licensed open source software with your application. In other words, your application must also be licensed under the GPL.

Robert Harvey
Note the LGPL states the used library must be replaceable. Thus static linking isn't possible.
Dykam
So a "DLL" (Dynamic Link Library) would be legal, correct?
Robert Harvey
+1  A: 

The GPL vs. LGPL distinction determines whether you do/do not have to release the source for your application to anyone having a copy of the binary. Either way you can still sell the application.

Troubadour
A: 

GPL does not forbid you to sell software. However you must make available the sources to the software.

The question of usage is a little more complicated. GNU/Linux is released under the GPL. Nothing forbids you to write software that runs under Linux regardless of the licence of your software. However, you cannot distribute Linux together with your software. That is often a problem with libraries which need to be part of a program. That is what the LGPL licence is for. You can compile a c program you write with gcc (hence using LGPL licenced runtime routine libraries from gcc) and still release you software without the restrictions of the GPL.

I think that is the general gist of it. However, this it not in any way legal advice. For legal advice you must retain a certified attorney who can give you legal advice fitting your particular circumstances.

Hope this helps.

txwikinger
+2  A: 

IANAL, but the concepts are fairly straightforward.

First, you and your lawyer must read the GPL and LGPL licenses. Second, you should read the GPL FAQ. As far as I understand, you can think of using GPL/LGPL libraries in this way:

  • If you link dynamically or statically with a GPL or LGPL library, you have created a derivative work.
  • If you use a library that is GPL, and you link with that library, your software must be released with a compatible license.
  • If you use a library that is LGPL, and you dynamically link with that library, your software does not have to be released with a compatible license, but you must still comply with the LGPL.
  • If you use a library that is LGPL, and you statically link with that library, your software must be released with a compatible license.
  • The GPL/LGPL licenses mean "free" as in "free speech", not "free beer". You can create a derivative work and sell it for large amounts of money, but you must comply with the GPL/LGPL.
Jared Oberhaus
+1  A: 

If you cut and paste or link against GPL'd code into your application, your application must be licensed under GPL and you are then required to release the code.

However, you can still sell your application and afaik, the only oblication is that you release the sourcecode to your customers.

If the library you link against is Lesser Gnu Public License aka LGPL then you dont need to release your own application's code but you are still required to release all modifications if you modified the lgpl'd code.

rasjani