"viral" (was RE: Licensing options for firmware)
Ian Lance Taylor
ian at airs.com
Wed Apr 6 20:52:23 UTC 2005
Roger Fujii <rmf at lookhere.com> writes:
> Ian Lance Taylor wrote:
> > "Scott Miller" <scott at opentrac.org> writes:
> >>'Viral' also implies propagation, and 'reciprocal' doesn't.
> > Yes, precisely, and the GPL doesn't propagate. If the guy in the
> > seat
> > next to me on the plane sneezes, I get his viruses. That's viral.
> > That's not how the GPL works. You have to invite the GPL into your
> > code; it doesn't slip in against your wishes.
> Actually, this doesn't have to be true, since you can have the situation where
> Program A -> LGPL lib B -> LGPL lib C
> and if LGPL lib C changes to GPL lib C, then Program A must be GPLed, even though
> it only calls LGPL lib B (ergo, it'll slip in). Look at it like inviting a
> sick sneezing friend. :)
It's rather more subtle than you are describing.
The GPL only applies to distribution. You can continue to distribute
A with versions of B and C which are under the LGPL. If you choose to
distribute A with a version of C which is under the GPL, then the GPL
does indeed apply to A: you must provide the source code to A.
If somebody else has a binary only copy of A, and an LGPL copy of B,
and a GPL copy of C, but does not have the sources to A, and does not
have a LGPL copy of C, then they are prohibited from distributing A.
So the only way that A is going to get covered by the GPL is if you
choose to distribute with a GPL version of C. A is not infected by
C. A does not somehow become GPL because C is GPL.
More information about the License-discuss