4 ms·
It, sadly, goes deeper than that, past architecture to philosophy. LLVM is designed to be modularized and embedded in other binaries and toolchains, which make
by fixermark 11y ago
It, sadly, goes deeper than that, past architecture to philosophy.
LLVM is designed to be modularized and embedded in other binaries and toolchains, which makes it easier to build extensions and tooling around it.
In addition to having a mountain of legacy code, gcc's project steering is philosophically opposed to allowing non-free (as in GPL) plugins [https://lwn.net/Articles/582242/ https://lwn.net/Articles/582242/]. Because of this, developers looking for the most flexible toolchain seem to be backing slowly toward the exist regarding gcc, as the Clang / LLVM steering team has made clear that they don't see similar incompatibilities between their tool and the way developers choose to use it.
There is a project going on to break the gcc down into components [https://gcc.gnu.org/wiki/rearch https://gcc.gnu.org/wiki/rearch], so time will tell what comes of these two toolchains.
- alblue 11y agoI think you have a typo in exist -> exits? Either that or I couldn't understand the sentence.
- fixermark 11y agoYep. Thanks for catching. :)
- chii 11y ago> gcc's project steering is philosophically opposed to allowing non-free (as in GPL) plugins I think that's the right philosophy. Why shouldn't you be contributing your plugin if you derive value from it, so that other people can derive value from it just as you did with GCC (if you distribute it that is - if you wrote it inhouse for internal use, then it doesn't matter at all!). It's not like the code generated by GCC is licensed virally. It's a shame that GCC's code is hard to modify, and difficult to extend. LLVM's permissive license means that contributions don't flow back unless it's favourable to the entity contributing it (such as good PR). I imagine that if somebody/some company wrote an excellent, non-obvious, non-trivial toolchain using LLVM, derive profit from it, they will not _want_ to contribute it back.
- dietrichepp 11y agoThe philosophy went farther than, "We want GCC plugins to be free." It went to, "We want GCC plugins to be basically impossible, because otherwise the risk of non-free plugins is too high." So, the FSF sacrificed technical needs in order to serve philosophical goals.
- fixermark 11y agoAnd in essence, the market is interpreting onerous licensing as damage and routing around it (to bastardize a famous quote about Usenet) ;)
- fixermark 11y ago> LLVM's permissive license means that contributions don't flow back unless it's favourable to the entity contributing it (such as good PR). There are multiple reasons to push code up the chain to the wider world beyond fuzzy feelings regarding your corporation. Never underestimate the benefits of outsourcing your code maintenance and integration costs. ;)
- dgellow 11y agoThere is no such thing as "the right philosophy".