[Pharo-project] Plug-in Licensing

Schwab,Wilhelm K bschwab at anest.ufl.edu
Wed Oct 20 16:24:39 EDT 2010


Thanks for the reference.  I will give it a good look.


From: Paolo Bonzini [paolo.bonzini at gmail.com] On Behalf Of Paolo Bonzini [bonzini at gnu.org]
Sent: Wednesday, October 20, 2010 2:13 PM
To: Schwab,Wilhelm K
Subject: Fwd: Re: Plug-in Licensing

I found a reference to GPL-compatible vs. GPLv3 in the GCC mailing list
from today.

It is the same situation as you, with "GCC plugin" being your library
and "GCC" being GSL in your case.

Hope this helps a fellow Smalltalker.



Justin Seyster <jrseys at gmail.com> writes:

> I'm getting ready to release plug-in code, and I want to have a very
> clear idea about licensing before I release.  I'm leaning towards
> releasing everything as GPLv3, but I do want to know exactly what is
> and isn't allowed.

GPLv3 is fine.

> I know this issue was debated quite intensely before plug-in support
> got added, but my understanding is that there was a final consensus.
> I can't find one document though that explains exactly what this
> consensus was.

The document is here:


See also the rationale and FAQ that it links to.

Basically, if you use a plugin with gcc, and the plugin is not
GPL-compatible, then the resulting compiled code is covered by the GPL.

> I vaguely remember a proposal that there would be no restriction on
> plug-in licensing but that non-free plug-ins could only be used to
> compile Free software, but that's not documented anywhere I can find.

That's pretty much it.

> GCC itself now requires that plug-ins export a
> plugin_is_gpl_compatible symbol, which implies that the plug-in's
> license need only be compatible with the GPL.  Is it ok to release
> LGPL- or BSD-licensed plug-ins?

Sure, both of those licenses are GPL-compatible.

> My understanding is that, in general, only GPLv3 code can link against
> GPLv3 code, which would imply that my plug-in code must be GPLv3.

That is incorrect.  You can link code under any GPL-compatible license
with GPLv3 code, and the resulting executable will be covered the union
of both licenses.  Since GPLv3 tends to be stricter than any
GPL-compatible license, this generally means that the result is under
GPLv3.  There is a (non-exhaustive) list of GPL-compatible licenses



More information about the Pharo-dev mailing list