Stallman wants you to use Free software because it's free-as-in-ideology, not because it necessarily works well or does what you want.
I think he does care how well stuff works and whether it does what we want--he just takes a very long-term view of that goal.
For example, let's say an ok V1.0 piece of open-source software is released under the BSD license. A startup takes the source, modifies it to create an awesome product, and releases that as a closed-source product.
Everyone loves it and adoption goes through the roof. The company gets hugely successful and is bought by Big Tech Corp Inc....who really just wants the talent. They EOL the great product.
Because it is closed source, the best that customers can do now is to reach back to original mediocre BSD'd code and try to replicate the development that went into the awesome product.
BUT--go back to the beginning. If the mediocre product had been GPL'd, then the startup would have been obligated to release their changes as source code. So even though it was EOL'd by Big Tech Corp, the customer base has the up-to-date source code, and can carry on development and support as a community.
Now, I'm not going to say that is a 100% accurate view of the world...the obvious counter-argument is that aggressive licenses like the GPL3 actually discourage business support of products. Thus a GPL3'd mediocre V1.0 would never have been picked up by the startup in the first place, and never would have been developed into an awesome product.
I won't say I know which argument is correct, but I will say I can at least see where RMS is coming from.
Portable, open formats are more important than the mechanisms.
Though, the point is, you can make free software work the way you want or work better. You're _allowed_ to. That isn't necessarily the case with other software; that is the point of free software.
This is a purely political decision: RMS wants gcc not only to be free software but he also wants it to be unusable to create non-free derivatives thus making it an active tool in furthering free software. clang undermines this because you can create non-free software based on it thus making it a tool that can easily be used to restrict freedom.
It seems that implicit in this claim is that if non-free software exists, its mere existence restricts freedom. Would that be a fair statement of anybody's position in this debate, or have I gone off the rails?
Will the threat itself restrict freedom? Yes. Can threats cause harm? yes. However, so long its not distributed, no one is threatened.
So, on your question, no, its mere existence will not restricts freedom. The restriction happens once it has been distributed.
We could debate forever on the semantics of which is more free, but I don't think having the freedom to restrict the freedoms of others is going to encourage freedom.
My freedom to swing my fist stops at the tip of your nose; my freedom to modify legalese surrounding GPL software stops when it would deprive others of their "four essential freedoms" (in the words of the FSF).
0. The freedom to run the program, for any purpose.
1. The freedom to study how the program works, and change it so it does your computing as you wish. Access to the source code is a precondition for this.
2. The freedom to redistribute copies so you can help your neighbor.
3. The freedom to distribute copies of your modified versions to others. By doing this you can give the whole community a chance to benefit from your changes.
If you don't believe that these are important and should be respected, then you shouldn't be licensing things under the GPL. If you believe these are more important than the restriction imposed, then releasing under a permissive license is not itself "restricting freedom", but all it is doing (compared to the GPL) is enabling "restricting freedom". When the only thing a change does is make a bad thing possible, it's still better not to make that change.
I find it somewhat interesting we have no viral license that protects freedom 0 and 1 in derivative works but allows adding additional restrictions that conflict with 2 and 3 (or don't, which would make it GPL compatible...).
Interesting that preventing users from doing something with a bit of software (e.g. selling non-free derivatives) is considered restricting freedom.
Kind of self evident when stated from the users point of view really.
I use gcc, and I work as a treesurgeon.
> They have been supported by Apple, the company which hates our freedom so much that its app store for the ithings _requires_ all apps to be nonfree.
> The only code that helps us and not our adversaries is copylefted code. Free software released under a pushover license is available for us to use, but available to our adversaries just as well.
> If that enables GCC to "win", the victory would be hollow, because it would not be a victory for what really matters: users' freedom.
> 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
Sorry about the charismatic way I presented my views, perhaps I should have mentioned my penchant for eating the raw uncooked flesh of freshly slain animals to make it more clear as to whether I was intending to advocate views similar to Hitler.
You may want to look into these links:
If there was any persuasion in it, it was to not use irrelevant association since it do not add anything beyond a appeal to emotion, spun around a fallacy. Hitler, like George Bush, creates a guilt by association while the association is irrelevant tied to the subject matter.
The result thus becomes a polite discussion around the more creative ways of eating meat.
There is more to RMS's version of 'freedom' than just being able to modify the code, the AGPL is a great example of this.
Actually he doesn't....he considers Clang/LLVM to be open source and not free, Clang/LLVM does not restrict users from developing their own extensions and licensing them as they see fit which ironically makes the software not free (according to the RMS ideological software freedom purity test).
So when RMS says that, he's saying Clang/LLVM opened up the source code in order help their software perform better and see wider usage. Whereas RMS's goal for GCC is to ensure freedom for its users. Technical superiority is great, but it is not the goal, and may be sacrificed if necessary to achieve that goal.
He's not saying Clang isn't free software, he's saying their ultimate goal is not freedom, as contrasted with the FSF.
1) Free means freedom in the copyleft sense.
2) Free means freedom in the open source sense.
3) Free means free as in beer.
In the article RMS appears to be using definition 1, elsewhere on the FSF site the FSF uses 2.
"In the free software movement, we campaign for the freedom of the users of computing. The values of free software are fundamentally different from the values of open source, which make "better code" the ultimate goal."
It's very clear that "free software" in the article is definition 1, since MIT/BSD falls clearly in category 2, LLVM/Clang is NOT free software according to the definitions used in the article, and therefore the position RMS is advocating in the article is that LLVM/Clang is not free software, but rather open source software.
Yes to everyone else in the world, including the FSF, Clang/LLVM is free software but according to RMS it is not.
It is possible to be both unfree, and support dictatorships, like the USSR. RMS's goal with GCC, is to be like the mythical free country that also supports freedom and discourages dictatorships elsewhere in the world.
In other words, your software can be free, and yet support and aid those who would take your freedom away. This is the claim RMS is making of Clang.
"The values of free software are fundamentally different from the values of open source, which make "better code" the ultimate goal."
Perhaps you could provide quotes where RMS in the article says that clang is 'free software'. According to RMS in the article clang is a major set back for free software. (because it's better than their piece of crap)
Furthermore which compiler-suite served as so long so good in the "dark" pre-LLVM ages?
Biting the hand, which feeds you comes to mind...
clang is "free software" according to his own definition. It is entirely possible for a specific free software program to be a setback to the goals of the free software movement. His position is that copyleft licenses (very often, and certainly in this specific case) advance the goal of freedom more effectively than non-copyleft licenses. The differing values in this case basically amounts to whether one considers it worth using a copyleft license to ensure that the software being used remains free, or whether one considers it a drawback that a copyleft license may prevent it being used in proprietary software.
If the FSF consists solely of the opinions of RMS then I retract the previous statement and would say that the page mentioned expresses an opinion inconsistent with what is expressed in the email.
Clang wants to make a great compiler, they chose the NCSA license to facilitate that, according to the article makes it open source software and not 'free software' rather than 'unfree software'
I get you now, makes perfect sense.
This restricts users freedom, that is his point.
GPL is not about the rights of the programmer, it is about the rights of the end user.
And I think, that's a better position to be in; I mean, freedom is more important than to have good softwares.
Yes, I agree, freedom to have the essentials for human survival is a lot more important than having instant access to the latest BF4 patch.
Care to provide a bit of qualification and relevance to your broad, context-free, ill-defined statement?
If the comment was meant to say that "free software is more important than good software", then it would be great to get a bit of elaboration and qualification for such a contentious statement.
I picked some pretty harsh possibilities there that seem a little dystopian, but I wouldn't rule any of them out, or any of the million other horrific possibilities that increased coupling of technology to our lives, without (self-)regulation could enable.
If you really want software to 'just work', you should probably first ask, who is it working for?
You are aware that all your attempted examples could simply be called 'not working' when evaluating the software.
I'm also not sure how I could say software is working for me if I must first agree to be dictated the terms of it's use, and agree that the vendor may dictate any new terms in the future, which I must agree to in advance.
we’re always telling children that they have to learn to share, to be considerate of each other’s needs, to help each other; then we go off into the real world where we assume that everyone is naturally selfish and competitive. But an anarchist would point out: in fact, what we say to our children is right. Pretty much every great worthwhile achievement in human history, every discovery or accomplishment that’s improved our lives, has been based on cooperation and mutual aid; even now, most of us spend more of our money on our friends and families than on ourselves; while likely as not there will always be competitive people in the world, there’s no reason why society has to be based on encouraging such behavior, let alone making people compete over the basic necessities of life. That only serves the interests of people in power, who want us to live in fear of one another. That’s why anarchists call for a society based not only on free association but mutual aid.
If I may make a parable: Don’t hate the rebels for being violent; hate the oppressive state against which they rebel.
But - you make a good point - a good reason to be against copyright is because abolishing it would defeat the GPL.
RMS has steadfast refused to even entertain anti-business terms in software licenses as something fitting for a free software license, except to the extent that the "business" involves taking the free software in question and making it non-free.
Not bringing this up to argue that RMS is correct or reasonable (here or elsewhere), but I just thought it was interesting. RMS may be an unrealistic utopian, but his unrealistic utopia is some mutant form of liberalism - with property rights and commerce etc. - not communism or even big-s socialism.
I can see people in the USA having problems to properly frame his position due to the ideological burden of equating any kind of a demand for sharing and cooperation with communism or socialism, regardless if the demand actually has anything to do with left wing political motivations.
Because something might be inconvenient to you, it doesn't make it automatically wrong. There's a distinct line between free as in freedom and free as in arbitrariness. The former comes with responsibilities, the later without.
Furthermore take a look at the "USL v. BSDi" lawsuit, where BSD was sued by AT&T for infringing copyright-laws against their own(BSD) source-code, which was incorporated into USL(AT&T's) UNIX-variants!
"Freedom" comes with responsibility, if you want carefree "arbitrariness", then say so, but please don't mix them together, they are fundamentally different!
Furthermore they are not rights - they are desires.
You are free to negotiate terms with people from whom you obtain software, and you are free to refuse software without source code.
What the GPL seeks to do is force other people not to be free to choose their own terms.
Whether you like the effects of the GPL or not, it has nothing to do with freedom.
I think that, to a large extent, creating useful software, inasmuch as it is a pursuit of the FSF, isn't an independent goal so much as a mechanism for acheiving the goal of obstructing the development and spread of non-Free software.
I love free; what doesn't feel "free" to me is the GPL, since I can't use just about anything GPL in my job.
My job involves creating non-free software. Given the GPL's goals, it's not a surprise at all that I can't use it.
But it strikes me as ironic that RMS talks about "freedom" when really he's advocating restricting your freedom to use the software.
I understand it's in pursuance of a "greater goal" of Freedom to modify everything, but the problem is that, in the large, free software sucks, and I don't really want to be responsible for making it good.
Sure you can come up with a dozen really great free software packages (I'm using Firefox to post here, for one, and I make builds using gcc daily and gnu make). But I can come up with a thousand that suck -- and that includes the "best" packages in a number of different categories: Image editing, document editing, development environments (Eclipse has some nice bells and whistles, but that doesn't make it not suck), 3d editing... ALMOST everything with a GUI, browsers being a huge exception. 
Those are just the categories I've tried and tried again to make Free software work for me, because I am attracted to the ideal of working with Free software. But every time, the paid/proprietary solution has been so much better than the free solution that I've defected and paid for the proprietary version.
No, I'm not going to use free software to support an ideal. I'm going to pay for software that helps me get my work done faster and better. Because at the end of the day, I appreciate good tools, not ideals.
There may come a day when I try to make my own "free" software project, but if I do, it will be because I really want to make a world class tool in that category, and I feel that the free model is the best for that tool. But I will continue to choose my tools based on what they allow me to do, not their source code license, and the proprietary tools I do use offer me more advantages despite being closed source than their open source equivalents.
 Don't bother posting arguments about this or that free software package in these categories. Unless it's brand new and awesome, in which case I might like to try it out. Regardless, one example doesn't change my overall point, and I don't want the thread to devolve into "Gimp is great!" "No it sucks!" -- "Good enough" for one person is not always going to be good enough for another.
So your objection to the GPL is essentially that it doesn't grant you the freedom to take away these user rights.
You were talking out your ass, is what you were doing. An anecdote about THREE. INDIVIDUALS. doing X pretty solidly "defeats the point" that X is reserved to "large corporations" - we're not even a mid-sized corporation! None of the three of us currently paying for bespoke development is particularly wealthy (one is a part-time music teacher), if we'd gone overseas (or even out of state) we could lower development cost further, and the scope of our project is much larger than the minimum meaningful chunk of work.
"Bespoke development is cle[a]rly out of reach of most end-users."
Bespoke development is not out of reach of most end users, at least in terms of resources required. I would put forward that basically any user desiring a particular feature or small functionality change - outside of extreme examples - could financially manage it if 1) they cared enough and 2) they found sufficient friends interested in the same, and that for most users and simple tasks, "sufficient friends" is not a hugely high number. Organizationally, most users would presently have a hard time picking an appropriate developer and working with them, but that's a separate problem that numerous groups are working on solving.
With proprietary software, on the other hand, bespoke development is far further out of reach, because there is dramatically less competition - only the original authors can bid to modify a piece of proprietary software so no two groups are bidding on the same job.
Bespoke development clearly is out of reach of most end users. There are billions of end users of computers now. You may exist in a rarefied stratum of the economy that gives you this freedom, but to claim that this is the case for most users is bizarre.
I am astonished that you think that choosing a good developer is the biggest challenge for end users who want custom software.
Your comment about proprietary software is invalidated by the examples of the web, Google Play, and the iOS app stores, which are brimming with highly specialized solutions which are developed because there is a business model to support the developers.
No, it doesn't support my argument. It also doesn't undermine it, and it served as a certain amount of stress relief in the face of an unconstructive and (in my view) absurd response, but it was nonetheless inappropriate and I apologize.
"Bespoke development clearly is out of reach of most end users. There are billions of end users of computers now. You may exist in a rarefied stratum of the economy that gives you this freedom, but to claim that this is the case for most users is bizarre."
Is your argument "it could not be sustainable, because there are not enough developers compared to users"? I don't see any other argument there, but as that one seems easily (if somewhat verbosely) addressed I want to be sure I'm speaking to your actual argument.
"I am astonished that you think that choosing a good developer is the biggest challenge for end users who want custom software."
Not just choosing a good developer, but collectively choosing a good developer, sufficiently defining the task, and communicating with the developer. I do think that is the biggest challenge for users who wish to customize an existing piece of software under a free license. It is not the biggest challenge for users who want to modify or reimplement a large piece of proprietary (or non-existent) software, but that is comparatively rare and it matters less the licenses of existing code. If you disagree, please be explicit about what challenges you think would dominate.
"Your comment about proprietary software is invalidated by the examples of the web, Google Play, and the iOS app stores, which are brimming with highly specialized solutions which are developed because there is a business model to support the developers."
That certainly invalidates any claim there can be no specialization in proprietary software, but I never made that claim. Freedom 1 is a right to modify the software I am running. That presumes there is an existing solution that's not quite what I want. If the license on that solution preserves my "freedom 1", paying someone to modify it is competitive, and therefore probably cheaper and probably better.
Please read https://en.wikipedia.org/wiki/Negative_and_positive_rights and in particularly about the right to be left alone (negative rights).
Freedom of speech, private property, freedom from violent crime, freedom of worship, habeas corpus, a fair trial, freedom from slavery are just a few freedoms that can only be implemented by restricting others. You can't have freedom from slavery without restricting slave owners their right to enslave. Thus the term negative rights had to be made by philosophers and political scientists.
The proprietary model is to trade software for money, and then threaten your customers with lawsuit if they share or modify the program. GPL provide software under the freedom from those threats, with the use of negative rights (ie, the user of the program has a right to be left alone). If you can not make software without threatening your users, don't try to start by taking GPL software.
>If you can not make software without threatening your users, don't try to start by taking GPL software.
Umm...other than using it as it's designed and permitted (e.g., gcc), I don't. Any code libraries that are GPL (or even LGPL, except under specific circumstances) are dead to me. I'm annoyed when my time is wasted coming across one on a search. I would even bail on GCC for the superior Clang but I have one package (of many) that needs GCC to build in my current project for a client.
Almost all GPL code is likely to lose support compared to any BSD/MIT competition in the long term (except possibly for those packages used in server development, since they can be used commercially without being distributed, circumventing the intent of the GPL). Most non-server developers do their best to avoid linking to GPLed software because they're working on proprietary software.
RMS alludes to this in the article: "The existence of LLVM is
a terrible setback for our community..." The superior network effects of BSD/MIT-licensed libraries means that those libraries will get more developers, who will fix more bugs and more features, which will then attract more developers, etc. (Not to mention the fact that LLVM is just more awesome than GCC).
As a developer I hate to have to rewrite code. Yet I'm forced to if the only code available is GPL; I can't change my business goals or those of my clients for the sake of a goal that's never going to be achieved. Asking me to is naive. The financial reality is that (most of the time) to make money writing software, you need to sell it (and therefore restrict the rights of those you sell it to).
The first 80% of a project is the most fun and satisfying; most open source projects rarely make it beyond that first 80% (if they make it that far) . Companies that make money writing software will pay developers to complete the libraries they're using. As those BSD/MIT libraries get better, the GPLed competition will fall behind.
 Notable exceptions include the abovementioned server software category, where commercial/proprietary developers can use (and therefore will likely contribute to) GPLed code, and projects that have enough income to support full-time commercial development.
