Apple Originally Tried To Give GPL'ed LLVM To GCC
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.