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

26 of 1,098 comments (clear)

  1. Maybe if GCC wasn't such a pain in the ass by Anonymous Coward · · Score: 5, Interesting

    If the gcc codebase was a bit more reasonable and it didn't require an entire legal team to get permission to contribute to their code, maybe this wouldn't have happened.

  2. Sorry man, but not everyone agrees with you by Sycraft-fu · · Score: 5, Interesting

    In particular, not everyone agrees with his rather narrow definition of "freedom". Some developers like the whole BSD thing, which gives more freedom to the person who uses and implements the software, rather than the original developer. It is akin to the CC-BY license, where you want to have your stuff acknowledged as a source, but you welcome people to do with it as they please.

    I have no problem with the GPL, but the zealots that seem to think it is the only way EVAR that is ok and that people who want a less restrictive license like BSD are bad get on my nerves.

    1. Re:Sorry man, but not everyone agrees with you by squiggleslash · · Score: 5, Insightful

      Understand.

      One of the most ambigious words out there is "freedom." We can usually focus on some areas of broad agreement, but for the most part it's a word used more for its positive overtones than its accuracy.

      The Southern States, zealously supporting slavery, described themselves on the side of freedom. John Wilkes Booth wrote about glowingly. Why? Because the Feds letting the power holders in the South own slaves was, clearly, not interfering with their freedom to do so.

      I'm using the South as an great example, but there's an even better one, except the conversation would degenerate from here if I used it. Let's just say "You know who also said he was fighting for freedom?"

      I'm inclined to avoid using the word these days. In the mean time, using the term objectively, I think Stallman is probably on a better track than the BSD people. The BSD people would be better if it weren't for the existance of copyright. That changes everything, Stallman understands that, I don't think the BSD people do.

      --
      You are not alone. This is not normal. None of this is normal.
    2. 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.

  3. Not helping vs harming by Archangel+Michael · · Score: 5, Insightful

    so that all contribution to LLVM directly helps proprietary software as much as it helps us.'"

    And that is a problem why? THIS is the problem I have with RMS, is that anything that helps OTHER people is considered "bad" even if it helps you, equally.

    At some point, actively trying to NOT help others, even if it helps you, is counter Productive to your own cause. BSD license, doesn't harm ANYONE and is "more free" license, compared to GPL.

    --
    Agent K: A *person* is smart. People are dumb, stupid, panicky animals, and you know it.
    1. Re:Not helping vs harming by fredprado · · Score: 5, Interesting

      This comes from his belief that proprietary closed source software is dangerous and should be fought. So he is just being consistent. You may disagree with his assumption (I disagree at least with part of his ideas as well), but you can't say that his posture is inconsistent with his beliefs.

  4. RMS Right, Again by Anonymous Coward · · Score: 5, Interesting

    RMS is right, again. This does erode the GPL advantages.

    But, the answer is fairly straight forward and I don't understand why it wasn't done in the first place. LLVM's BSD license lends itself well to being forked into a GPLed fork LLVM(BSD) -> LLVM-NG(GPL) -> -> ->

    BSD helps proprietary software AND GPL. QED.

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

  6. 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.
  7. GCC isn't an IDE, Codebench source is free by raymorris · · Score: 5, Insightful

    > Except for the multiple paid versions of GCC compilers out there:
    > http://www.mentor.com/embedded...

    The product you linked to, Codebench lite, is neither proprietary, nor paid.
    It's simply NOT a "paid version of GCC compiler", because it's not something you pay for - it's free and you can download the source.

    That same company ALSO sells support services and an IDE. They don't sell a compiler.

    > http://en.wikipedia.org/wiki/S...

    Are you claiming that SNC is a GCC derivative? Citation? The wikipedia article mentions that they ship their compiler, which can be used INSTEAD OF the gcc-dereived compiler provided by the hardware manufacturer.

  8. Re:Lincense wars in... by Mdk754 · · Score: 5, Insightful

    Absolutely the case. I just find it entertaining that everyone gets so caught up in the how we make our software free that they forget it's still open source either way. Let the dev choose how they want others to use their code and don't worry about it. Do we have to have one license without the other? Can't they coexist peacefully?

  9. Re:More than one type of "freedom" by rujasu · · Score: 5, Funny

    Dude, RMS has his issues, but comparing him to Richard Marx? Harsh.

  10. Re:Why do free contracting work? by Freedom+Bug · · Score: 5, Insightful

    RMS couldn't care less if other companies profit off of his work.

    What he cares about is some company taking his work, making it better, selling it back to him and then not letting him hack on it, fix it, port it to unapproved hardware, use it for unapproved uses, et cetera.

  11. And? by ledow · · Score: 5, Interesting

    Which is only a problem if you actively do NOT want to help proprietary software.

    I don't want to hinder proprietary software. I want to boost open software. There's a difference.

    Proprietary software has it's place and, in a free market, people will choose whatever is best for them.

    As in many things (feminism, sexism, racism, etc.) there are always some people who will champion the cause right through equality and out the other side.

    You know what? I don't mind that proprietary software could take something like LLVM, do stuff with it, and sell it. So long as they can't stop ***ME*** taking LLVM, and doing what I want with it.

    Historically "Free" software was hard to find and so proprietary was your only choice. From there, I would prefer to have open software which proprietary people can take and use too if they want. Pretty much, nowadays, you can find an open equivalent of just about anything but the most locked-in of protocols/programs.

    But what I don't want is to tell everyone in the world they are an idiot if they don't open-source everything. All that does is make people hate you, and think you're an idiot. Instead, let's lead the way and **IGNORE** proprietary software, and put the lobbying efforts towards the choice of freedom, and writing good code.

    When their customers realise that there's better software out there, for free, they will have to up their game, or start rolling up their sleeves to help.

    We don't have to go around actively attacking them for daring to be proprietary. And we certainly don't have to get all snotty because a piece of software can be used by anyone.

  12. An eloquent argument but... by DRJlaw · · Score: 5, Interesting

    From the post:

    They object to the measures we have taken to defend freedom because they see the
    inconvenience of them and do not recognize (or don't care about) the need for them.

    Or they believe that the "inconvenience" outweighs the need for those measures -- e.g., the inconvenience is very large or the need is not as great as Stallman believes.

    Most of Stallman's post is quite balanced and reasonable. However, suggesting that another group's thought process is defective ("do not recognize" or "do not care") merely because they consider other factors and reach different conclusions than yours is a bit of a cheap shot.

  13. 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?

  14. NOW he realizes this? by unixisc · · Score: 5, Insightful

    LLVM/Clang has existed for a while now, and one of the primary motivations behind it was the license, particularly w/ GCC going GPLv3. Suddenly, RMS one day wakes up and realizes that it's not copyleft? That's the very idea!

    I am not an Apple fan, but despite his rants, Apple has done a lot for LLVM/Clang, which I daresay wouldn't be where it is were it not for Apple and other proprietary vendors feeding back their changes upstream, despite not having to.

  15. Can't say I disagree. by Rob+Bos · · Score: 5, Insightful

    Historically, BSD licensing has created some big problems, with companies taking software, adding major features, and then providing it as part of their own Unix without feeding the changes back into the central tree. It's arguable that overly-permissive licensing terms gave us the extremly divided and nasty Unix market of the 80s and 90s, and that the GPL provided a sort of herd immunity against massively differentiated forks by making it possible to get features back into the mainstream trees in a consistent and timely manner.

    RMS has a distressing habit of being proven right, and I wouldn't discount him quite so easily.

  16. ...but if you want free software to improve... by ciaran_o_riordan · · Score: 5, Insightful

    For someone who isn't interested in free software or open source, your approach works: go with the flow, everyone do what they want.

    The result it that some software turns into a hand-out for companies that, in the long term, are trying to make free software disappear.

    If someone wants to be able to more with free software, then there's a question of strategies for achieving this. The user gets the same freedoms from BSD and GPL, but GPL says anyone building on top of the software has to contribute their improvements to the community. Only fair really.

    So, yeh, the two can coexist, but the GPL does a lot more to ensure that we have great free software in the future. If you think that's a good thing, then use the GPL.

    1. Re:...but if you want free software to improve... by Grishnakh · · Score: 5, Interesting

      The user gets the same freedoms from BSD and GPL, but GPL says anyone building on top of the software has to contribute their improvements to the community. Only fair really.

      Technically, that's not what the GPL says. It says you have to distribute the source (or make it available) to anyone you distribute your software (binaries) to. In practice, that usually means making the source code available to "the community", but it doesn't have to. If you're a company selling that software, you only have to give the source to your customers. Of course, they have no restriction on redistributing it, so it goes to the community from there, so it's a minor distinction.

      I wonder what RMS would think of a more "business-friendly" license where a commercial entity selling software could take software that's publicly-available, modify it, and then distribute that to paying customers, but not back to the community, but where the license required them only to distribute the modified source code to those same customers, however the customers were not allowed to distribute it themselves. This would be good for customers since they'd have the source code available "just in case" (the vendor went under, or they wanted to make their own modifications for their own use), and the vendor would like this because they wouldn't be "giving the software away". The upstream sources wouldn't like it as much as truly Free distribution, but at least anyone who becomes a customer of that vendor isn't getting screwed over.

    2. Re:...but if you want free software to improve... by Above · · Score: 5, Interesting

      So, yeh, the two can coexist, but the GPL does a lot more to ensure that we have great free software in the future. If you think that's a good thing, then use the GPL.

      I think that's a debatable point, and that neither side has the high ground.

      The GPL argument is that anyone who produces a derivative work must contribute back to the project, and thus the GPL generates more contributors.

      The BSD argument is that there will always be people who create a non-free option, and if that is done by extending open-source the community may get some, if not all benefit from them.

      I tend to think the second argument is better. Relevant to this discussion, Apple has taken free software like LLVM and turned it into something they package up in proprietary form (Xcode). Sure, we don't have all of Xcode for free, but then that was never an option. Apple was going to make that proprietary no matter what. However, there were parts of it Apple saw value in having open source, and getting a larger community, and in not being the long term maintainer, so they had their engineers do work on it and contribute those parts back to the community. That's part of why LLVM is better than gcc today. If LLVM had not been under a BSD license they wouldn't have used GCC, it's corporate poison, they would have rather licensed Intel's C compiler or something and the community would have gotten absolutely nothing.

      The GPL is all or nothing, and the GPL community often gets absolutely nothing by insisting on all.

  17. Re:Lincense wars in... by ceoyoyo · · Score: 5, Insightful

    Then use only GPLed software on your computer.

    This story is about Stallman complaining because other people don't agree with his vision. Too bad.

  18. Re:Us versus Them by Anonymous Coward · · Score: 5, Insightful

    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.

    Isn't it sad the way he sees this as a loss in the war of "Us versus Them" rather than as a "technically superior compiler" resulting in a bigger pie for everybody?

    Well he doesn't just care about technical superiority. He has never claimed that "free software" is important because it is inherently technically superior to proprietary code, or that it will always be more secure.

    In fact, the term "open source" was coined during the late 90s dot-com bubble precisely because Stallman has always argued that there are important ethical principles at stake in software development, and some people were worried that this concept of "behaving according to a set of ethics" would sound too much like hippy 60's nonsense. Businesses might be discouraged, and then how would we have got crazy stock market floations, dizzying P/E ratios and Scrooge McDuck-style money baths? Instead they wanted a way to push this growing set of software with revised presentation approach that was value-neutral, and so they came up with the idea that by rebranding it as "open source" and stressing only its supposed technical merits, the men in expensive suits would not be disturbed from their vocation of grabbing as much money as possible.

    You might not agree with Stallman's view on ethics - many don't - but it is a little sad to see how much crap he gets even for suggesting that people should stop to consider ethics before reaching for "a bigger pie for everybody".

  19. A garden of pure ideology. by mbkennel · · Score: 5, Insightful

    Right.

    FSF doesn't have just an ideology of helping free software, it has an ideology of hurting proprietary software.

    Clang and LLVM are technically superior because they've been heavily modularized. FSF actively didn't want to do this with GCC and made it difficult because they wanted to make it difficult for GCC to be used with external tools, which hypothetically, could have been non-free software.

    Yes, the LLVM license & design, in contrast to GCC, permits Apple to integrate it with proprietary Xcode, but it also aids tools development from academics and free software writers.

    The facts are that GCC was there first, and precisely because of the political attitude of FSF which resulted in technical kneecaps flowing from that, other parties spend lots of money to develop a technically superior, and politically superior product. And today, a proprietary company with enormous bags of money is paying highly skilled people to develop slightly-less free open-source software.

    FSF and GCC had its purpose and ideology exposed to the world, a significant community, and it lost. With a more compromising attitude FSF would have found Apple contributing significant resources to GCC--after all it was the original part of NextSTEP and early MacOS development.

    I think GCC is very impressive and have used it for decades. Soon enough, though the future will be LLVM.

  20. Fork it. by flymolo · · Score: 5, Insightful

    If GPL is superior, do a GPLed fork of LLVM/clang and beat the BSD licensed version with their own code.

    You should be able to grow faster.
    You have access to their improvements, while they don't have access to yours.
    But then you'd be doing what you criticize corporations for, what you fear being done to LLVM by corporations.

    You obviously could, but it feels wrong to me. But if it's freedom you are protecting why does it feel wrong?

    --
    "Sometimes it's hard to tell the dancer from the dance." --Corwin Of Amber in CoC
  21. Re:LLVM funding model doesn't scale by Nemyst · · Score: 5, Insightful

    LLVM are only getting funding because Apple wants to undermine GCC.

    You need a reality check badly. Apple doesn't give a shit about GCC, regardless of what your self-centered mind might think. They want a compiler that's good for their platform and lets them package it into Xcode. GCC would make this impossible. LLVM makes this possible. That's it. Perhaps if people like you didn't always have this absurd notion that corporations are specifically out to get you (instead of merely focusing on growing their business), you wouldn't be stuck as you are with many GPL projects withering or changing licenses.