Subject: Re: GPL, BSD, commercial
From: Matthew Flaschen <matthew.flaschen@gatech.edu>
Date: Wed, 01 Apr 2009 03:55:36 -0400

Michele Bosi wrote:
> Hello everyone,
> 
> I developed an opensource program A which uses a library B distributed
> with 3 licenses, GPL3, LGPLv2.1 and a "commercial" one for
> closed-source development. For the development a file F of my program
> A I used the GPL3 version of library B. I was wondering if I can
> distribute (and maybe even sell) the sources of my program A
> (including F) using just any license like for example the BSD or if I
> *have to* distribute F separately with the GPL3 license sice I used
> the GPL3 version of the library B to develop it.

Well, before distributing you first need to decide which license to
accept, GPLv3, LGPLv2.1, or the proprietary license.  All three drive a
different "bargain".  Probably, you'll be best off with the LGPLv2.1.  I
believe that in that case, you could take advantage of LGPL sections 4,
5, 6.  This should let use the license of your choice for A as long as
it permits private modification and reverse engineering.

Don't worry about the fact that you've been working with the GPL
download.  You don't have to abide by the terms of the GPL unless you
modify or distribute the GPL code.  More practically, no one is going to
sue you unless you distribute without complying with /any/ of the licenses.

> The second question is: if for example I sell my program A (including F) to a customer
> with a commercial license written by me, will he/she be able to
> develop closed-source produtcs?

That depends on which of B's licenses you accept, as well as the terms
of your own proprietary license.

 My answer to this last question is "yes" as long as my customer has
also a "commercial license" of
> library B and as long as the sources of my file F are available for
> the others under the GPL3 (to fulfill the GPL3 requirements induced by
> the use of library B)

If you and your customer both have proprietary licenses for B, GPL is
not in the picture.  In that case, it depends solely on the terms of B's
proprietary license.  If you accept and distribute B under the LGPL, you
can probably license A under a proprietary license, again as long as
private modification and reverse-engineering are allowed.

> Another way to reformulate this last question might be: if I develop a
> program which uses a GPL3 library and I release the source code of my
> program under the GPL3 license, can I also release/sell closed-source
> commercial licenses for the same program to the customers that request
> for it in order to develop closed-source programs?

Probably not.  If you accept the library under the GPLv3, you can not
distribute proprietary derivatives.  That is not the same question. :)

I am not a lawyer and this is not legal advice.

Matt Flaschen