Apple Originally Tried To Give GPL'ed LLVM To GCC

Written by Michael Larabel in Apple on 25 January 2014 at 10:55 AM EST. 76 Comments
APPLE
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.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week