Mark Mitchell <[EMAIL PROTECTED]> 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 user base. > 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. Ian