4 ms·
It will be interesting to see if the not-so-friendly competition between GCC and Clang (where a license schism bears a large part of the responsibility for the
by keithwinstein 15y ago
It will be interesting to see if the not-so-friendly competition between GCC and Clang (where a license schism bears a large part of the responsibility for the split) can mirror the not-so-friendly competition between GNOME and KDE (where a license schism also bore a large part of the responsibility for the split).
In the GNOME/KDE case, unpleasant as it was, the competition probably ended up helping both desktop environments mature.
- ruediger 15y agoWhy is the competition not-so-friendly? I believe GCC has already improved due to Clang at least a lot of the error message improvements in the last releases seem to be inspired by Clang and GCC has finally added Plugin support.
- keithwinstein 15y agoI'm not really an expert, but my understanding is that the perception from the Apple side is that GCC was basically ok, and they were happy to contribute to it, until the FSF switched to GPL3, which they view as freetard nonsense and totally unacceptable to their needs. My understanding is that the perception from the GNU side is that everything was great and productive with Red Hat, IBM, Apple, etc. all contributing together to one compiler, and then because of Apple's misguided objections to GPL3 and GNU, Apple decided to take its marbles and go home and start funding and working on a new compiler suite. Now we have some companies contributing to GCC and others to LLVM/Clang and there is a lot of over-the-top criticism of GCC. I assume the GCC people also wish they still had all the resources they used to have. That's why I get the sense the competition is not so friendly.
- alanzeino 15y agoWhile I don't discount that perhaps GPLv3 was in fact the reason Apple broke free; for the most part every talk I've seen an Apple engineer (or Google, since they contribute too) give hasn't mentioned the GPL issue.
- wmf 15y agoIt could be embarrassing to admit that you're duplicating a huge amount of effort for essentially non-technical reasons.
- Someone 15y agoNaturally, engineers talk about engineering, not about politics. What the companies think, I do not know. Has anybody ever asked the likes of Apple, Google, or Adobe whether licensing was a decisive factor in choosing to work on LLVM/Clang? My guess would be that the choice would have gone the same way if gcc were BSD (although then, Clang might have been a gcc fork), but that it did not help that it was GPL, as their lawyers could not guarantee that incorporating GPL in their libraries would be possible without releasing them as GPL. I would not blame them, as there is little jurisprudence related to that issue, and certainly no worldwide agreement.
- Arelius 15y ago> Clang might have been a gcc fork I feel the most fundamental motivating factor for the llvm project was Clang. The gcc code generator could be improved, but is fundamentally usable for all things it needs to be used for. But the static analysis that Apple wants to do really is fundamentally incomparable with gcc.
- gillianseed 15y ago>I feel the most fundamental motivating factor for the llvm project was Clang. eeh? iirc LLVM precludes Clang by atleast 5 years and LLVM was initially created to replace GCC's backend while using it's frontend (in fact during most of it's lifetime LLVM has relied entirely on GCC as a frontend and it still uses it through the dragonegg GCC plugin).
- Arelius 15y agoThis is true in actual functionality. But Apple's motivation for contributing to llvm has certainly been to replace the entire gcc toolchain from day one. It was just clear that having a new backend was going to be required to do that, and also a bit easier to implement in the beginning. Apple would have little to no interest in llvm if the plan wasn't to completely replace gcc from the beginning.
- gillianseed 15y agoWell I don't think Apple (atleast not when run by Jobs) was ever 'happy' with GPL. Back in the NeXT days Jobs actually tried to circumvent the GPL when they wanted to use GCC as a backend for their proprietary ObjC frontend by claiming that the end-user would do the linking and it wasn't until it was clear that they legally couldn't do that they submitted the ObjC frontend to GCC. Apple wants to incorporate open source into their proprietary solutions, OSX, XCode, Instruments etc which in turn is part of their lock-in strategy so I'd expect them to remove all GPL code from their systems whenever they can.
- ootachi 15y agoI think there's room for two large open source C++ compilers (GCC and Clang), just as there's room for two large open source Web rendering engines (Gecko and WebKit), two large open source general-purpose scripting languages (Python and Ruby), two large open source statically typed VM languages (Java and Mono), three large open source desktop environments (Unity, GNOME, and KDE), etc. Why people think competition is a bad thing (e.g. "the Web should just be WebKit!") is beyond me.