views:

186

answers:

4

Hi,

I'm using a GPL library in my closed source app. The library providers provide a FOSS exception where a number of licenses are acceptable to them, including LGPL.

So I was thinking of writing a LGPL licensed wrapper on top of the GPL library and using the library through the LGPL wrapper in my app. Is this the appropriate way to do it if I don't want my closed source app to be open sourced? I would, I believe, have to provide the source of the LGPL wrapper.

A: 

Using a tactic like this is very likely to generate a large amount of ill-will for your company. I recommend not doing it.

Ignacio Vazquez-Abrams
A: 

I don't think it can work. GPL is contaminating, and I think using a LGPL would not be enough. However, you could ask the library author to release the library under the LGPL.

Something else to know : if you don't distribute your binary (= give it to customers), your application is GPL, however, you don't have to provide the sources.

Scharron
GPL would be contaminating the LGPL component. BUT the distributors of the library have said that linking to the library via an LGPL component is acceptable
Irfan Habib
If authors said that linking with close source app via LGPL component is ok, then it's ok.
el.pescado
Yeap, thinking about it, it seems you can make your own LGPL open-source wrapper, and then use it to link your library.The question is : why the author didn't release its library under both the GPL and LGPL license ?
Scharron
+2  A: 

I am not a lawyer and this is not legal advice. Please contact your attorney for legal advice!

No, it wouldn't work. The GPL forbids being linked to a more restrictive (thus incompatible) license than itself, either directly or indirectly (though another library). You thus have three options:

  1. Write a GPL'd program to use the library and use command-line or interprocess communication with it. The programs are totally separate and the licensing is not an issue.
  2. Release your program under the GPL or a compatible license (or in the case of additional permitted licenses, one of those).
  3. Contact the copyright holder(s) of the library and negotiate a different license.

The FSF has a FAQ section on the GPL that is very comprehensive, that you should read; specifically the question about incorporating GPL'd software in proprietary software.

P.S.: If you don't intend to distribute the software outside of your organization (for example, selling it to clients) then all of this is unnecessary. In addition, the next question about using a wrapper also forbids this linking.

iconiK
With the exception of LGPL, which seems the OP is aiming to exploit.
Vinko Vrsalovic
@Vinko, even then, the GPL is still linked *indirectly* to software under an incompatible license (proprietary), which is forbidden.
iconiK
@iconiK: Right, I had misunderstood that
Vinko Vrsalovic
@Vinko, I have added another link that talks about the specific issue of using a wrapper to get around the restriction. Answer is still no.
iconiK
@iconiK"The GPL forbids being linked to a more restrictive (thus incompatible) license than itself, either directly or indirectly (though another library)."This contention is correct, however the developer of the library has said that he doesn't "mind" his library being linked to another open source license including LGPL.In this circumstance can I do it the way I want to?
Irfan Habib
@Irfan, no, since in the end, you still link to your proprietary software, which is not approved by him. I'd say talk to the developer to get the library under a special license. Also, talk to a lawyer.
iconiK
A: 

Advice: for all GPL licensing questions ask [email protected] .

I believe the answer to your question is here. Anyway...

I'm using a GPL library in my closed source app. The library providers provide a FOSS exception where a number of licenses are acceptable to them, including LGPL.

You cannot do that. If you link with gpl library, you make a derived work based on that library. Which will be under GPL.

So I was thinking of writing a LGPL licensed wrapper on top of the GPL library and using the library through the LGPL wrapper in my app. Is this the appropriate way to do it if I don't want my closed source app to be open sourced? I would, I believe, have to provide the source of the LGPL wrapper.

You cannot do that. By making a wrapper around GPL library, you're making a derived work, which will be placed under GPL. I.e. wrapper will be GPL, so linking with wrapper will make your program GPL.

YOu may be able to use GPL library if:
1. You don't link with the library (uses sockets/pipes for communication, fork/exec/createprocess to invoke librarty instead). Still, it is "slippery" path, because I suspect it will be still possible to prove that your program is a derived work.
2. You can obtain author's permission to use it with closed-source app.
3. You can turn it into "aggregation".

IMO, #2 is most realistic approach, while #1 and #3 are pain to implement, and if you're going to try them, you will REALLY need to consult a lawyer.

The whole point of GPL was to infect everything it touches with GPL license. So I'd recommend to search for alternative library (closed-source, public domain, MIT, BSD, or LGPL license), or write replacement yourself.

SigTerm
Well, the people who made the library, they have explicitly stated that they do not require the program using the library to in GPL, it can be in any other open source license including LGPL.
Irfan Habib
Yes, but you do not want to license your program under LGPL, do you?
el.pescado