Apple Originally Tried To Give GPL'ed LLVM To GCC

Posted by Michael Larabel in Free Software on 25 January 2014 10:55 AM EST

Phoronix was the first to report widespread on Richard Stallman calling LLVM a "terrible setback" with the innovative and growing compiler infrastructure being put out under a BSD-style license instead of the GPL. Well, a little known fact is that when LLVM was first starting out, Apple tried integrating LLVM changes with GCC but it was rejected by the GCC developers.

While many were quick to turn anti-Apple after Stallman's comments and there was the always heated BSD vs. GPL fighting, LLVM originally was proposed for integration with GCC and under a GPL license until upstream GCC didn't welcome the work.

I was reminded in a private email exchange this morning with a Phoronix tipster that Chris Lattner in his early days at Apple was working on LLVM/GCC integration and -- with Apple's support -- was willing to contribute back his changes into the upstream GNU Compiler Collection under the GPL. The code at the time was already under the University of Illinois' open-source license but the authors were willing to re-license to the GPL.

There's several messages about this back in November of 2005 that began with Chris Lattner writing the LLVM/GCC Integration Proposal and the actual LLVM integration patch, etc.

However, in the end it was the GCC developers that rejected Apple's willing GPL contribution to GCC (still in the pre-GPLv3 days when GCC was GPLv2 licensed). The upstream GCC developers didn't want LLVM because of wanting C instead of C++ code, GCC developers didn't like the modular and library design of LLVM, LLVM wasn't formally "done" at that point, and there was some "Not Invented Here" syndrome going on by the FSF developers.

There's plenty of other old mailing list posts you can read through from November 2005 that show Apple was trying to do the good thing back in the early days. Since then we have seen GCC adopt support for compiler plug-ins, a rather new GCC JIT compiler option, talk of GCC 5.0 possibly being more modular, and GCC building in C++ mode. So while LLVM was originally critique for some of these features not wanted at the time in GCC, since then the Free Software Foundation developers have moved in that direction.
(source)
 
Old%20Hippie%20-%20Dancing%20with%20flute.jpg


Give that man some glow sticks, yo!
 
kpa said:
This just further and further reinforces my view that Stallman is a raving lunatic.
Not that my opinion matters for much, but, while I sometimes disagree with Richard Stallman, my sense is that his motives are genuine. I respect him, along with his eccentric personality, for his significant contributions. FreeBSD and free/open software in general simply wouldn't be where they are today without a lot of the GNU tools, including GCC, and GNU. In some ways the communities compete, but it seems to me that the commensalism is more important. For the record, I'm no GNU/Linux fanboy either. I've used FreeBSD almost exclusively since the 2.x days. I just think this senseless back and forth of unconstructive criticism is unproductive. Having said all that, as things stand, I prefer FreeBSD for reasons that have been mentioned here ad nauseam. Now I'll put my bicycle back into the unpainted shed.
 
Each and every system can be used to improve each and every other system. Redundancy? Yes; but, we should be working towards improving all systems.
 
Although Mr. Stallman may be a lunatic or someone (extremely?) driven by his own passion I still think he's the kind of lunatic we need. Even though I don't agree with many of his opinions (for starters the definition of freedom and the ways to defend said freedom) I also think that there are many points where he is fully right. And sometimes it seems as if he's the only one who actually dares to state his opinion, even though he knows that there are many people out there who may not like the things he has to say for one bit.

Even so, I can't help wonder if this outburst won't have the exact opposite effect as that intended. Because with this statement he's obviously acknowledging LLVM as something to keep in mind, at the very least something worthy to form an opinion about.

I always wonder; how many people unaware of the LLVM project will read this, wonder "LLVM? what's that?" and end up on coming across the name Clang and then go try it out "just because".
 
Given the problems I have had with recent versions of GCC (4.7 and 4.8 in particular) I am very glad Clang/LLVM exists. Clang has made my work faster and easier. I no longer feel like I'm fighting with my compiler. It seems to me that the GCC folks should be a little less focused on idealogy and more on fixing the problems with their software.
 
