The GCC (GNU Compiler Collection) Steering Committee has lifted a long-standing requirement that all code contributions must be assigned to the FSF (Free Software Foundation).
A statement made on behalf of the Steering Committee by David Edelsohn, CTO of GCC Technology at IBM, told the mailing list that:
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.
GCC is widely used, not least as the primary compiler toolchain for Linux. Although contributing code under the GPL 3.0 license is sufficient for it to be open source, assigning copyright gives more flexibility to the owners for such things as publishing the code under a different license – anything that would otherwise require asking the original contributors (who may no longer be available for any number of reasons) for further permission.
The reason for the change is not stated, but there was a long thread in April on the matter of GCC's association with the FSF.
The FSF has been entangled in controversy since restoring its founder Richard Stallman to the board.
Edelsohn's statement is also prefaced by the remark that "GCC was created as part of the GNU Project but has grown to operate as an autonomous project." The exact nature of the relationship between GCC, GNU and FSF is debated at length in the above thread.
What will be the impact of the change? Red Hat senior principal engineer Mark Wielaard said in the earlier thread:
"In my experience it has been helpful that the FSF held copyright of code that had been assigned by various individuals and companies. It allowed the merger of GNU Classpath and libgcj for example.
"There have been various instances where it was helpful that the FSF could unilaterally adjust the license terms especially when the original contributor couldn't be found or didn't exist (as a company) anymore. And it is really helpful that we don't have to ask permission of every individual contributor to be able to create the GCC manual (because the GPL code and GFDL text could otherwise not be combined) but that the FSF can grant an exception to one of the developers to create it."
Wielaard said of the change:
"This seems a pretty bad policy to be honest. Why was there no public discussion on this?
"I certainly understand not wanting to assign copyright to the FSF anymore given the recent board decisions. But changing GCC from having a shared copyright pool to having lots of individual (or company?) copyright holders seems like a regression for a strong copyleft project… If we no longer want the FSF to be the legal guardian and copyright holder for GCC could we please find another legal entity that performs that role and helps us as a project with copyleft compliance?"
Christopher Dimech, general administrator at geoscience company Naiad Informatics, argued that the GPL itself is sufficient:
You can change [the license] as much as the license allows you. The GPL is intended to give you back all the rights taken from you by copyright. Thusly, you are not restricted by anyone because they have the copyright of the original work.
Red Hat GNU C++ maintainer Jason Merrill, who is on the steering committee, said that "GCC's license is "GPL version 3 or later", so if there ever needed to be a GPL v4, we could move to it without needing permission from anyone… giving up the theoretical ability to change the license (other than to a later GPL) does not seem like a significant loss."
This was also affirmed by Edelsohn, suggesting that this represents the view of the committee.
- Debian devs decide best response to Richard Stallman controversy is … nothing
- FSF doubles down on Richard Stallman's return: Sure, he is 'troubling for some' but we need him, says org
- FFS FSF, you're 35 already? Hands up if you just sprouted a grey hair or felt a craving for a Werthers Original on reading that. Happy birthday, folks
- GCC 10 gets security bug trap. And look what just fell into it: OpenSSL and a prod-of-death flaw in servers and apps
- Classy move: C++ 20 wins final approval in ISO technical ballot, formal publication expected by end of year
The amendment may widen the number of developers able to contribute code. In a 2010 discussion about merging Apple's modifications to GCC (made to support Objective-C) into the GCC trunk, Chris Lattner, at the time Apple's senior director of the Developer Tools Department, said: "Be aware that none of the changes that haven't been committed to the FSF trees are copyright-assigned to the FSF.
"In practice, since the FSF cares about copyright assignment, this probably means that you can probably merge whatever is in the apple branch on the FSF server, but you can't take things out of llvm-gcc or the apple gcc tarballs that get pushed out on opendarwin."
In other words, Apple's unwillingness to assign copyright to FSF was a blocker to merging code into GCC, and perhaps a factor in its support of the independent LLVM compiler project. ®