News: 1622655934

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

Code contributions to GCC no longer have to be assigned to FSF, says compiler body

(2021/06/02)


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 [1]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 [2]GCC's association with the FSF .

The FSF has been entangled in controversy since [3]restoring its founder Richard Stallman to the board .

[4]

Red Hat [5]pulled funding for the FSF; the Debian community is [6]divided on the subject .

[7]

[8]

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 [9]said in the earlier thread:

[10]

"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 [11]said of the change:

[12]

"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, [13]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, [14]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.

[15]Debian devs decide best response to Richard Stallman controversy is … nothing

[16]FSF doubles down on Richard Stallman's return: Sure, he is 'troubling for some' but we need him, says org

[17]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

[18]GCC 10 gets security bug trap. And look what just fell into it: OpenSSL and a prod-of-death flaw in servers and apps

[19]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 [20]LLVM compiler project. ®

Get our [21]Tech Resources



[1] https://gcc.gnu.org/pipermail/gcc/2021-June/236182.html

[2] https://gcc.gnu.org/pipermail/gcc/2021-April/235340.html

[3] https://www.theregister.com/2021/03/22/richard_stallman_back_on_fsf_board/

[4] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=2&c=2YLf-fTWpDnh9OrmrMPQfdgAAAII&t=ct%3Dns%26unitnum%3D2%26raptor%3Dcondor%26pos%3Dtop%26test%3D0

[5] https://www.theregister.com/2021/03/26/redhat_fsf_funding_richard_stallman/

[6] https://www.theregister.com/2021/04/19/debian_stallman_vote/

[7] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44YLf-fTWpDnh9OrmrMPQfdgAAAII&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0

[8] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=3&c=33YLf-fTWpDnh9OrmrMPQfdgAAAII&t=ct%3Dns%26unitnum%3D3%26raptor%3Deagle%26pos%3Dmid%26test%3D0

[9] https://gcc.gnu.org/pipermail/gcc/2021-April/235340.html

[10] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44YLf-fTWpDnh9OrmrMPQfdgAAAII&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0

[11] https://gcc.gnu.org/pipermail/gcc/2021-June/236186.html

[12] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=3&c=33YLf-fTWpDnh9OrmrMPQfdgAAAII&t=ct%3Dns%26unitnum%3D3%26raptor%3Deagle%26pos%3Dmid%26test%3D0

[13] https://gcc.gnu.org/pipermail/gcc/2021-June/236219.html

[14] https://gcc.gnu.org/pipermail/gcc/2021-June/236194.html

[15] https://www.theregister.com/2021/04/19/debian_stallman_vote/

[16] https://www.theregister.com/2021/04/12/free_software_foundation_doubles_down/

[17] https://www.theregister.com/2020/10/06/fsf_35/

[18] https://www.theregister.com/2020/04/23/gcc_openssl_vulnerability/

[19] https://www.theregister.com/2020/09/07/c_20_wins_final_approval/

[20] https://llvm.org/

[21] https://whitepapers.theregister.com/

Apple and GPL

thames

Technically it was NeXT who developed Objective C. Apple/NeXT's problem with GCC is that they wanted to keep their Objective-C compiler proprietary rather than releasing it as open source despite it being based on FSF owned GCC.

Here's what the FSF had to day about it: "Consider GNU Objective C. NeXT initially wanted to make this front end proprietary; they proposed to release it as .o files, and let users link them with the rest of GCC, thinking this might be a way around the GPL's requirements. But our lawyer said that this would not evade the requirements, that it was not allowed. And so they made the Objective C front end free software."

The FSF were able to use their copyright ownership of GCC to make credible legal threats to sue Apple/NeXT over copyright violation unless they released the Objective-C code under GPL. Apple/NeXT backed down, and this is why it ended up under a GPL license.

When Apple developed their next language, Swift, they based it on LLVM, which let them keep it proprietary at first. Eventually they released it as open source, but retain the option of going back to a proprietary licence for future versions.

The main interest in LLVM comes from companies who don't want to write their own compiler from scratch, but want a proprietary compiler they can sell.

Re: Apple and GPL

doublelayer

This doesn't really relate to any of the copyright assignment issues. It's only an asset of the GPL. No matter who had the copyright to GCC, Apple or NeXT still couldn't use it and build a proprietary compiler.

Re: Apple and GPL

bombastic bob

I'm not convinced that a GPLv3 license was the right way to go with GCC.

Perhaps a GCC project (that gets all of the 'ownership' from FSF) could revert to GPLv2 and add the necessary license exceptions to manage any other license compatibility issues.

That would probably fix it.

Least likely, that it would allow for proprietary closed-source versions. But, if it could allow linking with and/or running with closed source components, that should be the choice of the end-user. My $.10 worth.

(not that I would LIKE it... having a closed-source component for developing on a particular platform... I most likely would NOT)

then again there's also llvm

Re: Apple and GPL

gnasher729

Actually, the reason why apple and some others had to switch from gcc was that they wanted to compile code at runtime (OpenGL, opencl, JavaScript etc. ) and that due to one Mr. Stallman that wasn’t possible. Stallman shot himself and gcc in the foot in a major way.

Telephone, n.:
An invention of the devil which abrogates some of the advantages
of making a disagreeable person keep his distance.
-- Ambrose Bierce