Slashdot Mirror


FSF's Richard Stallman Calls LLVM a 'Terrible Setback'

An anonymous reader writes "Richard Stallman has called LLVM a terrible setback in a new mailing list exchange over GCC vs. Clang. LLVM continues to be widely used and grow in popularity for different uses, but it's under a BSD-style license rather than the GPL. RMS wrote, 'For GCC to be replaced by another technically superior compiler that defended freedom equally well would cause me some personal regret, but I would rejoice for the community's advance. The existence of LLVM is a terrible setback for our community precisely because it is not copylefted and can be used as the basis for nonfree compilers — so that all contribution to LLVM directly helps proprietary software as much as it helps us.'"

4 of 1,098 comments (clear)

  1. Precisely by Anonymous Coward · · Score: 5, Informative

    This is exactly the problem with the GPL. Its advocates want everything to be free, and are giddy about the possibility of bringing suit against people who so much as linked to a GPL'd library and forcing their work to be GPL.

    It's viral, and not in a good way. Comments like "all contribution to LLVM directly helps proprietary software as much as it helps us" show your cards. Stallman not only is an advocate for free software; he would rather harm or hamstring free software in order to damage proprietary software.

    I'm not about to defend the practices of certain large corporations. But in education and medicine, institutional rules over IP forbid many people I know of from even linking to a GPL'd library. For us, if it's GPL'd then it is off limits.

    Also, having a friendly non-adversarial relationship with industry is useful and will result in much broader use of your software. For most FOSS projects, exposure and reaching a critical mass of contributors is crucial. The BSD is inherently helpful in this case. The GPL just scares people off, because it asserts control over code you haven't even written just because you decided to use something that happened to have a GPL license.

    So, no, Stallman, I disagree and furthermore I condemn your argument as unproductive, wrong, and unhelpful. You might have ground to stand on if LLVM were closed source but it's open - in fact, it's under a more permissive license than the GPL.

  2. Re:Lincense wars in... by Frosty+Piss · · Score: 5, Informative

    Many people started moving away from the GPL with version 3.

    --
    If you want news from today, you have to come back tomorrow.
  3. It's about tactics: GPL helps free software by ciaran_o_riordan · · Score: 5, Informative

    Background reading:

    BSD, LGPL, and GPL are all free software licences. The user gets the same four freedoms in each case (use, study, modify, redistribute). But, using the BSD licence (or the LGPL) takes away an incentive to contribute to the free software project.

    GCC's technical advances create a big incentive for developers who are interested in compilers, and for companies with a commercial interest in a good compiler existing for their platform, to contribut to GCC - helping free software whether that's their priority or not. With a BSD-licence project, developers can choose to ignore GCC and fork LLVM instead, so neither GCC nor LLVM benefits.

    LLVM weakens GCC's ability to attract free software contributors. That's why Apple funds LLVM.

    It's not difficult to see which approach works best: Which OS has more contributors, *BSD or GNU/Linux?

  4. Re:Sorry man, but not everyone agrees with you by ray-auch · · Score: 5, Informative

    - Is part of the bigger picture is that GCC doesn't make it easy to embed into an IDE?

    Yes, and the fact that that is (or was) deliberate on RMS / GGC's part, therefore changing it required policy / politics not just contributing some code changes.

    - If LLVM is "cleaner" under the hood so you don't need to be a compiler expert to modify / fix it, shouldn't that be a wake up call for GCC to clean up the code + architecture ?

    In one sense it already has - on gnu.org there are relatively recent pages around plans for modular gcc. Unfortunately it is now years behind on this and may never catch up, as many of those interested in working on things like this will probably use CLang / LLVM rather than work on getting GCC to do the job.

    There is also the issue that historically GCC architecture is deliberately unclean in order to prevent your previous (and following) suggestions. RMS does not want GCC to play any part in a toolchain/process which might have non-GPL parts, but that can't be controlled with copyright licence because simply reading / producing e.g an intermediate language does not make a derivative work. Hence GCC is locked-down technically so you can't access any of the intermediate steps. Some of it is probably historical accident of complexity and some is by design - but also by design it hasn't been cleaned up (so far).

    Essentially, in order to satisfy a licencing goal that can't be achieved with a licence, GCC has been deliberately crippled.

    RMS:

    The GNU Project campaigns for freedom, not functionality.
    Sometimes freedom requires a practical sacrifice,
    and sometimes functionality is part of that sacrifice.

    - If I want to just make a front-end for a new (programming) language why is it easier with LLVM then with GCC ?

    Because LLVM IR is _much_ better documented, because that was a goal of LLVM project. For political reasons why that is, see above.