> But it strikes me as ironic that RMS talks about "freedom" when really he's advocating restricting your freedom to use the software.
1. The GPL isn't restricting your freedom, your employer is. You are working under contract terms and policy selected by your employer. Your preferences aren't relevant.
2. The GPL isn't restricting your employer from using the software, just distributing proprietary add-ons or integrating parts of it in to their commercial products. They can still use it to compile and ship software, for free, giving nothing in return... that's still a pretty sweet deal when you go and look at the competition. Microsoft will charge you for the privilege of using their inferior compiler (full VS suite aside).
What kind of mindset says "Oh boy! B is giving me more stuff for free than A was, I'm going to go shit on A and make demands!"
I'm freelance. I write games and apps, and I do contract work. I can't use GPL software (except for GCC, which I already noted) in creating any of the products that I create because I need to make money.
Not everyone can make a Free product so popular that they can make money being paid to maintain it. I think there are probably fewer than twenty examples of such products that are actually monetarily successful for their creators, and I've read multiple stories of developers who had crazy-popular free products and who were unable to make ends meet.
Not sure how you expect "my employer" to make money giving products away for free either.
It's not "my employer" but the market realities that restrict my freedom with respect to GPL. I can't even publish an iOS app with GPL code; blame Apple all you want, but iOS and Android are gold mines of contract opportunities. You're telling me I should stand on some feel-good principle and ignore the $125-150/hour contract offers that keep pouring in and instead take a job making free software for 1/3 that amount? If I can even find such a position?
Sorry, I'm taking the money. You can make the sacrifice if you want.
>Microsoft will charge you for the privilege of using their inferior compiler
Express editions have been free for years. And that includes the entire VS suite as well as command line compilers.
>"Oh boy! B is giving me more stuff for free than A was, I'm going to go shit on A and make demands!"
Umm...hello? That's entirely unlike what I said.
What I said was: Lots of Free stuff sucks enough I'm willing to pay for closed alternatives. That's two kinds of payment: Paying with dollars, and paying with the restrictions in my freedom. And I'm saying the transaction is worth it. I'm not making any demands. I am saying that a lot of free software sucks compared to the alternatives, but that's just the truth.
In the case of Clang, it's awesome to me that it's BSD-free. If I need it in a piece of software, I can use it without question. Might it end up in a proprietary package? Yes. But if that user makes changes they'll likely send them back upstream so that other users of Clang will benefit.
That said, not all restrictions are equally problematic - an obvious brokenness would be wanting to mix original-BSD-license code and GPL code; both licenses purportedly free (says even the FSF), but the 4 clause BSD code adds a restriction regarding advertising materials mentioning UC Berkeley.
That's true, but if I'm a person whose only goal in life is to maximize free software, I may still be rationally motivated to license my project BSD instead of GPL. A BSD-licensed project can sometimes attract more users. Of course, that is because some of them will use it in their own non-free projects; but in many cases, their project would have been non-free anyway, and they would have just used someone else's code instead of mine, or written their own. If they use my project, it makes my project's ecosystem stronger, which is good for free software.
"If they use my project, it makes my project's ecosystem stronger, which is good for free software."
Maybe. If they run with your code and build a proprietary fork with a few features on you, and users migrate over, your project's ecosystem may be weaker despite the code being used by more people, and it would be bad for free software. It's hard to say.
It is ironic in a way, but it is only a valid criticism if you consider that you should have the freedom to restrict other peoples freedoms. This is generally considered to be immoral in modern society.
"I make builds using gcc daily and gnu make"
I called it out as the only thing I do use.
And I may transition to Clang from gcc if a build problem I encountered with an older Clang version is fixed. That leaves gnu make.
And make sucks for many, many reasons, but that's not Gnu's fault. It's just that all the other building solutions suck more.
Time and time RMS has been proven right about the detrimental consequences of non-free software, but usually over the span of many, many years.
Non-free software has a habit of working well and doing what you want right until it doesn't and then royally screws you.
You can only be pragmatic about it (most of us are) if you are aware of the risks and consequences. Otherwise you're just being ignorant.
Yes, that's pretty much it: http://www.gnu.org/philosophy/compromise.html
edit: to expound, the world they helped create is one where there is a durable, vibrant, and mainstream OSS culture where anyone with a halfway decent internet connection can download the source code & compilation tools for a state of the art OS. Radicals become irrelevant when they win.
Whoever controls our software, controls our world. Free software isn't a first world problem, it's a gigantic and urgent issue. It's only a shame that so many people don't realize this.
Open source works for a lot of cases (I wholly think BSD licensing is just fine for Clang/LLVM and disagree with RMS on this one), but it's just a pragmatic element. Merely a part of free software. Something being open source doesn't imply any particular redistribution rights and ethical guidelines by itself.
If a 3rd world farmer is hamstrung by licenses on any tools they have (and seeds they grow), that could prevent them from making those tools better, or crossbreeding those seeds. Same with educational software and material.
Just because the focus is mainly on software, which is admittedly a 1st world problem, doesn't mean the ideals can't apply to the 3rd world as well.
People set up computer centers to help the poorest of the poor. Its a place where they can learn and express themselves.
Try set up such place and then pay for the OS, the text editor, the programming language, the painting program, the video editing, and so on. Compare that to finding some old used hardware being unused, and simply start helping the community immediately.
 If you want to hear more, I suggest one of the many talks from Eben Moglen. For a transcript of one, see https://en.wikisource.org/wiki/09NTC_plenary:_Eben_Moglen but its a bit short on details.
