https://lwn.net/Articles/857791/ LWN.net Logo LWN .net News from the source LWN * Content + Weekly Edition + Archives + Search + Kernel + Security + Distributions + Events calendar + Unread comments + ------------------------------------------------------------- + LWN FAQ + Write for us User: [ ] Password: [ ] [Log in] | [Subscribe] | [Register] Subscribe / Log in / New account GCC drops its copyright-assignment requirement The GCC compiler, like other GNU projects, has long required contributors to complete paperwork assigning the copyrights on their work to the Free Software Foundation. That requirement has just been dropped, and contributors can now attach a Signed-off-by tag indicating use of the Developers Certificate of Origin instead. "This change is consistent with the practices of many other major Free Software projects, such as the Linux kernel." Initial discussion suggests that some developers were surprised by this change and are yet to be convinced that it is a good idea. --------------------------------------------------------------------- From: David Edelsohn via Gcc To: GCC Development Subject: Update to GCC copyright assignment policy Date: Tue, 01 Jun 2021 10:00:06 -0400 Message-ID: Archive-link: Article GCC was created as part of the GNU Project but has grown to operate as an autonomous project. The GCC Steering Committee has decided to relax the requirement to assign copyright for all changes to the Free Software Foundation. GCC will continue to be developed, distributed, and licensed under the GNU General Public License v3.0. GCC will now accept contributions with or without an FSF copyright assignment. This change is consistent with the practices of many other major Free Software projects, such as the Linux kernel. Contributors who have an FSF Copyright Assignment don't need to change anything. Contributors who wish to utilize the Developer Certificate of Origin[1] should add a Signed-off-by message to their commit messages. Developers with commit access may add their name to the DCO list in the MAINTAINERS file to certify the DCO for all future commits in lieu of individual Signed-off-by messages for each commit. The GCC Steering Committee continues to affirm the principles of Free Software, and that will never change. - The GCC Steering Committee [1] https://developercertificate.org/ ----------------------------------------- (Log in to post comments) GCC drops its copyright-assignment requirement Posted Jun 1, 2021 18:19 UTC (Tue) by foom (subscriber, #14868) [Link ] Well that's interesting I wonder what they plan to do about the GFDL issue, now that the FSF won't be the copyright holder, and thus will not have the power to unilaterally allow relicensing between GFDL and GPLv3, as was previously done. [Reply to this comment] GCC drops its copyright-assignment requirement Posted Jun 1, 2021 18:20 UTC (Tue) by josh (subscriber, #17465) [Link ] This is huge. This seems like it was one of the biggest process issues holding the GCC project back; I look forward to the project being able to more freely incorporate and collaborate on code from other projects. [Reply to this comment] GCC drops its copyright-assignment requirement Posted Jun 1, 2021 18:48 UTC (Tue) by Gaelan (subscriber, #145108) [ Link] GCC will continue to be developed, distributed, and licensed under the GNU General Public License v3.0 I wonder if they really mean GPLv3, or GPLv3+? If it's the latter, the FSF still retains the ability to unilaterally relicense GCC. [Reply to this comment] License Posted Jun 1, 2021 18:54 UTC (Tue) by corbet (editor, #1) [Link] It's still GPLv3+; that has been clarified on the mailing list. [Reply to this comment] GCC drops its copyright-assignment requirement Posted Jun 1, 2021 19:43 UTC (Tue) by madscientist (subscriber, # 16861) [Link] > If it's the latter, the FSF still retains the ability to unilaterally relicense GCC. They don't have the ability to relicense GCC. There is much confusion around this even on the mailing list. GPLv3+ doesn't mean someone can relicense GCC. It means that if the FSF releases a new version of the GPL, anyone can elect to use it under EITHER the old license OR the new license. That is not the same thing as relicensing. Worrying about the FSF relicensing GCC is not the problem; I don't think any serious person thinks that the FSF will publish a GPLvN which undermines free software. The problem is actually the opposite: once they start accepting code that is not copyright FSF, now you can NO LONGER change the license to GPLv4+ if you wanted to without getting permissions from all copyright holders. And even if you assume good faith by all contributors, once the first GCC contributor dies or disappears you're screwed unless you want to throw out all their code and rewrite it from scratch. This is not theoretical, it has actually happened in some projects. Consider this: suppose some case goes through the U.S. court system that blows a huge hole through the middle of GPLv3 and the license needs to be updated to resolve that problem. This is a far more likely scenario than the FSF publishing a "poison pill" GPL version, but too bad, there's no remedy. You can make it more painful (for everyone) by saying some new code is GPLv4+ but it's ugly and will become a mess. There are also a big pile of open questions about this change that have no answers (yet): it's not clear if they were considered or not. So far I give the GCC steering committee more or less the same grade for their handling of this announcement that I gave the FSF for their handling of the RMS announcement earlier this year... and that's not good. Especially because they didn't have the excuse of someone jumping the gun on them at an event. [Reply to this comment] GCC drops its copyright-assignment requirement Posted Jun 1, 2021 19:57 UTC (Tue) by Cyberax ( supporter , #52523) [Link] > The problem is actually the opposite: once they start accepting code that is not copyright FSF, now you can NO LONGER change the license to GPLv4+ if you wanted to without getting permissions from all copyright holders. At some point they can start requiring GPLv4+ on new code contributions. This is legal, because the old license is GPLv3+ which is compatible with any newer GPL. [Reply to this comment] GCC drops its copyright-assignment requirement Posted Jun 1, 2021 20:15 UTC (Tue) by Lonjil (guest, #152573) [Link] Allowing any party to distribute the code under GPLv4 (that is, GPLv3+), and the FSF relicensing the code under GPLv4, are exactly equivalent. There are no differences what so ever. [Reply to this comment] GCC drops its copyright-assignment requirement Posted Jun 1, 2021 22:19 UTC (Tue) by pm215 (subscriber, #98099) [ Link] There is a significant difference -- if project A licenses its code under GPLv3-or-later, and then chooses to distribute the whole project under GPLv4, then a different project B which is GPLv3-only can still choose to copy source code from A (as long as it avoids any parts of the codebase that are 4+ and not 3+ -- and most of the code will still be 3+, typically including bugfixes to existing sourcefiles, since the usual approach is to try to avoid mixing multiple licenses in one file to avoid confusion). However, if project A has a single copyright owner who chooses to relicense the whole thing to 4+, project B can no longer take any source code from A starting from the first 4+ version. This is a non-theoretical issue for the v2-vs-v3 split -- because binutils relicensed wholesale to v3-or-later, QEMU (which is v2-only) could no longer take bugfix or new-feature updates to disassembler code that it had copied from binutils, so it has some pretty out-of-date versions of some of the disassemblers. [Reply to this comment] GCC drops its copyright-assignment requirement Posted Jun 1, 2021 22:30 UTC (Tue) by ldearquer (subscriber, #137451) [Link] Can GPLv3+ be distributed as GPLv4+? Or only as GPLv4? (or 5,6..., but without the "any later" option) If it is the first, I don't see any difference, as "distributing under" and "re-licensing" are pretty much synonims [Reply to this comment] GCC drops its copyright-assignment requirement Posted Jun 1, 2021 22:46 UTC (Tue) by Wol (subscriber, #4433) [Link] > and the FSF relicensing the code under GPLv4, are exactly equivalent. There are no differences what so ever. Apart from the law saying they are COMPLETELY DIFFERENT, of course ... Simple example: There's a bunch of code licenced GPL3+. I distribute it to my friends under GPL4. They distribute it to their friends under GPL3. ALL PERFECTLY LEGAL. There's a different bunch of code, licenced GPL4+. I distribute it to my friends under GPL4. They distribute it to their friends under GPL3. THAT IS ILLEGAL. NO FREE SOFTWARE LICENCE ALLOWS YOU TO RELICENCE SOMEONE ELSE'S CODE. (In my first example, I CANNOT change the GPL3+ licence, which is why my friends can use the GPL3 licence. In the second example, GPL3 is not an option, not for me, not for my friends.) Until you get your head around that fact you will continue making elementary legal blunders like this, unfortunately this meme is so embedded in the free/open software mentality that it's unlikely ever to go away. And for the most part, the implications are irrelevant, but if you want to do things right, you have to get things right from the ground up - you can't build a working superstructure on rotten foundations. Cheers, Wol [Reply to this comment] GCC drops its copyright-assignment requirement Posted Jun 1, 2021 22:12 UTC (Tue) by rgmoore ( supporter , #75) [ Link] They don't have the ability to relicense GCC. Yes, they do, or at least they did until this. A copyright holder always has the right to change the license terms for their software. With projects like the Linux kernel, where the copyrights are held by thousands of different contributors, it's effectively impossible to change the license. But if contributors are required to assign their copyright to a central authority like a foundation or company, that single copyright holder has the right to change the licensing terms. That was a major point of requiring people to assign their copyright. In this case, I think GCC has decided that isn't necessary, since they were never going to relicense under anything but a later version of the GPL. But some companies have a dual license scheme that takes full advantage of this. The company maintains all the copyrights, either by not accepting outside contributions or by requiring contributors to assign their copyrights, which allows them to release a GPL version and a proprietary version. They support Open Source software and let programmers get used to their software through the GPL version, but they can still make money by licensing their software to proprietary software projects. [Reply to this comment] Copyright (c) 2021, Eklektix, Inc. Comments and public postings are copyrighted by their creators. Linux is a registered trademark of Linus Torvalds