Saturday, 10 January 2015

An open letter to Richard M. Stallman

Dear Richard M. Stallman,

As illustrated in a recent thread on the emacs mailing list, you are opposed to GCC dumping the AST, as you are afraid proprietary programs will be created to modify GCC's AST output, which would not be open source.

Let me put your fears to rest: nobody cares about using GCC's AST for this purpose.

If anyone wanted to do so, they would already use the non-copylefted clang and LLVM. By being stubborn about this issue, you are actually harming the copyleft cause.

You see, if someone cares about the issue enough, GCC will be forked, a fork that does exactly what you're afraid of. Remember EGCS? Remember libc5? These alone demonstrate a fork of FSF software is not only possible, but easy to promote with sufficient clout. This is not a good state of affairs for the FSF's definition of FOSS, and is not good for GCC.

To put it simply: nothing stops someone from making a GCC fork with the needed modifications to dump the AST (though I believe GCC can already do so with a plugin). It is quite irrelevant if it's copylefted — vendors have enough clout to push it as the blessed fork if they truly cared.

The reason that this hasn't materialised is not because copyleft is magically protecting GCC. It is because clang already does what people want, and there is no need to modify the AST or IR to do specific optimisations. You can just modify the compiler directly.

All this is accomplishing is reducing the effectiveness of GCC as a weapon against non-FOSS software to the point of having the injury potential to non-free software equal to a mosquito. Given enough time, GCC will be doomed to obscurity, at the hands of people with far more clout than the FSF. Clang itself was created under such conditions, and has become dominant in academia and business. This is truly unfortunate, as clang and GCC ought to coexist, for the good of them both — competition breeds innovation.

I may not necessarily agree with the ideals of copyleft (I do not feel it is more free than a copycenter license with my definition of free), but I do not want to see GCC doomed to obscurity. I ask you to consider your position carefully, lest your walled copyleft city is simply abandoned.

Respectfully yours,

Elizabeth Myers


  1. The man is a retarded fundamentalist; no words of reason will get through.

  2. This is embarrasingly wrong. This is absolutely a concern, but it's a measure of values: one one side is the copyleft GPL side that says "we should prevent the open source GCC program from being used for non-commercial purposes" and on the other side is reason and healthy expansion of tools- the quest to expand human intellect endlessly, openly. Only copyleft principles say that expansion must be curbed when it can be done in a way where proprietary principles might benefit.

    This article writes off what GPL has concerned itself with as irrelevant, but that topic is not irrelevant: it is very important. The question is one of trade-offs: where in the scope of things does that important fall.

    Further the assertion in this article- that GCC might be forked- is a distracting one, one that is going to egg at the question of how much scope the GCC can legally cover for itself and the question of how much legal grounds one could argue for a program becoming dependent on GCC via use of it's output of it's internal data-structures of representation. Obviously the case is shit: the abstract syntax tree constructed to represent code is an idea, but to raise this as the topical thread only heads into territory that squabbles over these legal distinctions.

    Better to hack at the roots of evil and declare the purity that the GPL seeks for to be a falsity, and a hack.

    1. "we should prevent the open source GCC program from being used for non-commercial purposes"

      That makes no sense. Nobody cares about preventing non-commercial uses. Furthermore, the GPL and the FSF do not even care about preventing *commercial* uses. The only thing the GPL is meant to prevent is *proprietary* terms. GPL software is perfectly fine for anyone to use either commercially or non-commercially, and everyone agrees about that.

  3. GCC doesn't need to be corporation friendly. What it technically needs is what it has already received: a rewrite in C++ to make it easier to understand.

    I strongly support GCC over Clang, and given that you have the option, why not use it?

    I would prefer my freedom to be kept in the hands of the only defender, Stallman.

    1. The only true defender of your freedom is yourself. Don't put that power in anyone else's hands. You can respect RMS, and even agree with his principles, but he is not the only one defending your freedom. To say such gives a single man too much power over your life. Even the FSF is a community comprised of many people.

      Additionally, I personally do not understand why emitting AST representations of code is at all "corporation friendly", as it would to me just seem to make this open compiler more open.

  4. > which would not be open source.
    *free software