Show Your Support: Have you heard of Phoronix Premium? It's what complements advertisements on this site for our premium ad-free service. For less than $4 USD per month, you can help support our site while the funds generated allow us to keep doing Linux hardware reviews, performance benchmarking, maintain our community forums, and much more.
Richard Stallman Calls LLVM A "Terrible Setback"
Richard Stallman's views aren't anything too surprising in this GCC vs. Clang debate but he wrote:
In the free software movement, we campaign for the freedom of the users of computing. The values of free software are fundamentally different from the values of open source, which make "better code" the ultimate goal. If GCC were to change from a free compiler into a platform for nonfree compilers, it would no longer serve the goal of freedom very well. Therefore, we had to take care to prevent that.So while the Clang C/C++ compiler is nearly running at the same speed as GCC and has also spawned many interesting projects with its interesting modular compiler infrastructure design like Gallium3D LLVMpipe, other LLVM GPU back-ends, various language front-ends, OpenCL support, EmScripten for compiling to the web, disassembly/decompilers, and countless other interesting open-source projects that build upon LLVM, RMS says "the existence of LLVM is a terrible setback for our community precisely because it is not copylefted and can be used as the basis for nonfree compilers." LLVM is under a BSD-style license while modern GCC releases are GPLv3.
The Clang and LLVM developers reach different conclusions from ours because they do not share our values and goals. They object to the measures we have taken to defend freedom because they see the inconvenience of them and do not recognize (or don't care about) the need for them. I would guess they describe their work as "open source" and do not talk about freedom. They have been supported by Apple, the company which hates our freedom so much that its app store for the ithings _requires_ all apps to be nonfree.
The nonfree compilers that are now based on LLVM prove that I was right -- that the danger was real. If I had "opened" up GCC code for use in nonfree combinations, that would not have prevented a defeat; rather, it would have caused that defeat to occur very soon.
For GCC to be replaced by another technically superior compiler that defended freedom equally well would cause me some personal regret, but I would rejoice for the community's advance. The existence of LLVM is a terrible setback for our community precisely because it is not copylefted and can be used as the basis for nonfree compilers -- so that all contribution to LLVM directly helps proprietary software as much as it helps us.
If you think we ought to "compromise" on this point, please see http://www.gnu.org/philosophy/compromise.html.
The only code that helps us and not our adversaries is copylefted code. Free software released under a pushover license is available for us to use, but available to our adversaries just as well. If you want your work to give freedom an advantage, use the leverage available to you -- copyleft your code. I invite those working on major add-ons to LLVM to release them under GNU GPL version-3-or-later.
You can read the rest of Stallman's comments with this mailing list post.