When the Free Software Foundation (FSF) recently returned its disgraced founder Richard M. Stallman (RMS) to its board, the FSF board hadn’t reckoned with how others would see his return. Even the GCC Steering Committee, which oversaw the GNU Compiler Collection (GCC) free software’s primary collection of programming language tools, removed Stallman, the original GCC creator, from its membership. Now, the GCC Steering Committee has relaxed its decades-old requirement that new and modified GCC code should have its copyright assigned to the FSF.
RMS proponents see this as the GCC community moving away from the FSF. Diehard RMS loyalists even see it as the GCC perhaps steering away from free software. The GCC Steering Committee, however, specifically denied this. “The GCC Steering Committee continues to affirm the principles of Free Software, and that will never change.”
Specifically what’s happened is David Edelsohn, IBM’s CTO GCC Technology, and a GCC Steering Committee member since its creation in 1998, announced 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.
So, what does that mean? Edelsohn continued that if you were happy to let the FSF have your copyright, you didn’t need to do a thing. But now you can have a choice. You can also donate your code with a Developer Certificate of Origin [DCO license]. To do that, developers 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.”
Eben Moglen, Columbia law professor, one of the architects of the Gnu Public License (GPL), and Chairman of Software Freedom Law Center (SFLC), added in an interview, “I am not, and SFLC is not, counsel to FSF, the GNU Project, or the GCC Steering Committee. We do not speak for any of them. I have read the GCC Steering Committee statement on copyright assignment, and on that basis, I can give an independent legal opinion.” The effect of this change, “as the GCC Steering Committee states, is to loosen the bonds between FSF and the GCC projects.”
DCOs are used by many open-source projects as an alternative to a Contributor License Agreement (CLA). The FSF prefers that all contributions to GCC be under a CLA that gives it the copyright, but it doesn’t absolutely require it. Indeed, the FSF will also accept donations in some cases under a DCO.
Typically, free software/open-source CLAs require the contributor to grant a copyright license in the contribution to the open-source project, its maintainer, and/or downstream recipients. CLAs are not standardized, so contributions may be subject to different CLAs or none at all. For example, besides the FSF, the Apache Software Foundation, the Eclipse Foundation, Google, and Microsoft to name a few, require CLAs.
In this case, Moglen continued the “FSF will long remain the preponderant copyright holder in GCC and related projects, but the Steering Committee and its counsel will now begin taking into account in the projects’ legal relationships the presence of other copyright holders, to the extent that it chooses to incorporate contributions from non-assigning parties.”
But, what is different, Moglen said, is that while the “GCC is not changing anything about its ‘outbound’ licensing,” it’s a different story with the “inbound” licensing.
As for the outbound license, it’s the same as ever. “The compiler and associated elements of the toolchain remain licensed under the terms of GPLv3, as modified by the relevant additional permissions. No downstream user, modifier or redistributor of GCC is facing any changes whatsoever.”
What’s new, said Moglen, is “The GCC Steering Committee has decided, on the ‘inbound’ side of its projects, not to require copyright assignment to FSF for contributions. Copyright assignment to FSF was traditionally required for “core” GNU Project components. Instead, the Steering Committee has decided to allow contributors to keep their own copyrights, if they wish. Such contributors can submit a Developer Certificate of Origin, stating that the contribution is their own work, or the work of others who have given them authority to certify origin, and that they have the necessary rights to make the contribution. This is the mechanism by which the Linux kernel project, among other non-FSF managers of GPL’d code, accept contributions to their works.”
Historically, not all free software and open-source supporters have like CLAs. As attorneys at the international law firm Finnegan, point out, “A common criticism of CLAs is their potential to discourage contributions to the open-source project. A legal contract defining rights and obligations, and potential liabilities, associated with a contribution can be intimidating to software developers who simply want to contribute minor bug fixes or other refinements to existing open-source code.”
It was to help avoid that, and related issues, that the Linux Foundation released the first DCO in 2004. Since then, DCOs have been used in the Linux kernel and numerous open-source projects.
As for the GCC, in another message, Edelsohn expressly stated, “The update to the policy does not negate any existing or future FSF copyright assignments — it solely expands the options available. … Individuals and companies can choose how to proceed with their existing FSF copyright assignments. Individuals and companies may continue to establish new copyright assignments with the FSF.”
Needless to say, not everyone is happy with this change even if it is optional. Some think the GCC Steering Committee doesn’t have the right to make the decision. Others, like Jose E. Marchesi, head of Oracle’s GNU toolchain division, believe they and their company should have been consulted and are requesting that the change be held in abeyance for now. Still, others worry over what this means if the GCC’s license is changed from its GPLv3 to a hypothetical future GPLv4.
Heather Meeker, a partner at the law firm O’Melveny & Myers who specializes in open-source software licensing, however, thinks the GCC Steering Committee has made a smart move. Meeker wrote, “This move brings the GCC project into line with community practice, and it’s a welcome development. Over the years, various contributors had refused to agree to the FSF’s contribution assignment agreement, a document that is unusual in both substance and form. As to substance, while assignments for contributions were more common a couple of decades ago, today they are quite rare; most open source projects today either use license in=out (with or without a DCO) or a CLA with a non-exclusive license grant. As to form, the FSF’s assignment contains some truly unique language about patents that patent licensing lawyers find perplexing, causing companies to balk at making contributions to FSF projects simply because they can’t parse the terms.”
In short, Meeker expects, “This move should pave the way for more contributors to feel comfortable contributing to GCC.” We’ll see if that is indeed the case.