On 4/17/21 12:11 AM, NightStrike via Gcc wrote:
I was under the (likely incorrect, please enlighten me) impression
that the meteoric rise of LLVM had more to do with the license
allowing corporate contributors to ship derived works in binary form
without sharing proprietary code. Intel, IBM, nVidia, etc. are
I think this is a blinkered view. Sure, there are companies that build
proprietary toolchains using llvm as the base but I would argue that it
is the *result* of the rise of llvm and not the cause.
The cause IMO is accessibility to other projects, most notably compiler
researchers and students who find it a lot easier to target llvm than
gcc because compiler-as-a-library. License may have been a factor for
some of those uses (e.g. I know some who think copyleft is not free
enough and BSD style licensing is the *real* freedom), but concluding
that it is the major reason is to delude ourselves.
It is also the reason why gcc does not even figure in situations where a
larger project would need AOT or JIT compilation; we had to concede that
ground all because of the FSF/GNU fears that companies would make
proprietary compilers out of a gcc compiler-as-a-library.
Of computer science graduates I have encountered over the last decade, I
know few who started their journey with gcc and they were all in the
initial part of the decade. In recent years I don't think I encountered
any student who works on gcc; many even start with the assumption that
gcc is in maintenance mode.
So to summarize, the reasons why llvm is gaining traction *today* (I'm
sure there are more):
- Compiler-as-a-library - llvm is the first choice in FOSS projects and
use cases are exploding with gcc nowhere in sight
- Mindshare - most students and researchers are focused on it
- Funding - llvm has a much stronger funding ecosystem than gcc. This
includes direct funding from the foundation and development workforce
from various organizations and universities.
- License - Companies are building proprietary solutions on top of llvm.
Siddhesh