Stallman on GCC, LLVM, and copyleft
Stallman on GCC, LLVM, and copyleft
Posted Jan 25, 2014 1:13 UTC (Sat) by silvas (guest, #87887)Parent article: Stallman on GCC, LLVM, and copyleft
The reason is that LLVM's development practices create a strong disincentive for keeping any code private because LLVM's C++ API's (which is where 99.999% of development happens) has no backwards compatibility and changes very rapidly, which means that anything that isn't upstreamed bitrots. We've heard tales of it taking months to merge the changes in a single release, or straight up abandoning private branches.
We don't do everything in public purely because of internal constraints of the companies that we work for and those won't go away without significant *societal* changes (i.e., the necessary changes vastly transcend the developers' own attitudes on the issue: we're talking changes at the levels of entire business models).
Now, you may say that "that's the wrong reason" to be pushing things upstream (i.e. it's pragmatic, not dogmatic), and I won't argue with that: it *is* pragmatic. Nonetheless, it is *very* effective in minimizing the deviation of the derived proprietary programs from the fully-free equivalent that you can build on your own from the public repository[*]. Realistically, this means that it maximizes the competitiveness of free programs with their proprietary counterparts[**]. I think is a win for free software.
[*] Note that copyleft has nothing to do with freedom. If you download the LLVM source code from the public repository and build it yourself, you can verify that the resultant program satisfies the Four Freedoms <https://www.gnu.org/philosophy/free-sw.html> and is therefore free software.
[**] Realistically, they are just as competitive along every technical dimension. For example, you'll never see an Apple compiler with better C++1y support than the public Clang.
