This is the mail archive of the
mailing list for the GCC project.
Re: RFH: GPLv3
- From: Ian Lance Taylor <iant at google dot com>
- To: Mark Mitchell <mark at codesourcery dot com>
- Cc: GCC <gcc at gcc dot gnu dot org>
- Date: 12 Jul 2007 07:36:29 -0700
- Subject: Re: RFH: GPLv3
- References: <4695B50B.firstname.lastname@example.org>
Mark Mitchell <email@example.com> writes:
> 2. GCC 4.2.1 will be the last GPLv2 release. The FSF will permit
> backports from mainline to GCC 4.2.1, if necessary, to be downlicensed
> to GPLv2, as part of that release.
I believe that we should make a clear statement with that release that
any future backport from a later gcc release requires relicensing the
changed files to be GPLv3 or later. I believe this is consistent with
the two different licensing requirements, and I believe it is feasible
if inconvenient for vendors who distribute patched gcc releases.
> 3. After GCC 4.2.1 is released, we will renumber the branch to GCC 4.3.
> What would have been GCC 4.2.2 will instead be GCC 4.3.3, to try to
> emphasize the GPLv3 switch. The GCC mainline will then be GCC 4.4.
That seems really really confusing. I appreciate that the SC is
facing contradictory requirements. But I think there must be a better
solution. Moving from 4.2.1 to 4.3.3 will have us writing
explanations to users and distributors for the next five years.
My personal preference would be to acknowledge that for our users
there is no significant difference between GPLv2 and GPLv3. And we
should acknowledge that people backporting patches from later releases
are already going to have to relicense to GPLv3. Therefore, we should
simply change gcc 4.2.2 to be GPLv3. This is a lot of churn on the
branch, and I wish it were unnecessary, but presumably the FSF
requires it. I think that choice is the lesser evil.
The only people who may be discomfited by that choice are distributors
of gcc who are unwilling to distribute code licensed under GPLv3. But
for those people, renaming gcc 4.2.2 to gcc 4.3.3 will not help them
in any meaningful way. I think it will suffice to clearly announce
the licensing change in the documentation and announcements for both
gcc 4.2.1 (under GPLv2) and gcc 4.2.2 (under GPLv3).
And, of course, we should help any concerned distributors to
understand that, for gcc, GPLv3 does not impose any requirements that
were not already implicitly present in GPLv2. (I personally only know
of one potentially recalcitrant distributor, and, again, renaming gcc
4.2.2 to gcc 4.3.3 will not help them.)
> It has not yet been decided what to do about files that are part of
> run-time libraries and are covered by GPL/LGPL + exception. Therefore,
> no changes to
I find this truncated sentence to be slightly ominous as I believe
there is only one plausible choice for those files: we must convert
them to be GPLv3/LGPLv3 + exception, where the exception is identical
or equivalent to the current one. Adding any restrictions to the
licensing of those files will cost us a significant portion of our
> It has also not yet been decided whether backports of bug-fixes from
> GPLv3 versions of GCC to older GPLv2 versions of GCC (e.g., GCC 4.1)
> will result in the patched compilers being GPLv3. If you have thoughts
> about that, you might wish to contact the FSF.
I believe it will result in the patched compilers being GPLv3, and I
believe that is acceptable if inconvenient. If the FSF will grant a
dispensation here, that would be clearly helpful. But any such
dispensation would have to avoid opening a huge licensing hole for
anybody who wants to stick to GPLv2, to prevent them from simply
building a permanent branch of gcc 4.1 and backporting and relicensing
all future gcc changes.