GCC and LLVM - What's in a licence?

The argument for and against LLVM is that it more easily allows third parties to retain proprietary control of their code, and its structure is uninhibited by the constraints of the licence. LLVM is modular.

Modularity and simplification have opened the way to other advances, such as the option of JIT (just in time), or inline, compilation, and have made it easier for companies, such as Apple, who use LLVM to build the latest versions of OS X, to include proprietary language extensions or build LLVM into proprietary coding environments, if they so wish.

Chris Lattner, one of the original architects of LLVM, is now employed by Apple, and Apple has a significant investment in the development of LLVM and of clang, the native open source C/C++ compiler that is built on the framework of LLVM.

LLVM development continues to be hosted at its original base at the University of Illinois at Urbana, Champaign, and has a nurtured a flourishing community among open source and proprietary developers. Arguably, LLVM is more approachable and easier to build a language compiler into than GCC, and probably for this reason, LLVM has gained a march on GCC among the developers of the more fashionable programming languages such as Ruby, Python, Haskell, Pure and Lua. Where a native implementation of a language isn't available, LLVM often employs the GCC 'front end' for that language.