GCC and LLVM - What's in a licence?

LLVM compiles faster, but benchmarks of LLVM and clang against the GCC C compiler, show GCC compiled code to be 10 per cent faster, indicating more comprehensive optimisation of the code both at the language and machine levels of the code.

GCC remains the popular choice because of its extreme portability and proven history. Over recent years GCC has taken a stance in support of programming language standards, even where this has caused friction among developers. The virtue of a portable compiler is that it aids the portability of your software.

The virtue of standards is that unexpected language extensions don't produce unexpected results. An uncompromisingly 'free' compiler discourages the inclusion of proprietary extensions.

There will always be arguments over which licence is more useful and/or 'free'. BSD-style licences offer greater short term freedoms, but can be diverted for proprietary ends. The GPL guarantees continued and extensible freedom for the code, but should architectural considerations be subsumed by the greater need for freedom of the code?

Nonetheless, healthy competition between GCC and LLVM has improved the possibilities for everyone. The GCC developers may not have been persuaded to modularise the code base, but have been persuaded to allow plug-ins, after much discussion on mailing lists about the pros and cons of doing so. Plug-ins allow for other licences, and offer a semblance of modularity to third party developers.

GCC's greatest asset, however, may be its independence from any single commercial entity, which ensures adherence to standards and support from all sectors of industry, and freedom from arguments and worries, spurious or otherwise, about patents and proprietary control of the programming languages which are the ultimate instrument of a programmer's freedom of expression.