Forgot your password?
typodupeerror
Open Source

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

Posted by Soulskill
from the they-can-compile-our-source-but-they'll-never-compile-our-freedom dept.
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.'"
This discussion has been archived. No new comments can be posted.

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

Comments Filter:
  • by Anonymous Coward on Friday January 24, 2014 @02:53PM (#46059087)

    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.

  • by Sycraft-fu (314770) on Friday January 24, 2014 @02:54PM (#46059107)

    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.

  • RMS Right, Again (Score:5, Interesting)

    by Anonymous Coward on Friday January 24, 2014 @02:59PM (#46059173)

    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.

  • by fredprado (2569351) on Friday January 24, 2014 @03:02PM (#46059221)
    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.
  • by wanderfowl (2534492) on Friday January 24, 2014 @03:03PM (#46059233)

    This is like the US saying "A cure for cancer would be a major setback to the US, as it would also enable our enemies to be cancer-free".

    New, FOSS software which is awesome is a Good Thing, for the community as a whole. Sure, its license allows people who don't care for FOSS to use it, but surely a net improvement in the community's state of the art can't be a bad thing. If nothing else, this licensure allows people with bigger wallets to pay for improvements which they need, and to have those available to the community too, allowing copylefties more time to work on other things.

  • by labreuer (950633) on Friday January 24, 2014 @03:09PM (#46059327) Homepage
    Does RMS have plans for how developers will eat if e.g. steals their code and makes it cheaper? Does he have plans for companies which wish to contribute some of their developer time to open source, and some to heavily-invested-in trade secrets? I've been in situations where I wanted to use and contribute to OSS for part of what I did, but couldn't because of copyleft. I wonder if this is why the embedded systems space has such terrible OSS support: the lack of sufficient 'boundaries' between modules in embedded code forces one to be fully infected by the virus or clear of it entirely.
  • And? (Score:5, Interesting)

    by ledow (319597) on Friday January 24, 2014 @03:18PM (#46059501) Homepage

    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.

  • by UnknownSoldier (67820) on Friday January 24, 2014 @03:18PM (#46059511)

    Agreed.

    It sounds like RMS is butthurt that GCC is losing popularity ?

    Choice for the consumer is good.

    In an ideal world we would all have the source for every program so we can diagnose it.
    In an ideal world we would only _need_ 1 compiler instead of everyone wasting man-years re-inventing yet another "wheel".

    I deeply admire anyone who can remain committed to taking their ideology to an extreme by living it. However, such ideology is not appreciated, or understand by the majority. There are more "practical" and "pragmatic" sacrifices that sometimes must be made. Not everyone values Freedom the same way. :-( I'm sure Richard understands that some are willing to trade Freedom for Convenience. And his warning will probably be hauntingly true years down the road. Having someone who is able to look at the "bigger" picture must seem like a lonely, and unpopular job, but I am glad we have someone who does that.

    However, taking a step back, what are _all_ the reasons that people are switching over to LLVM in the first place?

    - Is part of the bigger picture is that GCC doesn't make it easy to embed into an IDE?
    - 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 ?
    - If I want to just make a front-end for a new (programming) language why is it easier with LLVM then with GCC ?

    What are the fundamental reasons (aside from licensing issues) that Apple switched from GCC to LLVM, and others?

  • by jellomizer (103300) on Friday January 24, 2014 @03:22PM (#46059569)

    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.

  • by DRJlaw (946416) on Friday January 24, 2014 @03:26PM (#46059633)

    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.

  • by nobodyman (90587) on Friday January 24, 2014 @03:36PM (#46059819) Homepage
    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

  • by Anonymous Coward on Friday January 24, 2014 @03:44PM (#46059957)

    Jesus, that's crazy talk. Apple's interest in LLVM isn't some malicious scheme to undermine GCC. Apple used to support and use GCC, but couldn't upgrade because of the switch to GPLv3, so they decided to invest in LLVM.

  • by Anonymous Coward on Friday January 24, 2014 @04:11PM (#46060191)

    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? :)

  • by Anonymous Coward on Friday January 24, 2014 @04:17PM (#46060297)

    More practical open-source advocates find RMS very beneficial, precisely because he makes them seem reasonable to the corporate interests whom they need to persuade. He's so over the top that others don't seem to be extreme lefties.

    The biggest problem I've had with RMS is that his idealism seems rooted in a concern for the developer over the user. I also honestly think that there's nostalgia for a very smug fantasy of late 60's MIT in there, which is again all about the developer, but that's not an important point.

  • by Grishnakh (216268) on Friday January 24, 2014 @04:20PM (#46060333)

    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.

  • 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?

  • Re:Precisely (Score:5, Interesting)

    by steveha (103154) on Friday January 24, 2014 @04:33PM (#46060533) Homepage

    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 [gnu.org]

    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.

  • Winning the Battle (Score:5, Interesting)

    by Rob Riggs (6418) on Friday January 24, 2014 @04:36PM (#46060591) Homepage Journal
    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.
  • by Above (100351) on Friday January 24, 2014 @05:04PM (#46060983)

    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.

  • by ranulf (182665) on Friday January 24, 2014 @05:26PM (#46061261)

    I know it's bad form to follow up on my own post, but I forgot to mention the Linux Action Show. If you really want to understand rms and his stance on GPL, you really must watch this: http://lunduke.com/2012/03/11/... [lunduke.com] which links to the video http://www.youtube.com/watch?v... [youtube.com]

    Essentially, rms believes that anybody who makes money from "non-free" software is "evil". That is, writing software is fundamentally incompatible with earning a living. Listen from 57:45 if you don't believe me! He gets even more radical at 59:00. "If it's not free software, I don't think you're making a positive contribution to society."

    And remember the whole while, he's advocating a "less free" license in GPL. He wants to restrict the freedom of other developers because anything they do that might not be free software isn't a valuable contribution to society.

    So, a plea to all the GPL advocates. Is that really your stance? Is that really what you believe? Seriously consider the implications of holding a worldview where you believe that anyone whose talent is writing code shouldn't be able to make money from that but instead have to find some other job and "maybe" fit in writing free software into their life as a hobby. Is that seriously beneficial to the field of computer science? Well, hope you enjoy your job in McDonalds!

  • by samkass (174571) on Friday January 24, 2014 @05:33PM (#46061353) Homepage Journal

    >>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... [apple.com] . 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.

  • by bws111 (1216812) on Friday January 24, 2014 @05:41PM (#46061465)

    You must only provide code to someone that gets your software -- you could sell the software and only give the code to those that buy it, for example, and meet the requirements.

    A completely meaningless distinction. Why is it meaningless? Because you can not, per the GPL, put any restrictions on what the person who receives the software can do with it, including giving it to the entire world.

    I'll give a real-life example of why this matters. I work for a manufacturer. All of our manufacturing is in-house. We have custom software that we wrote, at considerable expense, to make our manufacturing operations more efficient. This gives us a competitive advantage.

    Now, we want to expand into a market that has significant protectionism laws. Namely, if our product is not built in that market a 100% levy will be assessed on the product. It will be far too expensive to make our own factory, so we will contract with someone else to do the manufacturing. This manufacturer also builds stuff for our competitor. In order to provide the quality and cost that we require we want the contractor to use our processes and tooling. No problem, done all the time. The contractor signs an NDA with severe penalties for leaking any of our stuff. SOP.

    EXCEPT, back when our custom software was written, some GPL code was included. This was legal and nothing wrong with it. Now, however, we are going to fall into the 'distributor' category by letting the contractor use our software. Now the GPL says we can NOT prevent the contractor from doing whatever he wants with our software, including giving it our competitors or using it in his other operations.

    So what did we do? Rewrote the software (more expense) to remove all the GPL parts, and instated a new company rule: no internal use stuff is to be based on GPL code, ever.

  • by Dahamma (304068) on Friday January 24, 2014 @08:02PM (#46062891)

    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.

  • by Esben (553245) on Friday January 24, 2014 @08:21PM (#46063043)

    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.

    WRONG: They used GCC and contributed back to the project. But as far as I understood, FSF and RMS stopped accepting their patches because of dislike of Apple. Not really GPLs fault, but FSFs centralized "community" model.

    There is nothing wrong using GCC under GPL in a coorporate context. We do it at work all the time. I worked with VxWorks. Wind River sent us a version of GCC (and binutils, gdb etc) as part their development kit and IDE. Nothing wrong with that.

    What is wrong with the GNU project is _not_ GPL, but the copyright handover and centralized control, which have a tendensy to impose political constraints on projects. Things like the Linux kernel and git works a lot better under GPL but out of FSFs control.

Too much of everything is just enough. -- Bob Wier

Working...