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.'"
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 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.
Many people started moving away from the GPL with version 3.
If you want news from today, you have to come back tomorrow.
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'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.
Absolutely the case. I just find it entertaining that everyone gets so caught up in the how we make our software free that they forget it's still open source either way. Let the dev choose how they want others to use their code and don't worry about it. Do we have to have one license without the other? Can't they coexist peacefully?
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.
I like to think of it as, why are you doing FREE work for a proprietary company that has no obligation to you
Because it makes everyone's life better. If that's not reason enough, I don't know what else to tell you.
What's wrong with doing work that you expect ZERO acknowledgement from anyone? I learned something doing the work, and something else somewhere I might use one day works better as a result. That's a win no matter how jaded a filter you chose to apply.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
RMS couldn't care less if other companies profit off of his work.
What he cares about is some company taking his work, making it better, selling it back to him and then not letting him hack on it, fix it, port it to unapproved hardware, use it for unapproved uses, et cetera.
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.
The part of Software freedom, is using software to do things with it that the original author may not agree with.
The GPL 2 had enough loopholes in it to allow for companies to make money off of it, where they will normally contribute back. The GPL 3 put screws on the company, because in RMS land the only way you can make money off of software is the following...
1. Redistribution - this is a dying market as the need to ship and package distributions is reduced.
2. Consulting/Training services - this work just as long as your application is complex enough to need such. If you have an easy to use app who needs to hire a consultant to use it.
3. Maintenance/Support - This assumes your software is so mission critical that it will need maintenance and support.
4. Fame - Your project is so popular you are famous for making it.
5. Cross License - You have an other license for your benefit.
Now there are projects that are free for just being free, built as a hobby, or a side affect of an other project you are working on. Those are all fine and good, however those are difficult to keep up to date.
Now the BSD is even more open initially, you as the developer just kinda puts it out there. And yes companies and take and profit from your work... However they become dependent on it and it is their best interests to keep the project running, and will work with the main group to keep it things up to date.
If something is so important that you feel the need to post it on the internet... It probably isn't that important.
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!
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.
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
One one side of the battle is RMS, on the other side is nobody.
Everybody else just stayed home and kept coding because none of them really care about this battle.
Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
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.
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.
Then use only GPLed software on your computer.
This story is about Stallman complaining because other people don't agree with his vision. Too bad.
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!
The existence of LLVM is a terrible setback for our community precisely because it is not copylefted and can be used as the basis for nonfree compilers — so that all contribution to LLVM directly helps proprietary software as much as it helps us.
Isn't it sad the way he sees this as a loss in the war of "Us versus Them" rather than as a "technically superior compiler" resulting in a bigger pie for everybody?
Well he doesn't just care about technical superiority. He has never claimed that "free software" is important because it is inherently technically superior to proprietary code, or that it will always be more secure.
In fact, the term "open source" was coined during the late 90s dot-com bubble precisely because Stallman has always argued that there are important ethical principles at stake in software development, and some people were worried that this concept of "behaving according to a set of ethics" would sound too much like hippy 60's nonsense. Businesses might be discouraged, and then how would we have got crazy stock market floations, dizzying P/E ratios and Scrooge McDuck-style money baths? Instead they wanted a way to push this growing set of software with revised presentation approach that was value-neutral, and so they came up with the idea that by rebranding it as "open source" and stressing only its supposed technical merits, the men in expensive suits would not be disturbed from their vocation of grabbing as much money as possible.
You might not agree with Stallman's view on ethics - many don't - but it is a little sad to see how much crap he gets even for suggesting that people should stop to consider ethics before reaching for "a bigger pie for everybody".
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.
No, then he'd want to use all BSD/public domain software. GPL software explicitly prohibits you from doing whatever you want with the source, you are required to give back if you distribute derivative works.
Agree about Stallman though - "Oh no, somebody is giving technically superior code with no restrictions to both us and our ideological competitors. The horror!". Yes, perhaps a legitimate tactical setback in terms of some sort of ideological "war", but if a compiler built within the self-promoting GPL ecosystem can't compete with the advances in an unrestricted BSD project then perhaps he should spend more time examining why that is and less time complaining about freely available superior products offering their advances to "the enemy" on equal terms.
--- Most topics have many sides worth arguing, allow me to take one opposite you.
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.
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
Yes, there is: Patent law.
> 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!
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.
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
Even windows wouldn't be here (or at least not on the Internet) if not for open source. BSD/SystemV is not just the base for OSX but also large parts of VMS and subsequently NT as well as the BSD TCP/IP stack and the POSIX layer within NT.
Custom electronics and digital signage for your business: www.evcircuits.com
Only in how fast it generates code. Code generated by GCC is still faster than code generated by LLVM.
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.
Clang is slightly faster than GCC, when compiling at the same optimization level.
Clang is written in C++ and modular, and as result of this, it is more embeddable in third party projects and it can target multiple platforms with a single executable. Work is being done in GCC to address this but I'm talking about released code here.
But when we consider less "hip" features, GCC makes faster code (which is usually the foremost interest of a compiler's user). And GCC supports more target platforms. And GCC supports more language features (FORTRAN, OpenMP, VLAIS).
A GCC developer's benchmark about GCC's vs clang's speed of compilation and of the resulting code.