Ben Laurie blathering

Will GPLv3 Kill GPL?

I started looking at the LLVM project today, which is a replacement for the widely used gcc compiler for C and C++. My interest in this was prompted by thinking once more about static analysis, which it is pretty much impossible to use gcc for, and is likely to remain so, because Stallman opposes features which would enable it.

Anyway, being an optimist, I thought perhaps the interest in LLVM and clang (the C/C++ front end) were prompted by a sudden surge of interest in open source static analysis, but asking around, it seems it is not so.

The primary motivator appears to be GPLv3. Why? Well, here’s a few facts.

  • GPLv3 is not compatible with GPLv2. Don’t take my word for it, believe Richard.
  • Linux is, of course, famously GPLv2 without the upgrade clause, and hence GPLv3 incompatible.
  • FreeBSD, for example, are unlikely to accept software into the core that is GPLv3. No new licence can be used without core team approval and I am told this has not been given for GPLv3 and is not likely to be.
  • Commercial users of open source have always been a bit twitchy about GPLv2, but they’re very twitchy indeed about GPLv3. And don’t tell me commercial users are not important: these days they are the ones financing the development of open source software.

GCC is, apparently, going to move to GPLv3 – it says here that GCC 4.2.1 would be the last version released under GPLv2 (which is a bit rum, because I just checked GCC 4.4 and it is GPLv2. What gives?).

So, pretty clearly, there’s a need for a C/C++ compiler that is not GPLv3, and this, it would seem, is the real driver for LLVM.

Obviously this issue is not confined to GCC. As more software moves to GPLv3, what will the outcome be? Will the friction between GPL and other licences finally start persuading projects that free != GPL, and that BSD-style licences better suit their needs? Or will it just be that GPLv3 fails to make headway? We can only hope for the former outcome.


  1. > So, pretty clearly, there’s a need for a C/C++ compiler that is not GPLv3

    Where did you ‘pretty clearly’ demonstrate this need, exactly?

    Even Richard Stallman says that they two licenses ARE compatible if released under v2 with the “or later” clause:
    > However, if code is released under GPL “version 2 or later,” that is
    > compatible with GPLv3 because GPLv3 is one of the options it permits.

    Anyways, I hope you find the compiler that you’re looking for. I certainly don’t feel that “free != GPL” and I don’t hope for any type of BSD licensing in the software that I support, as I want that support to reach everyone, not just those who take the code and close it off for their own purposes. That, to me, seems !Free.

    Comment by lefty.crupps — 16 Jan 2009 @ 16:42

  2. static analysis, which it is pretty much impossible to use gcc for, and is likely to remain so

    I know this isn’t your main point, but one of the talks at 25C3 recommended Dehyrda GCC, which I think is designed to do this. I don’t have any experience of the tool though.

    Comment by Steven Murdoch — 16 Jan 2009 @ 19:07

  3. What’s wrong with Watcom?

    Been a nice compiler for decades

    Comment by Peter Laurie — 17 Jan 2009 @ 8:53

  4. I think the time that gcc die is nearing..

    Comment by lujiandong — 18 Jan 2009 @ 5:40

  5. I thought LLVM used GCC as a front-end, so it’s not a complete replacement.

    Comment by Mark Seaborn — 20 Jan 2009 @ 14:14

  6. LLVM can use GCC as a frontend, but there’s also ongoing work on the “Clang” frontend:

    Comment by Ahnfelt — 16 Feb 2009 @ 15:18

  7. The saddest thing is that there is no alternative to the huge GCC behemoth.

    Comment by mark — 16 Feb 2009 @ 15:19

  8. You may also be interested in my hybrid licensing ideas.

    Comment by Ajay — 26 Aug 2009 @ 7:58

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.

Powered by WordPress