This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Plug-in Licensing


Justin Seyster <jrseys@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:

http://www.gnu.org/licenses/gcc-exception.html

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
here:

http://www.gnu.org/licenses/license-list.html#GPLCompatibleLicenses

Ian


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]