Yawn.
Look, i'm actually a GCC maintainer. I was heavily involved in GCC development for quite a while, though I now work more on LLVM.
I'm still a listed GCC maintainer.
I guarantee you, without a doubt, that GCC will die out on its current path.
The only thing that could stop it is if it's no longer an FSF-run project, or the steering committee actually started replacing older members with people still working on GCC, or something else drastic. This would enable folks to do things that currently take a lot of energy to fight about. It may also have to compromise some core values in order to serve the most users.
Yes, LLVM currently lacks optimizations GCC has. But LLVM will do the same thing GCC did to commercial compilers when we started the tree-ssa project, and cherry pick the high end of research, and implement it (it has already started).
As long as GCC stays on the path it is, it will die. It will be a long time, because it has a lot of users.
LLVM is friendlier to developers, researchers, and users.
GCC can't win any fight as long as that is true.
FWIW: I also don't think most GCC developers harbor any illusions about the above. I think RMS may, or may not be involved enough to care, but nobody seriously involved in GCC thinks that GCC is in "a-ok great shape no problems"
The other possibility, of course, is that LLVM will end up on the same path GCC does, and thus, they will be on the same terms again.
I doubt this, since Chris Lattner saw what happened when he tried to merge GCC and LLVM, and despite his flaws, is much more savvy about politics and community policies than GCC is.
Discovering that the only reply to well-written comment from a subject matter expert is an off-topic critique of one word is both annoying and disappointing.
An interesting analysis, thanks! I hadn't realized there was an actual attempt at merging GCC and LLVM. What did happen when it was attempted? Are there mailing list posts or suchlike from the time, that would clarify things?
I can't even remember what year it was, but if you start searching the gcc and gcc-patches mailing lists for emails from Chris Lattner, you can find a proposal was made. Google may be able to find it easier.
A lot of discussion of this proposal happened offline. The end result was basically that Chris withdrew it (though not formally), though GCC would have rejected it anyway.
GCC was mostly unwilling to throw away what they had (nobody was really up for rewriting everything again), and Chris realized it would be a disaster to his community. Imagine trying to unify the stereotypes of the ruby and python communities, or something like that (i use this only as an example of the level of difference in ideologies between the GCC and LLVM communities)
In practice, this was probably the right social outcome given the set of developers/people involved on both sides.
From a pure technical perspective, it's much harder to say.
The only thing that could stop it is if it's no longer an FSF-run project, or the steering committee actually started replacing older members with people still working on GCC, or something else drastic. This would enable folks to do things that currently take a lot of energy to fight about. It may also have to compromise some core values in order to serve the most users.
Yes, LLVM currently lacks optimizations GCC has. But LLVM will do the same thing GCC did to commercial compilers when we started the tree-ssa project, and cherry pick the high end of research, and implement it (it has already started).
As long as GCC stays on the path it is, it will die. It will be a long time, because it has a lot of users. LLVM is friendlier to developers, researchers, and users. GCC can't win any fight as long as that is true.
FWIW: I also don't think most GCC developers harbor any illusions about the above. I think RMS may, or may not be involved enough to care, but nobody seriously involved in GCC thinks that GCC is in "a-ok great shape no problems"
The other possibility, of course, is that LLVM will end up on the same path GCC does, and thus, they will be on the same terms again. I doubt this, since Chris Lattner saw what happened when he tried to merge GCC and LLVM, and despite his flaws, is much more savvy about politics and community policies than GCC is.