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

60 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 Aaden42 · · Score: 4, Insightful

      It’s about giving freedom to the code.

      I dunno about you, but I’ve never had any code I’ve written pass a Turing test then demand emancipation. Ultimately, the person who spent the time to create something is the one who should get to choose what “free” means to them and release their work with the appropriate terms.

      Some developers prefer to favor the freedom of the people who get code from them, over the freedoms of people who might (or might not) get the code from someone else, second hand. That’s BSD licensing. I give you my code, you do what you want with it, including telling other people they can’t do the same.

      Other developers prefer to make commercial exploitation of their work difficult. They say you can use their code, but you have to give both the original code and your changes to everyone else. That’s GPL.

      Both are valid options, and there’s no reason the developers shouldn’t be “free” to release their code under whichever terms are most attractive to them. RMS’ claim that LLVM is somehow a “setback” because its developers choose to favor their immediate users’ freedoms is offensive. Stallman is in effect saying that developers *shouldn’t* have the freedom to decide how other people can use their code.

      Based on what I’ve read of RMS’ writings, I don’t buy his assertion that it’s about freedom of the code. It’s about undermining proprietary commercial software and moving towards a communism of software. I also think he’s a little bit jealous that LLVM really is a technically superior compiler suite and much more clearly written to boot.

      I really don’t have very much tolerance left for people claiming you can only be free if you do it their way. You keep using that word, but I don’t think it means what you think it means.

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

    1. Re:Precisely by orasio · · Score: 4, Insightful

      The thing is that you are worried about computing in the current world.
      RMS is worried about the future of computing, and has helped shape it, winning several battles, even though he is losing the war.

      Of course there are IP laws/contracts/whatever that don't let you link to GPLed code. That's why it's GPLed, so the work of free software developer does not help those who want to shrink our freedom.

      You can use our work, if you share, if you don't share, go build it yourself. It _is_ us versus them, and RMS sees it very clearly.

      Fifteen years ago, RMS rants about a dystopian future looked exaggerated. Right now, they look like old news.

      You are right that the GPL is a PITA when you want to work with proprietary software, that's not a bug, it's a feature, which BSD software lacks. That's because the GPL is supposed to have a long term effect.

    2. Re:Precisely by steveha · · Score: 4, Interesting

      But isn't that why libraries are (or should) be licensed under the LGPL, so that there are no "viral" issues? You're not even allowed to link to an LGPL library?

      RMS doesn't really like the LGPL. The first L used to stand for "Library" but these days it stands for "Lesser" to indicate its proper place. RMS would rather all libraries be GPL. (Of course, RMS would rather all software of any sort be GPL.)

      https://www.gnu.org/licenses/why-not-lgpl.html

      LGPL actually contains some strange provisions that can be a deal breaker. For example, LGPL requires that you take no steps to prevent your customers from reverse-engineering your software. I once worked on a project where part of the technology stack came with a legal requirement to take steps to prevent customers from reverse-engineering, so LGPL was just as radioactive as GPL.

      IMHO, LGPL is not a good license and should go away. It should be replaced by the GUILE license, which is simply GPL with an exception: linking the library does not in any way invoke the viral GPL features. So, if you fix bugs or add features in the library, you must share your code so other users of the library gain the benefit; but you are free to link the library with proprietary software if you wish.

      The above will not happen, as RMS and the FSF consider the viral aspects of GPL to be a feature.

      --
      lf(1): it's like ls(1) but sorts filenames by extension, tersely
  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. Re: Admitting LLVM's technical superiority? by Anonymous Coward · · Score: 4, Insightful

    Yes and no. LLVM is not as good at most things but RMS and everyone else can see that LLVM has a superior overall design, ala structure, extensibility, readabiliy, etc. He sees the writing on the wall.

    Folks here demonize RMS as being blinded by ideology, but the man is briliant and sees what is real.

  8. GPL/BSD by znanue · · Score: 4, Insightful

    I'll bite. I do think that RMS has a point about the open source compiler of record being under the GPL, as well as the operating system and other essential build tools and core platform elements. Many people will rightly point out, yet again, that GPL is a pretty aggressive license for most userland software, but when it comes to the platform itself, this aggression seems to be quite desirable. Also, these value statements seem temporally bound to the moment. Maybe in the future we will live in a set of legal and intellectual circumstances where RMS has basically won and that maybe a good thing.

    So I wonder he isn't right about it being sad that LLVM is not under copyleft.

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

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

  11. It's really simple... by dbc · · Score: 4, Informative

    People are focusing on BSD versus GPL, but really, the thing to see here is Stallman's definition of "community". If you would ever let your software be used by for-profit interests, you are not part of the community he is speaking of, and claims to speak for. It's just that simple, no flamage or politics implied by saying that.

    I've long said that people should chose a license the way they choose a screwdriver, not the way they would chose a religion. What are you trying to achieve? Want total world domination for a new protocol? Go BSD. Want to keep for-profit entities from rent-seeking based on your work? Go GPL.

    It's OK to be part of Stallman's community. It's also OK to not be part of Stallman's community. It's OK for RMS to be dissapointed with people who are not part of his community. It's OK for people not part of Stallman's community to not give a rat's ass what RMS thinks.

    I'll say this though, the number times I've originally dismissed one of RMS's ideas a crack-pot loony assertion, and then five years later come to see the point he was trying to make, is non-zero.

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

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

  13. Re:Why do free contracting work? by SuperKendall · · Score: 4, Insightful

    I like to think of it as, why are you doing FREE work for a proprietary company that has no obligation to you

    Because it makes everyone's life better. If that's not reason enough, I don't know what else to tell you.

    What's wrong with doing work that you expect ZERO acknowledgement from anyone? I learned something doing the work, and something else somewhere I might use one day works better as a result. That's a win no matter how jaded a filter you chose to apply.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  14. 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.

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

  16. Re:Lincense wars in... by jellomizer · · Score: 4, Interesting

    The part of Software freedom, is using software to do things with it that the original author may not agree with.
    The GPL 2 had enough loopholes in it to allow for companies to make money off of it, where they will normally contribute back. The GPL 3 put screws on the company, because in RMS land the only way you can make money off of software is the following...
    1. Redistribution - this is a dying market as the need to ship and package distributions is reduced.
    2. Consulting/Training services - this work just as long as your application is complex enough to need such. If you have an easy to use app who needs to hire a consultant to use it.
    3. Maintenance/Support - This assumes your software is so mission critical that it will need maintenance and support.
    4. Fame - Your project is so popular you are famous for making it.
    5. Cross License - You have an other license for your benefit.

    Now there are projects that are free for just being free, built as a hobby, or a side affect of an other project you are working on. Those are all fine and good, however those are difficult to keep up to date.

    Now the BSD is even more open initially, you as the developer just kinda puts it out there. And yes companies and take and profit from your work... However they become dependent on it and it is their best interests to keep the project running, and will work with the main group to keep it things up to date.

    --
    If something is so important that you feel the need to post it on the internet... It probably isn't that important.
  17. Re:More than one type of "freedom" by Microlith · · Score: 4, Insightful

    Why RMS is so against that yet claims to be pro freedom, I'll never understand.

    Because his goal is to ensure that no one finds themselves in a position where they're using a binary without sources. Someone in that position is not free, and the GPL is his tool to ensure that doesn't happen.

  18. LLVM was offered for GCC-Next by Pinky's+Brain · · Score: 4, Insightful

    It would behove Stallman to admit that his/GCCs insistence on obfuscated/incomplete intermediary representations was never tenable in the long term. If they had just adopted LLVM for GCC-Next when it was offered this wouldn't have been a problem ... in the end GCC had no choice to follow their lead any way with LTO, proving that the argument that it made proprietary backends too easy should have never been used.

    1. Re:LLVM was offered for GCC-Next by BonzaiThePenguin · · Score: 4, Informative

      Holy moly, I thought you were joking about that:
      http://gcc.gnu.org/ml/gcc/2004...
      http://gcc.gnu.org/ml/gcc/2007...

      Are we really supposed to be rooting for the people who will only share if they get something in return, and will intentionally make things difficult to try to get their way? That's hardly the noble cause they make it out to be. And then when LLVM tries to be as easy to use as possible and doesn't ask for anything in return, they belittle it.

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

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

    1. Re:It's about tactics: GPL helps free software by Anonymous Coward · · Score: 4, Interesting

      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?

      I work in a commercial software development company. We use OSS components, and we contribute back to the projects. They are all BSD/Apache variants. Our lawyers have forbidden us to touch anything GPL under any circumstances. It isn't as simple as many here claim that it is about whether we want to be contributors or freeloaders. We do contribute back in the OSS projects we use. But GPL is viral, and can very easily infect and "liberate" proprietary IP that is part of the solution. That is a no go. As for "which OS has more contributors", which web server has more contributors? :)

    2. Re:It's about tactics: GPL helps free software by ciaran_o_riordan · · Score: 4, Insightful

      > then LLVM would receive less contributions and GCC would reign supreme.

      Except that Apple is funding LLVM. It suits their agenda, and their goal isn't to give a long and fruitful life to free software.

    3. Re:It's about tactics: GPL helps free software by tlambert · · Score: 4, Insightful

      But, using the BSD licence (or the LGPL) takes away an incentive to contribute to the free software project.

      Unfortunately, this ignores the distinction between "tactical" and "strategic", and between "foundation" and "application".

      Let's start with "tactical" vs. "strategic":

      If a set of code based on BSD licensed software is merely tactical, then you are vastly better off offloading the ongoing support for that to the larger community, and are therefore incentivized to contribute your changes back to the community. If a set of code based on BSD licensed software is strategic, however, then you are better off keeping it proprietary, since it represents the value your business brings to the market. By keeping it proprietary, you leverage your ability to produce something which is either difficult or nigh impossible for a competitor to duplicate in order to keep yourself in business.

      In the strategic case, however, you are still incentivized to contribute code back.

      A strategic advantage may not, and probably will not, last long term. At that point it becomes tactical, and you move on. But being tactical, you contribute it back. You may in fact do that when the code is in the process of converting from strategic to tactical, to avoid an upstart filling that ecological niche, and making it more difficult for you to maintain your code going forward. This is what we did when we contributed the Soft Updates code back to FreeBSD.

      Another reason to contribute back to a project when you are utilizing strategic code is to establish well defined interfaces between the tactical code in the Open Source project, and your strategic code that you maintain internally. For this to work out, the interfaces you design, and the boundaries between the code, has to be useful to others, or the contributions will not be adopted by the project. Again, you are incentivized to let parts of the strategic code out in order to support reduced ongoing maintenance of the strategic code you keep proprietary.

      Moving on to "foundation" vs. "application":

      Why did TCP/IP win? I was at Novell at the time during which the protocol basis for the commercial Internet was being decided. Novell was attempting to swing a deal with AT&T to get them to deploy a commercial network topology based on SPX/IPX; at the same time, Microsoft was attempting to get AT&T and Sprint, and whoever else they could get on board, to deploy a commercial network based on NetBIOS/NetBEUI.

      Although TCP/IP was vastly superior, despite its known flaws due to both the three way handshake and the socket shutdown mechanism, it was a close race: technical superiority has often lost out in the market to technically inferior technology with a large marketing budget and proprietary leverage for the purpose of profit. So why did it win? It won because of the BSD license: anyone could take the code and stuff it into a networking product or end node client or server system on a royalty free basis, and they could do it using the same code that their competitors were using.

      TCP/IP is a foundational technology. It has importance not because of its utility in and of itself, it has importance because of the ability to build interesting and useful application code edifices on top of the foundation it provides. It isn't itself an application.

      Applications, on the other hand, until there is an Open Source equivalent, under whatever license, are not foundational, they have value unique unto themselves. This is why Photoshop and Microsoft Office haven't been displaced, and still continue to sell.

      The mistake RMS is making here is considering a compiler as an application. A compiler is not an application, it is a foundation; further, it's not strategic, it's tactical. There's no reason to try and force the release of strategic or application code through the auspices of a license, because there isn't any.

      And this is why companies are investing into LLVM rather than GCC: the bag

    4. Re:It's about tactics: GPL helps free software by w_dragon · · Score: 4, Insightful

      In every software company I've worked at the codebase is roughly 5% critical, complex code that makes the company money, 95% boilerplate utility, ui, boring code that everyone tries to find ways to reduce. For that 5% it's important it be GPL-free since there's no way in hell the company will release it, and GPL violations can be expensive. Anything it links against in the other 95% must also be GPL-free. The rest of it can contain whatever free code reduces work for developers. Fixing a bug in boost may help my competitors, sure, but maintaining a fork just so I can jealously guard a little change in a third party library is a shocking amount of work long-term. The money rests in giving back and getting someone else to maintain as much code as you can, other than your core competence.

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

    1. Re:NOW he realizes this? by Goaway · · Score: 4, Insightful

      To clarify, Apple is the upstream here. They created clang themselves, and they never needed to even launch it as an open source project. They did anyway, because there are huge and tangible benefits to doing so, and everybody gains from it.

      Seems to me RMS does not actually believe that an open development model is better, since he feels the need to force people into it.

  22. Re:More than one type of "freedom" by Microlith · · Score: 4, Informative

    It means that they're free to go to someone who can do something with it, and have them work their magic. It ensures that there are always options.

  23. Consistent, yet counter-productive. by nobodyman · · Score: 4, Interesting
    Parent was arguing that Stallman's behavior was counter-productive -- I think we agree that Stallman is consistent. However, I see this as less of a GPL-vs-BSD thing, and more of a troubling window into Stallman's personality. Here Stallman reveals that his primary factor for evaluating the worthiness of a product is not quality, openness, or even license. Rather, he evaluates software based on it's ability to harm his enemies. This is not a healthy opinion to have, let alone vocalize.

    Are we going to swear off eating apples because they provide the same level of nutrition to Bill Gates? Fuck that: I like apples

  24. Can't we all just get along? by SirGarlon · · Score: 4, Insightful

    Stallman said,

    ... all contribution to LLVM directly helps proprietary software as much as it helps us.

    as if that were a bad thing.

    He's confusing the promotion of free software with opposition to proprietary software. Those are two different things. The former is a productive activity that helps me as a user. The latter is an uphill battle that doesn't even really need to be fought. The best way to defeat proprietary software is to provide a superior, free alternative.

    I like to think of myself as one of the biggest Stallman fans out there. I think he is a visionary, and I totally agree with him that free software is important to a free society and the betterment of the human condition. But holding back from adopting a good compiler because someone proprietary vendor might also benefit sounds like cutting off our noses to spite our faces.

    In fact, if, as Stallman says, "sharing with your neighbor" is an ethical imperative, then one could say he's applying that selectively. (I am aware of his argument why this is the right thing to do; I just don't accept it.)

    --
    [Sir Garlon] is the marvellest knight that is now living, for he destroyeth many good knights, for he goeth invisible.
  25. 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.

  26. ...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 hairyfeet · · Score: 4, Interesting

      Citation please? Because from what I've seen the two biggest users are Apple, who give back with projects like CUPS, and Google who likewise have been sharing their work upstream.

      What I personally find ironic as hell is if you take pretty much any pro GPL rant and change a few words, it looks like yet another letter from the RIAA as with both they rely on FUD instead of facts. Could somebody take without giving back with BSD? Sure but it would become more and more expensive to do as their fork gets farther and farther away from mainline so its in their own best interests to get their work into mainline so their stuff works without major rewrites. the only real difference that I can see is that BSD doesn't hold a gun to your head and make you give back and there is a reason for that...you aren't "taking" anything, you are just making a copy. The mainline is still there, the "big bad corp" can't take it away, all they can do is make a copy and if they want to fork away? That is THEIR business, doesn't affect the mainline one way or the other.

      Sound familiar? Its the same argument against attaching artificial scarcity to bits that those against the *.A.A have been using for years and I would argue what both the *.A.As and those that slam BSD FOSS licenses want isn't "more freedom", its you to do things THEIR way. Well RMS burnt a lot of bridges with GPL V3 so many devs are choosing to use something else. its their code, its theirs to decide. Why does this frighten the GPLers? The code is still there, help thyself, what is soooo horrible about not forcing additional rules upon the code that you would use RIAA style FUD?

      --
      ACs don't waste your time replying, your posts are never seen by me.
    3. Re:...but if you want free software to improve... by jedidiah · · Score: 4, Insightful

      > Because from what I've seen the two biggest users are Apple, who give back with projects like CUPS,

      You mean that project that was fully formed and perfectly usable long before Apple decided to "buy" it.

      If Apple did in fact actually improve CUPS, it's very non-obvious.

      --
      A Pirate and a Puritan look the same on a balance sheet.
    4. 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.

    5. Re:...but if you want free software to improve... by ranulf · · Score: 4, Insightful

      Someone building on top of a BSD-licensed software project has the additional freedom to retain and not release changes they make to that software when distributing their own build. GPL advocates say that this is a freedom that people shouldn't have, in order for all players to be even.

      Yes, this is exactly the issue. GPL isn't "more free" than BSD. Quite the opposite. GPL is far less free as it grants the users less freedoms.

      The BSD approach is "Here is something nice I made - have it and do what you like, hope you have fun!"
      The GPL approach is "Here is something nice I made - you can use it, but if you you have to let me play with you stuff. I don't care that your thing might be vastly better or more complicated than mine, if you're using my stuff you sure better make sure I can use everything you make."

      Which is really more free?

    6. Re:...but if you want free software to improve... by samkass · · Score: 4, Interesting

      >>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.
      >
      > No company is trying to do that, especially not one that is relying on free software for their products.

      Apple is.

      Their current flagship platform is openly hostile to Free Software and even the concept of open systems where the end user has full control over the hardware.

      Near as I can tell, Apple isn't doing anything to try to make Free software disappear. They are, however, creating many alternatives ever since GPLv3 made it unviable for them to continue to participate in that community as much. Even now, though, if you look at all the packages they use and contribute to as part of MacOS X (the core of which is all open source, although most of it isn't Free Software), there are many GPL packages among them: http://www.opensource.apple.co... . It does seem that with companies like Apple actively participating in Open Source but not as actively participating in Free Software, that to a certain degree it's proving many of the anti-GPL folks' points and probably really pissing off RMS.

      --
      E pluribus unum
    7. Re:...but if you want free software to improve... by Dahamma · · Score: 4, Interesting

      That's part of why LLVM is better than gcc today.

      THIS is one of the most interesting points in the comparison. Why is LLVM replacing GCC? Is it technically superior, is it because of licensing differences, etc? And if it's technically superior, why is that? Because there was less legacy, because the maintainers/developers were better/had fewer internal issues, or because the license encouraged *more* contribution?

      Rather than Stallman and others whining about licensing, maybe they should analyze WHY it has become so popular. Ironically, RMS seems to have given up on all engineering rigor and decided legal and marketing issues are more important, which seems seems much more against open source principles than these licensing differences.

    8. Re:...but if you want free software to improve... by smash · · Score: 4, Informative

      Because it hit the scene when BSD was involved in a legal dispute. I believe Linus himself is on record as saying that if BSD was available at the time he would not have started Linux.

      --
      I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
  27. I stole the free couch you gave me. TAKE THAT!! by nobodyman · · Score: 4, Insightful

    Let's see. If they don't care if derivatives wind up in closed-source projects, I'm gonna take a wild leap and predict that they won't care if derivatives wind up in open-source projects.

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

  29. Re:Proprietary Software built on Open Standards by poetmatt · · Score: 4, Insightful

    No, it's not. That's not a choice, it's a false dichotomy.

    Open software constructed with open standards is preferable to proprietary software. You're implying that a lesser evil is somehow still ok. No thanks.

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

  31. Re:More than one type of "freedom" by Dagger2 · · Score: 4, Informative

    With GPLed software, they're free to do go anybody who can do something about it. With propriety software, there was only one place to go, and if they say "no" or they screw it up then you're fucked. Personally I wouldn't call those two situations exactly the same.

  32. Supporters and leachers ... by perpenso · · Score: 4, Insightful

    Except that Apple is funding LLVM.

    Sort of undermine's Stallman's argument about corporations not supporting the community. There are supporters and there are leachers, both on the individual and the corporate side.

    It suits their agenda, and their goal isn't to give a long and fruitful life to free software.

    Nor is it their goal to destroy free software. They have supported many free software projects for many years. Yes those projects benefit them, so what? All that matters is if they contribute or if they leach. They seem to contribute.

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

  34. Winning the Battle by Rob+Riggs · · Score: 4, Interesting

    I wonder if RMS realizes yet that by winning the battle (not making the GCC available for other tools to use) he has lost the war for GCC and ultimately GNU. There are great free software projects, such as Eclipse, KDevelop, and others, that could really use a decent C++ parser. But, if the architecture and license of a core component such as GCC is such that it cannot be used because of a philosophy that prevents the creation of good free software tools, then the battle is lost. If RMS, GNU and the GCC steering committee had reacted fast enough when the problem was apparent, then this could have been prevented. But I'm not sure that they see the real problem with their dogma yet.

    --
    the growth in cynicism and rebellion has not been without cause
  35. Linux is corporate developed ... by perpenso · · Score: 4, Insightful

    But LLVM still gets the resources to make free software as a result. Does it matter if there's corporate support or the code is programmed by altruistic (and either poor or overworked) individuals whose souls are not so incumbered by finances?

    Linux is essentially developed by corporate sponsored developers, not the individual hobbyists of old. Last I heard the volunteers accounted for about 16% of Linux contributions, the rest coming from employees of one company or another (Red Hat, Intel, IBM, etc). With this sponsorship comes a degree of control, direction. There really is little difference between corporate supported GPL-based projects and corporate supported BSD-based projects. Corporation provide direction to both, the source code is available in both.

  36. 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
  37. Re:Oh, Stallman. You so crazy. by NoImNotNineVolt · · Score: 4, Insightful

    That's not as crazy as you make it sound. Perhaps our enemies have a cancer incidence rate that is orders of magnitude greater than ours. Perhaps the US only has one cancer death a year, but "the terrorists" lose millions to cancer every day. Were this the case, then indeed, a cure for cancer would be a major setback to the US.

    That's a more accurate version of your analogy. The freedom afforded by the BSD license has value to the users of software, indeed. But it has much greater value to those who would sell proprietary forks. For example, I run OpenBSD. I like that it's open source, and I like that I can do basically anything I want with it, so long as I preserve attribution information. However, I haven't modified the code, and I don't really get any meaningful value from being able to do so and then sell my fork as closed-source software. As a counterpoint, Apple likes LLVM. They've modified it, and they're selling their proprietary fork as XCode. They've found great value in the freedom afforded them by the BSD license. The users of XCode, however, aren't seeing much benefit from the BSD license, because it never got to them. Apple ate it along the way.

    I think it's self-evident that the BSD license benefits "the enemy" (profit-generating businesses) more than it benefits "us" (the users of software), which renders your analogy misleading.

    Of course, this is a dramatic oversimplification of the BSD vs GPL debate, as there are many more implications of choosing a license than what is detailed here. I'm no GPL fanboi, and I can see why developers would prefer BSD simply to avoid all the legal confusion that comes with GPL. However, to portray GPL as crazy, or senseless, or wrong, is to be quite myopic. There are valid arguments to be made in favor of either license, and the philosophical differences are deeper than many are capable of admitting.

    --
    Chuuch. Preach. Tabernacle.
  38. Apple's goal was better dev tools by SuperKendall · · Score: 4, Informative

    Because Apple's goal is to undermine GCC

    That was never Apple's goal. Remember that Apple used GCC for years.

    Apple's goal was instead to have a better development tool, and GCC was a roadblock. It was preventing enhancement of warnings the editor could give, real time feedback as to the code that was being written. It also had a somewhat primitive debugging experience (as much as I like GDB and have used it for many years, LLDB is better).

    Apple moved to LLVM not out of any wish to harm GCC but because it was no longer possible to advance without newer and more advanced compiler technology.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  39. 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.

  40. Re:Lincense wars in... by peppepz · · Score: 4, Informative
    Error messages are only slightly better in clang, because GCC has improved since version 4.2, and now even clang developers themselves explain that clang is better in caret positioning and colouring, which I wouldn't call being a generation ahead. See what the GCC wiki says about that.

    Clang is slightly faster than GCC, when compiling at the same optimization level.

    Clang is written in C++ and modular, and as result of this, it is more embeddable in third party projects and it can target multiple platforms with a single executable. Work is being done in GCC to address this but I'm talking about released code here.

    But when we consider less "hip" features, GCC makes faster code (which is usually the foremost interest of a compiler's user). And GCC supports more target platforms. And GCC supports more language features (FORTRAN, OpenMP, VLAIS).

    A GCC developer's benchmark about GCC's vs clang's speed of compilation and of the resulting code.