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.'"
How long until the battle of GPL vs BSD?
*Grabs popcorn*
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.
is preferable to Proprietary Software constructed within obscurity.
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.
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.
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.
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.
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.
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?
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.
I'm starting to think that Richard Stallman is to free software what PETA and the NRA are to vegetarians and gun owners, respectively: Usually there's a kernel of a valid point buried in there somewhere, but the rhetoric is so shrill and overblown that nobody ends up listening for long. All the worse, people start associating all lovers of free software with his level of rhetoric, and zealotry is assumed where none exists.
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.
> 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.
I like to think of it as, why are you doing FREE work for a proprietary company that has no obligation to you other than to possibly hide your name at the bottom of a long list of credits buried in the help menu? This is what the BSD license allows.
If they aren't going to pay me, then I want them to have to contribute back anything they do with my software, which is what GPL requires. THAT is their way of paying me for my time -- that down the road I can save some time by getting help back from them. And not just me, but the entire community gets that help.
If you are ok with that, then who am I to judge? But I don't think it is as simple as "anything other than his way is bad" -- it is more of a question of, does it bother you to do free work for people, or do you not care just because you think its cool? RMS's concern is that it bothers him to put effort in to let lazy people take it with absolutely no acknowledgement and pay, and even worse, prevent you from doing what you want with THEIR copy of your work! It needs to be a 2-way street.
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.
Dude, RMS has his issues, but comparing him to Richard Marx? Harsh.
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.
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.
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.
From the post:
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.
RMS's philosophy assumes a zero-sum combative environment for software: "free and uncapitalizable" vs "open-source and capitlistic". He's consistent and clear, but this zero-sum assumption is false. Closed-source innovations have cross-bred with open many times, either via concept or actual code contributions. The ecosystem mingles every time any coder merges their closed-source ideas with open or vice-versa. Freedom in this case lives at the meta level that allows individuals AND a market to thrive. We're not going back to an age where all the drawers of tapes are unlocked for everyone at all times, but where the concepts embedded in the tapes' content crossbreed and multiply. Freedom has thus encompassed RMS's idea (after all, GPLv3 is not prohibited) and that of a market-based economy. His stance that assumes zero-sum reveals a clear dislike for the existance of the market, which perhaps arose from a time when digital commerce could not be envisioned. However, digital-goods are indeed a very large market and that work to create such goods will come from anywhere, free, paid, donated and even (regrettably) stolen. It mirrors the real world, as it should.
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?
Expert in software patents or patent law? Contribute to the ESP wiki!
Proof: Linux used all over the place, BSD used for Apple.
Anything that falls into the tools category really belongs under GPL. Greater good and all that. If you want your work to be able to be taken improved and sold without any of the benefits coming back to you, fine, but the reason that GNU/Linux won is because anything you wanted to let out of in-house use had to go back out.
Dude, RMS has his issues, but comparing him to Richard Marx? Harsh.
Indeed. What an asshole.
I'm a good cook. I'm a fantastic eater. - Steven Brust
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.
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.
Nothing, so long as you explicitly acknowledge that as a possibility.
it's not just a possibility, it's my INTENT when contributing to any BSD project.
Here's another reason for you why this is of value. You work at a few companies, you work on proprietary code. Over time, you get really tired of writing some of the same code for multiple companies.
But if you are contributing to a BSD project, you get to use the same code no matter what company you go to. You are in fact contributing to other companies for free, where one of those companies is one that you will be working for. You are helping out Future You as much as anyone else.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
Argument from apathy?
How so? I would argue that this drives home the point for Stallman that GCC needs to be better.
Are we going to swear off eating apples because they provide the same level of nutrition to Bill Gates? Fuck that: I like apples
Stallman said,
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.
When open-source was first taking off, the GPL was necessary because only a small group of die-hard believers thought it would work. Having the work "stolen" into a proprietary product that successfully hijacks the userbase was entirely possible, and so a protective license was necessary.
Now, open-source is common. Users are aware enough that it's nearly impossible to hijack a userbase - any good features added to a proprietary version will be quickly cloned in the open-source original, and few users distrust open-source software. Companies are rarely afraid to work with open-source projects or release their code, and many see it as an advantage.
The GPL (and similar copyleft licenses) protects the open-sourceness of the project, but it also limits its usability. BSD or similar licenses do not offer similar protections, but also do not have the restrictions. Now that open-source has cultural, not just legal, defenses, GPL is not necessary unless you consider the open-sourceness of the code to be more important than the usability of the code.
And so I think GPL is best treated as a transitional license. In areas of software where open-source dominates, it is no longer necessary. In areas where it faces strong opposition from proprietary software, it remains useful or even essential.
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.
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.
For example if I write a hello world program in C++ and iostream.h is GPL. Then hello world can't be released unless it also is GPL. See the problem?
Wrong GCC libraries are GPL with an exception, for example
As a special exception, you may use this file as part of a free software
library without restriction. Specifically, if other files instantiate
templates or use macros or inline functions from this file, or you compile
this file and link it with other files to produce an executable, this
file does not by itself cause the resulting executable to be covered by
the GNU General Public License. This exception does not however
invalidate any other reasons why the executable file might be covered by
the GNU General Public License.
Maybe the GCC folks shouldn't have been so complacent, arrogant, and hostile toward their users :-(
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.
Expert in software patents or patent law? Contribute to the ESP wiki!
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.
P.S. I phrased this badly:
> go with the flow, everyone do what they want.
I'm in favour of people doing what they want. The approach I meant to criticise is "everyone do whatever and let's not discuss it, let's just see what happens".
Everyone can and will do what they want, but I'm in favour of thinking about the options. If you want more free software to exist, choosing GPL makes sense.
Expert in software patents or patent law? Contribute to the ESP wiki!
You'll be delighted to hear that for people in the USA and Germany, the process is now just sign it and scan it:
More countries will follow as the legal advice comes in.
Expert in software patents or patent law? Contribute to the ESP wiki!
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.
Linux is still under GPLv2, which has the loopholes that allow companies to make money off it. Like the so called 'Tivoization' aspect. Linus has been pretty firm that Linux would remain under it. Had Linux gone GPL3, people would have deserted them in droves. Also, had the BSD lawsuits been settled sooner, the BSDs would probably have been more successful
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.
With Windows you can file a bug report and hope Microsoft fixes it. But if you're using Windows 2000 they're going to tell you to shove off and you have no recourse.
I can go back and hire someone to port a feature or bug fix back into the 2.2 Linux Kernel if I want. It will be costly, because not many people are familiar with the 2.2 kernel anymore, but I bet I could find someone if I looked hard enough and paid well enough.
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.
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
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.
Either you believe exactly as I believe or you're an enemy. This doesn't help much.
I'm also reminded that the original gcc development stalled under Stalman's/FSF leadership. It barely made it out of 2.7.x, had a barely usable 2.8 release. The egcs project was born out of the fact that the mainline compiler for most Free UNIX was both broken and incomplete. If he wants people to use FSF code, he has to make them best of breed, or at least close to that. Though he'd hate that the quote came from Steve Jobs, he'd be best to heed "Real artists ship".
I call Richard Stallman's lack of bathing on a regular basis a terrible setback.
- Zav - Imagine a Beowulf cluster of insensitive clods...
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
LGPL itself has restrictions. For example, you have to make sure the end user can modify the library, relink the application with the modified library, and produce an executable. On a PC-like platform, you can satisfy this by making the library a DLL or by providing .o files of the proprietary part. But it rules out use of an LGPL library in a program for a platform that enforces digital signatures and uses hardcoded root certificates, such as iOS, Windows Phone, Windows RT, or a major game console.
No adults listen to that mental nutcase. This is not news, just a rant by a crazy idiot.
> undermine's Stallman's argument about corporations not supporting
The LLVM model for attracting funding doesn't scale, and it defeats itself in the long term.
LLVM are only getting funding because Apple wants to undermine GCC. Most projects can't be used in that way, so they can't be of any interest to the Apple category of funders. And Apple's interest in funding the free parts of LLVM will dry up as soon as they (if they ever) achieve the goal of undermining GCC. The LLVM licence allows Apple to switch to a proprietary approach whenever they want. (Although, in reality, they'll continue to contribute the non-flashy bits of code - the stuff they want other people to maintain for them.)
Expert in software patents or patent law? Contribute to the ESP wiki!
From what I can tell, GCC is still the better compiler. It is better supported (lots of things won't work on clang or llvm-gcc) as well. LLVM/Clang tends to compile a bit faster (which doesn't matter unless it's an order of magnitude) while the binaries that GCC produces tend to run more efficiently. There's a nice benchmark comparing GCC 4.7 to Clang 3.1 (in Apr 2012) which demonstrates this.
I'm sure LLVM has been well designed and perhaps can do better with JIT and similar concepts (which you'd have to compare to e.g. GNU Lightning), but GCC is still king. Stallman's complaint is that it's getting attention and therefore it may become better than GCC over time, which he argues would be bad for developers on the assumption that eventually a game-changing feature is released for LLVM that is nonfree and then everybody will be forced to pay for it, a fate that the GPL'd GCC cannot suffer.
Use my userscript to add story images to Slashdot. There's no going back.
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.
How much of OS X is open source?
All of it except for the UI layer.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
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
> undermine's Stallman's argument about corporations not supporting
The LLVM model for attracting funding doesn't scale, and it defeats itself in the long term.
LLVM is a University of Illinois project and was funded and active before Apple got involved. With respect to contributors LLVM seems very much like the Linux kernel, mostly corporate sponsored developers. Last I heard volunteers accounted for only 16% of Linux contributors, the rest coming from Red Hat, Intel, IBM, etc. Your theory of long term defeat due to corporate sponsorship makes no sense. Not one line of contributed code will disappear if corporate sponsorship disappears. The volunteers and academics involved, be they LLVM or Linux, can continue on unimpeded. Their project merely no longer receiving "external" acceleration.
LLVM are only getting funding because Apple wants to undermine GCC.
Apple does not want to undermine gcc. Apple merely wants a compiler that will allow for signed apps. Gpl v2 allowed this, gpl v3 does not. Apple had three choices. Continue with the gpl v2 fork of gcc, switch to gcc gpl v3 and abandon their signed app requirement, or find another compiler. Finding another compiler and getting away from the political drama of the FSF seems the best move. Especially given promising alternatives like LLVM.
Your argument is further undermined by all the interest within the Linux community of getting things to work on the LLVM toolchain.
Yes because some of the features in LLVM/CLANG are in direct conflict with design decisions made by RMS about GCC with regards to integration into other tools. This isn't a lack of ability option on the part of the GCC team, it is a lack of intent, or rather deliberate intent to NOT implement for religious reasons.
I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
Actually, people take BSD code and put it in closed-source products all of the time. (eg, Xcode).
I'm not saying that everything should be GPL....it's entirely fine to use BSD if that's what the creator wants. But it's important to realize that in the longer term, GPL is going to give a future developer more freedom to customize the work to their own tastes, regardless of what kind of evolution it has gone through since originally developed, and regardless of whose hands it has passed through to get there.
Many people who advocate BSD over GPL do so because they stand by the conviction that a person ought to be allowed to close up the source code of a work that they built... and even I am compelled to objectively agree with this proposition, but when it comes to the matter of derivative works, it isn't necessarily just what they built anymore... it is still ultimately copyrighted by the original distributor.
And bearing in mind that under plain ordinary copyright, you actually need to get permission from the copyright holder in order to make a derivative work of something at all, the only real difference between BSD and the GPL is that the requirements for getting permission with BSD (keep the copyright notices intact) vs getting permission with the GPL (agree to the terms of the license, and release your changes under the same license), is that the former's requirements are lax enough that someone is able to take whatever they want for nothing more than credit and not offer anything back. In the longer run. GPL offers more freedom for future developers than BSD does, since with BSD, the amount of freedom can only monotonically decrease as the work evolves over time, passing through different hands, while with the GPL it is guaranteed to remain stable for as long as the terms of the original copyright stand.
File under 'M' for 'Manic ranting'
Except for all the companies that do develop and distribute GPL'd software, notably Cygnus (one firm that charged large sums of money for GCC enhancements) and now Red Hat which bought Cygnus. And there's no evidence Apple "accidentally infringe[d]" when they chose to stop distributing GNU Go rather than include complete corresponding source code after being caught infringing the GPL. There's no evidence accidental infringement was at work when Apple "prefer[ed] to impose Digital Restrictions Management (DRM) and proprietary legal terms on all programs in the App Store" (as the FSF put it) when Apple was caught violating the GPL in their distribution of VLC. There's no evidence NeXT accidentally forgot to comply with the GPL back when they commercially distributed their illicit GCC variant to NeXT users. In fact, as Brad Kuhn points out, the FSF has long worked with those not in compliance to silently get them into compliance. We only hear about the cases where the company is obstinately refusing to comply for long periods of time before GPL enforcers at the FSF or Harald Welte (who holds copyright on some code in the Linux kernel) publish details of the ongoing GPL non-compliance. The FSF has a history of seeking compliance rather than punishment. Your characterization of "getting smacked" for accidental infringement is not at all supported by available facts from the aforementioned parties. Regardless of license, how any copyright holder behaves in the face of copyright infringement is up to them, not the GPL.
But the real tip off in your response harkens back to the main misunderstanding of this issue—different values lead to different conclusions. It's important to explicitly draw out those values and conclusions so one isn't led into a trap. The older free software movement doesn't share the same values as the younger open source movement. Caving into business desires for control over the user via proprietary derivatives of free software is okay with the younger open source movement and objectionable to the older free software movement.
The GNU GPL isn't honestly described as an "open source" license because that framing misconstrues what the GPL says and why the GPL exists. The GPL was written by Richard Stallman whose main work since his time at the MIT AI lab has been the pursuit of software freedom for all computer users. Stallman is clear to explain this history and correct people on this issue at virtually every talk I've heard him give, so it's not hard to find a recording of a talk where someone, such as you, tries to position his work in terms of a movement that doesn't agree with his values. The open source movement was founded to "sell" free software to businesses by being silent about the main issue the free software movement stands for—a user's freedom to run, inspect, share, and modify all published computer software. This leads to very different outcomes when faced with reliable, powerful proprietary software. The open source movement does not care for a serious discussion of ensuring user equality of access. So when you frame the FSF and the GPL in terms of "open source" and a priority to get companies to use GPL'd software (thus objecting when companies like Apple can't proprietarize GPL'd software), you fundamentally misunderstand what the free software movement is about and why the GNU Project exists.
The free software movement is not about a popularity contest. A wider audience which comes at the expense of software freedom for all is unwelcome (very much in line with the ethic of "a freedom is a privilege unless enjoyed by one and all"); those acts are called out and carefully explained so others become wise to their tactics. There are businesses that develop and (even commercially) distribute free softwa
Digital Citizen