This discussion originated on the emacs-devel mailing list, where there was a discussion of adding code to company-mode (text completion) explicitly supporting Clang .
It was pointed out  that RMS has in the past shown a disinclination to incorporate Clang support into GNU projects because of his perception of its encouragement of proprietary software riding the coattails of open source (but not Free) software.
The discussion then turned  to another instance of this: RMS's disapproval of modifications to GCC that would have made the front end more easily separable from the back end, opening the door to a proprietary end-around (or just outright abuse) of the Free license on the GCC frontend.
The article linked above is RMS's response to ESR's comments  that such policies have reduced the popularity of GCC compared to Clang.
I think the biggest hurdle to people caring about copyleft is the sheer tonnage of disrespect people like RMS show to others. Nobody wants to work with a curmudgeon.
RMS doesn't have a problem with LLVM because it's bad, he has a problem with it because it's good.
> the biggest hurdle to people caring about copyleft is the sheer tonnage of disrespect people like RMS show to others
No, the biggest hurdles to people caring about copyleft are by far the incompatibilities with accepted practices and existing software that make it a lot of work to comply with copyleft ideals.
RMS's tone never seemed disrespectful to me. Uncompromising and occasionally blunt, yes, but never disrespectful. What would you have had him do differently? Compromise his ideals? Spin out a comforting but insincere apology that focused on licensing technicalities rather than the underlying philosophical issues?
I think there's a big problem with copyright and software -- the goal of copyright is to provide public goods, but the public goods that copyright protects is the source code, not the binary, yet there are no guarantees that the public will ever get the source code. I think if this problem were addressed (e.g. all software that seeks copyright protection must have its source code placed in escrow) then a lot of RMS's legitimate issues with closed source software would be mitigated. I'm sure he would still resent code being closed source, but at least we'd know that in 25 years or whatever the source code would become available to all.
He never said that, and you're really failing to see his point. He doesn't want GCC to be broken up into tiny bits and have each of those pieces replaced by non-copyleft equivalents. Because he doesn't want the hard work of the GCC community to be used as a scaffold for creating a non-free replacement.
He is totally happy for companies to use and benefit from GPL'ed software in all the ways the license permits. He is totally happy for companies to use and benefit from non-free open source software (like Klang) however they like.
He also has no problem with people forking GCC and splitting it up however they want to. He doesn't think that's a good use of resources, and he thinks it's harmful, but he has no interest in stopping them.
What is is not happy for, and what he is standing up against, is companies making changes to his branch of GCC. The GNU project is a group of people maintaining their versions of various Free Software. You can fork any of those projects and make different choices. But within the context of that project, amongst his collaborators he has opinions about what changes to make, and how best to further the goals of the project. And he thinks this change will be bad for the project.
Well it is. There are a finite number of consumers of C++ compilers. He is competing for the attention of potential free software advocates.
The only code that helps us and not our adversaries is copylefted code.
I would have him not view people on the other side as advisaries. Sure FreeBSD and Konquer didn't gain much from Apple deciding to use their code, but they also didn't lose anything either. It isn't a zero sum game.
In fact, I think the GPL probably saved the World Wide Web.
That Konquerer was GPL was the single advantage it had over anything else. It used to be a buggier, and slower, and generally worse web browser, but every time someone made an improvement, the GPL made those improvements Free; When Apple improved it, it was the GPL forced them to make those changes available to everyone else, and while the code being available is what helped Google start their web browser, it was the GPL that fed those improvements back into the community.
Perhaps Mozilla (open source, but not GPL) would have remained an acceptable way to search wikipedia, but I struggle to believe it would become good enough to be embedded in nearly every operating system and WWW-capable device.
This is simply not true, and if it were, you'd be implying that Apple chose Konquerer over Mozilla because they preferred GPL to MPL. In reality, Konquerer had a much cleaner architecture that Apple thought they had a better chance of adapting to OS X.
The GPL had nothing to do with any of these events, the key feature was open source, not GPL. And if Apple had not turned Konquerer into a first-class user agent, Mozilla still would have had a first class open source user agent.
I think the web is one place where the GPL has demonstrated that GPL is not a key desirable feature in open platforms. GPL has had remarkably little to do with any of the web, as it is only used in one of three major user agents, and in almost none of the web-specific server stack.
Actually, that's completely irrelevant.
The GPL ensured that Google could benefit from Apple's decision to use KHTML.
That's the only thing making them do it.
Whether there are other benefits to giving away source code is not relevant. What they might have done is not relevant. No one could ever say whether Apple and Google and Samsung would have gotten together and made a web browser in collaboration without the GPL.
The fact is that they did not do it without the GPL.
In reality KHTML was a much better code base than other options, and Apple didn't really care that much about the license.
Let me tie in this comment with the whole thing about GPL vs. non-copyleft free software drama in general, and why I think GPL has become harmful: what you said I think illustrates a kind of thinking mode that the idea, the practical working principle, behind GPL breeds. The idea is to use force and coercion to make entities do what you want them to do. That road naturally leads to a mindset where every behavior is seen as necessarily motivated by coercion. And that leads one to normalize and accept coercion as an acceptable, even necessary, mode of social relations. I see this mode of thinking a lot with strong advocates of GPL. It's always in terms of someone being forced to do something good, and if they aren't being forced no good shall come out. This is a horrible, horrible way to look at the world. If we take Apple as an example, they open-sourced a lot of stuff they had no legal reason to release, some of those things very non trivial.
I have to point out that I'm writing all of this as someone who respects RMS and FSF's cause a great deal, I even use the term free software rather than open source (in my native language, fortunately, there's no confusion about "free", free as in freedom and free as in bear are not homonyms). However, I do not think GPL and strong copyleft licenses are an acceptable, or even a good way, to accomplish freedom in this domain of life. GPL is maybe a great tool to destroy proprietary software (well, almost, but not quite), but a horrible way to accomplish software freedoms in general.
It's always better to encode, into law, ethical behaviour we want, instead of hoping for it from people. Doubly so when the 'person' is a corporation.
People can and did extend Mozilla, and they can and did keep those changes non-free because the MPL allows for non-free linking and binary-only redistribution.
While the GPL does not.
"Competitor that through their marketplace success makes us further from our social goal" doesn't have all the same connotations as "advisory", but given their goals I don't see how it's not an accurate descriptor.
No, the software marketplace isn't a zero sum game. I'm not even a believer in free software, but it still frustrates me to no end when someone says "not a zero sum game" in a conversation that is so obviously about market share.
People who threatens others with lawsuit for doing modification or sharing are adversaries to RMS. For example, he seems to dislike Apple because they threatens jailbreakers with million dollar lawsuits and jail, and do not want his code to contribute to that misery.
A big part of the impetus for the FSF was an early instance where they were adversaries, at least in RMS's eyes. The MIT AI lab had an open culture of sharing code, which was "taken proprietary" by several spinoffs in the early 1980s, who hired away some of the AI-lab hackers and stopped sharing improvements with the remaining not-hired-away AI-lab hackers. Stallman saw that as a bit of a betrayal of trust, not to mention damaging to the open development of software, and users' ability to have the source to & freedom to modify their software.
His solution was twofold: 1) start his own competing spinoff (the Free Software Foundation) which would employ its own set of hackers to develop the "public", non-proprietary codebase; and 2) license their contributions under a new license, the GPL, which would ensure that extensions to their code couldn't be taken proprietary.
I know, programmers are supposed to be emotionless meritocratic robots, but this Old Boys Know Best attitude is precisely why RMS and GCC is losing user share so quickly these days: the extremist meritocracy of programming culture is actually highly male-centric, and it simply scares off all women and any men who are not sexists.
This is why LLVM is gaining so much support these days: it's technically superior, and its development community isn't sexist.
If you actually read what RMS just wrote, or, for that matter, anything RMS has written in the last decade on similar subjects, it's clear that "losing user share" isn't a meaningful metric to the FSF. If you lose user share by strengthening non-free software, then there was no point to the FSF to begin with.
By starting your comment with "the problem with RMS", you might as well be pointing out "the problem with free software". Which, fair enough, but it's not like people didn't realize that non-free software could edge out free software on functionality or user-friendliness.
Who said it was bad? People have said it is not copyleft.
I think that's ridiculous. Do you really think corporate backers of LLVM would just ignore their economic incentives for a non-copyleft compiler if RMS was friendlier?
> People have said it is not copyleft.
RMS says that it is bad because it is not copyleft. Specifically, he says "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".
Do you not think that "terrible setback for our community" is a subset of "bad"?
The other part of my comment still stands, though (I think).
> If LLVM is so bad why are the people who make it so much easier to work with?
How is the license being bad influenced by, or of influence on, the attitude of the developers? Are you saying that surely the license can't be that bad, since the software is written by nice folks?
Don't judge a book by its cover.
Follow the money.
A witty saying proves nothing.
Are bears catholic?
Actually, he does. I remember when he went to an OpenBSD list a few years ago and insisted they take out ports for non-free software out of the ports tree.
: Too lazy to find the link.
Edit: Yes, it is a free license, as other's have pointed out.
It's not a copyleft license, or a GNU license, but its a free software license.
The 2 and 3 clause BSD licenses are GPL-compatible free software licenses. http://www.gnu.org/licenses/license-list.html#ModifiedBSD
Even the original 4-clause BSD license is a free software license, although the 'advertising' clause is GPL-incompatible. It's also not used much any more. http://www.gnu.org/licenses/license-list.html#OriginalBSD
That's really important distinction that people don't realize about the GPL - it's designed to protect the rights of the END USERS. And that's great when the end user is you and me, but it's also not surprising that we, as developers, will happily throw end user rights under the bus if we think we can make some money (e.g. SaaS, app stores, etc.) or profit otherwise.
Sometimes they do. I've seen it happen more than once where developers chose the GPL, were asked to change it and then did saying they only chose the GPL because it seemed like a decent default because that's what Linux or whatever used.
Even more common are developers who don't fully grasp the practical implications of a particular license, like making a Go library LGPL without a static linking exception, not realizing that LGPL is basically the same as GPL on a platform without dynamic linking or a toolset that is well suited to distributing pre-compiled object files to satisfy the license terms.
Now LGPL and Go's static linking can simply be about not grasping that Go statically links libraries into the final executable, as it's hardly the norm outside of Go.
Neither compiler affects the licences of the output. In the case of a compiler, the "end user" is the end user of a compiler (which in today's world is a developer, but 20 years ago may not have been).
End users are "screwed over" in this sense every time permissively-licensed free software is forked into proprietary versions that the users cannot do one of the following
1) Study (view the source)
2) Modify (edit the source)
3) Distribute (send the source or binary to another person)
4) Distribute modified versions of the software
All of these freedoms include the freedom to hire someone else to do this for you, so even if you are not a developer, you still have the potential to benefit from free software, the same way all drivers benefit from the fact that any mechanic can service a car (not just the dealer).
Strictly speaking, the conditions of the GPL3 license apply to your GCC compiled code (using the GCC runtime library) unless it is compiled using an "eligible compilation process", i.e. no GPL-incompatible software in the middle:
Yes and no -- most programs use a c runtime/standard lib (libc). While both allow the use of differenc libcs, it's not quite clear that the gcc toolchain doesn't have any implications for the executable. Just being (overly) pedantic, not trying to contribute to the FSF/GPL FUD.
As for grand-parents point: the kind of scenarios where llvm is "scary" is for instance if a gpu vendor releases a closed compiler (or part of a compiler) for writing massively parallel code and/or shaders. Sometimes such a compiler might be called a driver, even if what it does is (among other things) compile code.
In fact I'd say this is one of the largest practical benefits for developers when it comes to GPL.
If a developer releases their code under GPL and someone else improves upon it, they as end users will recieve the source code to those improvements with which they can improve their original code or simply adopt the improved version.
Xs don't care about Y, except for those Xs that do.
However, I also think (I don't know for certain) that is precisely why it is important that the FSF keeps plugging away and refusing to compromise. There has to be one place where people do give a shit.
I have started to use gNewSense 3.0 recently. Small, fast, Gnome 2 and fortunately the er - maturity - of the packages does not affect my use cases.
Most end users don't care. Some do.
Many do. Any many of them realize they didn't actually want the GPL, they just picked the license they had heard of the most. I don't see what this has to do with the discussion of gcc being limited technically because the GPL is not enough to sufficiently hinder people from writing proprietary tools.
>That's really important distinction that people don't realize about the GPL - it's designed to protect the rights of the END USERS
That is an artificial distinction created to try to justify the newspeak meaning of "freedom" where it is defined to mean "imposes restrictions". Developers are users.
Developers are users, but so are non-developers.
The question of whether developers should be able to restrict freedom of non-developers is the question of whether some users should be able to restrict the freedom of other users. This is an ethical (subjective) question.
Put another way, should landowners be allowed the freedom of having serfs or indentured servants? Not allowing them to do so is restricting the freedom of some people (the freedom to own serfs). But allowing them to do so is restricting the freedom of other people (the freedom to be... well, free human beings).
As a society, we believe restricting the freedom to be human beings is ethically abhorrent, so we have no qualms (anymore) about restricting people's freedom to own serfs.
Maybe you see non-free software as ethically abhorrent, the way slavery is, maybe you don't. But that is the axiom that the free software movement (and the GPL) is based on - to understand free software, you have to understand that principle, even if you disagree with it.
This is a judgement of the motives of Apple that I do not believe is correct by Stallman and he making a straw man case for it. I don't think that Apple "hates" their freedom.
I do believe Apple added the restrictions on having only non-GPL code because they understand the problems that it presents legally in the App Store as a distributor and their bourdon under the GPL by being the middle man and redistributing the software in question. Apple would be required to field GPL requests for software in the App Store as the main distributor. This is risk and overhead Apple doesn't want to deal with.
They could just as easily make the language not specifically mention GPL at all but instead say that you releasing software on the App Store can't add restrictions, constraints, or additional requirements on how Apple distributes your apps in the App Store not expressly contained the agreement already. This would be the same and would be just as GPL incompatible as it is today.
A counter example: sourceforge, as the primary distributor of many GPL'ed binaries, does not have to field GPL requests for software. DMCA safe-habor clause removes that burden; all they have to do is comply with takedown requests.
"Either way, the next question in the legal analysis is whether the app store qualifies as an online service provider under the Digital Millennium Copyright Act (DMCA). Actually, a court may answer this question first as a matter or practicality. The DMCA limits liability of online service providers for infringing material provided to the service by its users (i.e. app developers here) so long as the provider meets certain conditions. Whether an app store can be considered under the DMCA definition of an online service provider has yet to be tested, but it seems likely given the trend of caselaw that has held such vendors as Amazon and YouTube to qualify."
Sourceforge can get away with that because Sourceforge has no editorial process.
Apple could not continue to operate their App Store in the manner they currently do and successfully pursue a section 230 defence under the DMCA.
I'd need to read the Amazon decision for more insight into how that played out. Seems like a somewhat unsettled area of DMCA caselaw.
DMCA is afaik only valid in the US? So for Apple's stores in other jurisdictions it wouldn't matter?
As for the GPL being a problem for SF in the first place, that sounds odd to me -- isn't that like saying that the company I'm leasing a VPS from is a distributor of the software I make available from my site? Obviously there's a distinction, but it sounds odd that SF should be considered a distributor?
If a company contracted out some code and the contractor stole it from some other copyrighted project, do you really think a court would hold Apple liable, unless there was some pattern of encouraging infringement in the App Store?
I think Apple views freedom as a threat to their business, so if companies are capable of "hate" then I think the statement is accurate.
Take a look at the thread on openbsd-misc "real men don't attack straw men" (his title) which was used to attack the OpenBSD project. They didn't stand for the crap stirring then.
Whilst I think his basic principles are correct, how he conducts himself is purely extremism and compromises those ideals instantly.
Edit: fix a couple of typos. Damn phone!
Apple allows GPL code in the App store. There are many GPL apps (both GPLv2 and GPLv3) in the store.
If you are using GPL code that you do not own in your app, you do need to get a non-GPL license from the owners to allow Apple to distribute it, and so the code ends up dual licenses--special license for Apple, GPL for everyone else.
I also don't understand how LLVM enables non-free software any more than binutils does. I can do:
binutils/cat my_file | my_incredibly_none_free_program | binutils/grep my_pattern
Seriously though, I agree. Stallman here seems to be adopting almost a religious argument, not a pragmatic one. He even announces a refusal to use Skype because it's not free software. If he prioritizes freedom over everything else, then more power to him, but to me talking about who "wins" and "loses" on some kind of arbitrary scale of freedom does not make a compelling case against the use of excellent tools like Clang/LLVM.
I think his argument is just that the whole point of GNU and the FSF is to make free software - if they compromised on that, then what would they stand for? And I think that argument makes perfect sense.
I respect that, even though I disagree almost completely and have no alignment with what the FSF proposes.
Which is a valid complaint given the nature of Skype. There's also tons of other reasons, though. Primarily technical ones.
Either way, software freedom is an important goal and even though I don't necessarily agree with RMS in this case, I understand where he's coming from. So many people seem to have some phobia of accentuating the ethical, freedom and community contexts that the term "free software" implies, preferring the more bitterly pragmatic "open source".
That and this is a very typical RMS rant. This is probably the umpteenth one of the same variation, only with $SOFTWARE being Clang/LLVM in this case.
For the record, I love Clang/LLVM and support BSD licensing. For a lot of software, having an open source development model without the deeper freedom contexts is good enough.
The complaint about using phone would be much better suited for 1950 where "the phone company" owned the phone. You called, was asked to choose between 3 different colors, and then a few days/weeks later they came and installed a phone with the clear label that said "property of the phone company".
This presents an interesting (to RMS) quandary. I take it as a given that he prioritizes the freedom of software over its technical merits (as discussed in other threads). But, even just from the freedom perspective: LLVM increases the amount of proprietary software produced, and also increases the amount of free software produced. Does RMS consider this a worthwhile trade-off? Or does he think that less software overall, and less free software in particular, is favorable to more free software existing and also some proprietary software.
His approach is a lot more nuanced and tactical than it is often portrayed.
Those don't actually contradict it in any way that I can see.
> His approach is a lot more nuanced and tactical than it is often portrayed.
Sure. That doesn't mean that the long-term goal isn't as I've described it (and, in fact, RMS has pretty explicitly said it is for him, though that may or may not be true of the FSF.)
He supported BSD licences for Xiph codecs because he recognised the impact of network effects,
You claim that both these thing are considered "evil", "unconscionable" and "categorically wrong" by him regardless of whatever benefits they create. Clearly RMS disagrees, and is happy to use them as tools to achieve his long term goals in specific circumstances.
> 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.
... which pretty much is the answer to your last question.
You can create proprietary software _with_ GCC just fine, and he has never proposed any measures with which to impose any restrictions on the final output binaries you create with GCC so I don't really follow your reasoning.
The 'problem' with LLVM from his view is that it is easy to incorporate into proprietary software, as well as easy to use in conjunction with proprietary software (through plugins for instance), which means that there is potentially much less incentive to contribute your code back when it's easy to maintain it in proprietary form, which then leads to less 'free' software.
His cynicism has a tendency to come true, so it will be interesting to see if LLVM open source development will continue to flourish or if we will see a slow but steady transition of 'real improvements' happening in proprietary plugins or forked versions rather than contributed back to the open source project.
In some ways we might be seeing it already, last time I heard (which was in september IIRC), Apple had not contributed their A7 support to the open source versions of Clang/LLVM, and are instead keeping it proprietary and only available on the Clang/LLVM versions they ship with XCode on their OSX platform.
He makes a lot of good points and is very aware, but his extreme ideological dedication is what drives people off. Which is a shame, because he's done a lot to convince and further adoption of free software in government and education, plus there's plenty of things one can learn from him.
RMS has a kind of natural law approach to freedom while most 'free' countries have a limited amount of freedom that people give up in order to have an organization that guarantees the remaining freedoms. RMS is much more concerned about maintaing ideological purity than implementing a less ideologically pure system that may or may not benefit users more.
Fundamentally once GNU code supports clang, GCC dev stops because it's codebase a horrible mess.
I don't use the GPL because I cannot honestly say that I understand it entirely. I understand copyleft, but the document is written for lawyers and I am not one. I can't expect users to read it either, much less understand it.
I use the BSD licenses because they are simple and clear. If I ever had to defend my intellectual property, I could do so myself, and the case would be over quick. That is more important to me, as a developer without access to lawyers, than ideological battles.
If you understand copyleft, then you know what you're giving up by not using a copyleft, license. Do you not care about what you gain from the copyleft or don't want what you gain?
The case would be over quickly, but you may not be happy with the result.
If you are not well-trained in copyright law (specifically as it applies to software), you are not going to be able to enforce the BSD license any better than you will be able to enforce the GPL, without a lawyer. There are just so many other ways that a well-funded legal team can give you the run-around.
The whole point of choosing the GPL over BSD/MIT is choosing a copyleft license. If all you care about is ensuring that the recipient is legally granted the rights provided by the BSD/MIT license, then the question of how "easy" it is for the license holder to litigate isn't relevant.
OP's argument was that it would be too much mental effort to enforce the GPL, though that's not really an argument for not choosing the GPL, because simply holding the license doesn't mean he has to enforce it.
If OP actually doesn't want the copyleft provisions, then obviously he shouldn't choose the GPL. But if that's something that he does care about, there's not really any downside to selecting the GPL, and no upside to selecting a non-copyleft license.