If there was no Stallman, one would need to invent him. Such persons are really needed and are more or less the salt in the soup of life.

You may not agree with him, but he provides a valid point which you have to deal with. And that is why I support him and others who have some 'interesting' ideas.

LLVM/Clang may be seen to compete with GCC, but it is not. It helps the GCC folks to get their heads out from wherever they may have it and improve the compiler. I recently read some older articles and papers about compiler technology and often found that there was the impression that compilers were now as good as they could become. Well, that was about 20 years ago, and we know what happened since then. And what would have happened when no one provided options?
 
Crivens said:
LLVM/CLang may be seen to compete with GCC, but it is not. It helps the GCC folks to get their heads out from wherever they may have it and improve the compiler. I recently read some older articles and papers about compiler technology and often found that there was the impression that compilers were now as good as they could become. Well, that was about 20 years ago, and we know what happend since then. And what would have happend when no one provided options?

That is competition.
 
wblock@ said:
Crivens said:
LLVM/CLang may be seen to compete with GCC, but it is not...

That is competition.
That depends on the definition of competition. Competition is linked to a ranking, to maximize success. Is it the intention of the LLVM folks to kill off GCC? I don't think so. They cater to different user groups, these overlap a lot but are still different. The common area they have pushes the other side to improve in that area. This is more of a synergy, not competing. GCC is not worse off because of LLVM/Clang, or is it?
 
It is competition and healthy competition sure but it seems that the GNU camp is now trying to convince everyone that LLVM is an abomination and should not be used. All because it's too liberally licensed in their view. It's not at all different how protestantism was portrayed in their official communique by the catholic church in the 16th century.
 
Crivens said:
wblock@ said:
Crivens said:
LLVM/CLang may be seen to compete with GCC, but it is not...

That is competition.
That depends on the definition of competition.

Well, yes. They are competing for usage and acceptance.

Competition is linked to a ranking, to maximize success. Is it the intention of the LLVM folks to kill off GCC? I don't think so. They cater to different user groups, these overlap a lot but are still different. The common area they have pushes the other side to improve in that area. This is more of a synergie, not competing. GCC is not worse off because of LLVM/Clang, or is it?

GCC is fine... for now. It's not likely that Clang developers are sitting around plotting to push GCC down the stairs. Instead, they just want to be as good or better. The threat to GCC is that maybe Clang really will become better, then their developer base would shrink and they would not be able to compete and fade away. In the open source world, that can happen quickly. Around 2004, practically the whole world jumped from XFree86 to X.Org.
 
wblock@ said:
GCC is fine... for now. It's not likely that Clang developers are sitting around plotting to push GCC down the stairs. Instead, they just want to be as good or better. The threat to GCC is that maybe Clang really will become better, then their developer base would shrink and they would not be able to compete and fade away. In the open source world, that can happen quickly. Around 2004, practically the whole world jumped from XFree86 to X.Org.
So, if they want to do something against this, then they should get their act together and be better. Otherwise, CLang may beat them fair and square. This would maybe scratch the ego of those who treat the number of users as their measure of self. But in the end, if it happens, then it is that the decisions they made in the past came back to bite them. It happens to all of us. Show me one who can not cite such a thing happening to him, and maybe I can show you someone with no real experience in his field.

Maybe these decisions were good at the point they were made, maybe they can not be cured now. That does not matter, it can happen and has happened. To me, too. So what? Yes, shit happens. The GCC developers will, in any case, have the merit to have created the dominant open source compiler for how many years? That is one thing to be toped, sure. They could have done things differently, LLVM would not exist then and we would be where? Better of? I would say: No. The decisions have led to LLVM/CLang being created and improved. That led to GCC playing catch-up in some places. So in the end, I think they made the right decision.

We, as users, can now choose. They, as developers, can try to be better than the other party wherever possible. So even when GCC one day goes the way of the dodo, the compiler collection to replace them would not exist without them.

Loosing in a fair game, that is fine to me. But this "Witch! Burn it!" way of conduct... that gets me up in arms.
 
Back
Top