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

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 …

  1. thames

    Apple and GPL

    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.

    1. doublelayer Silver badge

      Re: Apple and GPL

      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.

      1. bombastic bob Silver badge
        Meh

        Re: Apple and GPL

        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

        1. Anonymous Coward
          Anonymous Coward

          Re: Apple and GPL

          Are developers end users though?

          1. iron Silver badge

            Re: Apple and GPL

            Yes. For dev tools obviously but also if I'm using something like Word then I'm an end user for Word, no matter how much code I've written.

      2. thames

        Re: Apple and GPL

        Only the copyright owner has the legal right to sue over license violations. If the FSF did not own any substantial copyrights in GCC then Apple/NeXT could have had the case dismissed as the FSF would not have had legal standing in court. This is the main reason the FSF set up the copyright assignment system.

        Projects where the copyrights are widely dispersed are more difficult to enforce, as someone who has substantial copyright ownership has to be willing to volunteer to bring the complaint to court.

        There is also the problem that there have been a few cases with dispersed license projects where one copyright owner sued when the majority don't want to, but instead wanted to continue negotiating licence compliance with the copyright violator.

        By having the FSF hold the copyrights (with a license back to the creator to re-license as he wishes) the FSF got around this problem.

        The FSF were pioneers of Free Software, and there was initially a lot of legal uncertainty as to whether any non-proprietary license could be legally enforced. There was also the issue of whether there would be the need to do a rapid change to license terms in case a loophole was found in the license.

        After many years though there are enough legal precedents established that this is much less of an issue. The licenses have been tested in court and have stood up as enforcable, and Free Software has become the norm and is well understood from a legal perspective.

        This is probably why they are now changing to allow for dispersed copyrights the same as most other Free Software projects do.

        The main advantage of widely dispersed copyrights is that it becomes very difficult for any one person or any one organization to stage a takeover of a project, as was done with MySQL (by Oracle). The current environment is very different from the one which existed when the FSF were first starting out. In essence, by largely achieving their objective they have at least partially made themselves redundant.

        1. doublelayer Silver badge

          Re: Apple and GPL

          The original code implementing GCC was copyrighted to the FSF, and thus they would have the ability to sue without owning the copyright on each additional contribution. It's true that it wasn't well-tested at that point, but they could have and it would have worked.

          1. bazza Silver badge

            Re: Apple and GPL

            Where it could get interesting is if someone rolls out a "fair use" defence. If the FSF is suing, but all other contributors are not, or aren't expressing support for the case, that would make a "fair use" defence more potent.

            It might not potent enough to win, but these things accrue. Eventually the FSF's share of the copyright ownership will decline to a point where they could not claim to be representing a majority view.

            How Bad a Job is the FSF Doing Anyway?

            There's some interesting things going on these days. For example, the source code for the GNURadio project - FSF owned - now simply states who owns the copyright, and what project the file is part of. There are spdx tags in the files, but nowhere in any of the source code files does it say in clear and unambigous terms what the license conditions are (an spdx tag is just a word, it's not a license statement).

            There is a COPYING file in the repository, but is simply a stock copy of the GPL, there's nothing in it to say that it applies to any of the accompanying files. In fact at the bottom of the GPL text itself it tells you to put a piece of text in your source code files to indicate that the GPL license applies, which the GNURadio project has now stripped out from its source code. The project README.md does not say that GPL applies. The CONTRIBUTING.md file says that it is GPL, but the source code itself doesn't restate or confirm that.

            So as far as I can tell if you download the head of GNURadio today, you get a whole load of source code that makes no effective and binding statement as to what license applies, and a gratis but apparently purposeless copy of the GPL.

            Ok, so you and I know what spdx tags are for, but they do not amount to a clear and unambiguous assertion that every single English reading human being on the planet can be expected to understand. Put an spdx tag in front of a judge and they're going to say "this is just a word". AFAIK an spdx tag all by itself, in isolation, shorn of the GPL recommended text, has not been established in court as an adequate assertion of license conditions across all (or indeed, any) jurisdictions on the planet. I'd venture to suggest that your average judge would read the text at the bottom of the GPL, would see that said text is missing from the source code, and would draw some negative conclusions from that omission.

            My overall point is that license assertion practises as weak and as lazy as this are asking for trouble somewhere down the line. That trouble may never actually turn up - it's hard to see anyone actually being motivated to exploit the weakness - but that's not something that should be relied upon. What's the point of assigning copyright to the FSF if they're then not going to police projects they own to make sure that the copyright and license is being asserted as fully as possible?

            1. Paul Crawford Silver badge

              Re: Apple and GPL

              GNUradio is not a good example as a project as the code base and build system seems to be made up as they go along by folks with little in common, and often will not build from source! WTF are they doing?

              As soon as you see a project that has made its own build-tool instead of a common utility you can see there is crap coming...

            2. the spectacularly refined chap

              Re: Apple and GPL

              So as far as I can tell if you download the head of GNURadio today, you get a whole load of source code that makes no effective and binding statement as to what license applies, and a gratis but apparently purposeless copy of the GPL.

              OK, so read the GPL. It makes clear that you are not required to accept it. It does however point out that in the absence of it or another licence you don't have any permission to copy and redistribute the work.

              Copyright law is equally clear. The Berne convention states copyright is automatic and not dependent upon a copyright notice, reservation of rights or grant of limited rights.

              Amateurish attempts at sidestepping the licences like that are doomed to fail at a very early stage. The GPL has plenty of flaws and the FSF make plenty of claims I think would be thrown out if they were ever tested, but you can't simultaneously use the the rights granted under a licence while denying the existence of that licence.

              1. bazza Silver badge

                Re: Apple and GPL

                This is nothing to do with the acceptability or otherwise of the GPL, copyright, or the Berne convention. This is all about accurately and unambiguously defining what the license to copyrighted material is.

                I have read the GPL. It says:

                "To [Apply These Terms], attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found."

                Of the three things suggested there, the GNURadio project has done only one. An SPDX-License-Identifier tag does not by itself (and certainly not without an explanation) qualify as unquestionably fulfilling the other 2. (With deliberate misinterpretation to demonstrate the point), what is an SPDX License, and why would something called GPL3 identify it?

                This is why it is "safest" to do as the license text recommends, and why it is less safe to do otherwise. I'm wondering why the FSF allows a project it holds the copyright for to ignore the most important part of the FSF's own blessed license text.

                I've yet to hear of a judge who has ruled that an SPDX tag is legally binding. Can you point to anything in the Berne Convention, or any law, or case history that says it is?

                1. doublelayer Silver badge

                  Re: Apple and GPL

                  It's mostly common sense. Of course you can put a license statement at the top of all the code files, and that isn't a problem, but it's not really necessary. It removes some ambiguity, but ambiguity which doesn't really exist in practice. People know what it means when you have a bunch of code with a license statement at the root. They know what the license identifier means.

                  Consider a parallel. When I was at university, one of my textbooks was a draft which hadn't been published yet. The professor who wrote it and installed it in the required reading list sold copies to the students which contained a copyright statement and a prohibition on distribution on every page. Yet you'll notice most other books don't have such statements on every page, because everyone understands that stating that in one place applies it to all the other pages in the book. Similarly, putting a license file at the root applies that license to any copyrighted code in the repo by common sense, and a simple statement that the GPL applies makes this perfectly clear for each file. It doesn't matter if you understood that line, because you could look it up. It means what it has always meant, that the license for this file is the GPL.

                2. the spectacularly refined chap

                  Re: Apple and GPL

                  I haven't actually consulted the GPL for this since I'm on the phone down the pub, but that sounds suspiciously like the preamble rather than the licence itself. Regardless the circularity of your argument still applies: you are attempting to use what you perceive as a lack of an adequate licence statement as a voidance of that licence. That is a consistent position by itself, but in the absence of ANY licence you automatically have no right to copy the work at all.

        2. gnasher729 Silver badge

          Re: Apple and GPL

          You got this completely wrong. _Every_ copyright holder can sue over license violations, in this case both FSF and Apple could sue. Even if one of them didn’t want to, the other could.

          What multiple copyright holders prevent are changing license terms. The FSF could sell a proprietary license to Google if they wanted, but not if Apple holds copyrights and doesn’t agree.

          1. bazza Silver badge

            Re: Apple and GPL

            The multiple copyright holder aspect of the Linux kernel is seen as an unresovlable problem for that project. It's stuck on GPL2.

            1. doublelayer Silver badge

              Re: Apple and GPL

              Yes, exactly right. If people wanted to force it to have a different license, it would be difficult to do. This does mean they can't update to GPL3 and apply new restrictions whenever they want, but also that nobody can switch it to proprietary and apply theirs. I don't think we have profound concerns about the Linux foundation descending into a proprietary software outfit, but certain things which originally looked like a completely trustworthy system have proved not to be. From Freenode to Nominet to ISOC to Elastic, this journal is full of stories of places which were once seen as open taking things away. Is it so bad that it's impossible to do that with Linux?

          2. thames

            Re: Apple and GPL

            See my comment above. I said that every holder of substantial copyrights can sue. I also said that this is in fact a problem in some cases, as there have been instances where one copyright owner sued when the rest wanted to continue negotiating license compliance.

            And the FSF can't sell a proprietary license to Google because the copyright assignment contract commits them to always releasing the code under a license which is similar to the GPL.

            The FSF had some fairly good lawyers go over all of this looking for the sort of loopholes you are trying to imagine. They didn't just have some programmer bang out what looked good to him.

            1. bazza Silver badge

              Re: Apple and GPL

              See my comment above. I said that every holder of substantial copyrights can sue. I also said that this is in fact a problem in some cases, as there have been instances where one copyright owner sued when the rest wanted to continue negotiating license compliance.

              And I guess the situation with multuple copyright holders being involved is that there's absolutely no compulsion on any of them to agree, or give way. The only way round it is to re-write the relevant sections of code.

              I guess Google's "fair use" win concerning the Java APIs counts in such instances. If one half of an OSS project undertakes to write-out the other half's contrinbutions (e.g. to settle an impasse in a license discussion), they can do so. A black-box rewrite of the offending modules doesn't also have to re-do the interfaces for those modules, even if the creators of the interface were the other guys who are now being sidestepped.

    2. gnasher729 Silver badge

      Re: Apple and GPL

      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.

      1. bazza Silver badge

        Re: Apple and GPL

        Plus, clang/llvm is a whole lot better from a technical point of view as a tool chain. Gcc is very long in the tooth.

      2. YetAnotherJoeBlow

        Re: Apple and GPL

        Without Stallman, we would not have an objective C compiler.

        As an aside, when companies say the license is too convoluted, or that the company wouldn't touch X with a ten foot pole, it usually means they could not rind a way to exploit it, and that is not necessarily a bad thing.

        1. doublelayer Silver badge

          Re: Apple and GPL

          "Without Stallman, we would not have an objective C compiler."

          Wrong on many levels. The first objective C compiler wasn't the famous NeXT one. It didn't use GCC. So the statement is just wrong. Secondly, NeXT was very committed to that language. They used the core of GCC, probably because they were lazy enough to use a good C compiler if it was there, but if they hadn't had that, they probably would have written that part too or bought it in rather than giving up on their favorite language altogether. It would have been closed-source, but I'm sure someone would have implemented an open one since it got quite a lot of use. You can easily say that having the GPL improved the access to an open-source objective C compiler, or even argue that it produced a better compiler, but to argue that there would be no compiler without it is demonstrably incorrect.

    3. DrXym

      Re: Apple and GPL

      "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."

      Open source compilers have benefited from LLVM. For example Rust wouldn't exist at all but for it, but it's not the only language. C/C++/Obj-C devs benefit from the Clang compiler which can substitute for gcc /MSVC. Golang benefits from it. Even Apple's own Swift, which should be proprietary for your assertion to hold much merit is also open source.

      Now maybe there are some proprietary compilers that use LLVM but so what if true? Would they be any less proprietary if they crapped out GCC IR code instead?

      The REAL reason that LLVM is becoming popular is far more mundane. It has a well documented interface that any front end compiler can use to generate code for any backend it supports. Basically it is a separation of concerns with clean interfaces rather than the blurred lines and arcana that hooking into gcc toolchain might entail.

      1. Rich 2 Silver badge

        Re: Apple and GPL

        Another big advantage of LLVM over GCC is that the latter is deliberately designed to make it unusable from other tools (such as real-time syntax checking etc). This is not just my opinion - it is a stated goal of the project.

        LLVM on the other hand is very open and provides hooks into it that other tools can easily use. The bottom line is, it’s a much better design. And it’s not GPL which gives it several million bonus points in my book.

      2. thames

        Re: Apple and GPL

        You are apparently not very familiar with the history of Apple's Swift language. It was proprietary when they released it, and it was a considerable time before they decided to release an open source version. They could do this because of LLVM's license.

        1. DrXym

          Re: Apple and GPL

          Apple could have kept Swift proprietary even if gcc was the backend. There would have been nothing to stop them emitting RTL and utilising the backend the rest of the way.

          Same for Clang. But they didn't and both compilers are open source as is the backend. As I said, LLVM is a much cleaner, documented & portable backend. That is why language developers are showing a lot more interest in it than they ever did with gcc.

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon

Other stories you might like