4 ms·
The Linux kernel did not even compile on most non-GCC compilers (like LLVM) as recently as a few years ago: https://www.phoronix.com/news/Clang-Kernel-2018 http
by asiekierka 4y ago
The Linux kernel did not even compile on most non-GCC compilers (like LLVM) as recently as a few years ago: https://www.phoronix.com/news/Clang-Kernel-2018 https://www.phoronix.com/news/Clang-Kernel-2018
Therefore, for the Linux kernel specifically, I think the only concern is whether or not GCC remains supported in addition to LLVM - as GCC and Clang are, as far as I know, the only two compilers which actually can be used to build the kernel as we speak. There's work being done on both gcc-rs and rustc_codegen_gcc to allow using GCC as a Rust backend, meaning that all platforms currently supported by the Linux kernel should be eventually capable of being supported without porting a compiler backend.
- peoplefromibiza 4y ago> The Linux kernel did not even compile on most non-GCC compilers I believe that was a feature. non-GCC compiler, like Clang+LLVM, are (were?) considered to be open source but not Free Software (TM)
- planede 4y agoIf it was a feature, what's the benefit?
- peoplefromibiza 4y agobenefit != convenience for some at least, and it was a goal in the first two decades of the Linux kernel community TL;DR: LLVM and Clang allow non-free (proprietary) extensions 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. The cause of the setback is the existence of a non-copylefted compiler that therefore becomes the base for nonfree compilers. The identity of that compiler -- whether it be LLVM, GCC, or something else -- is a secondary detail. To make GCC available for such use would be throwing in the towel. If that enables GCC to "win", the victory would be hollow, because it would not be a victory for what really matters: users' freedom.
- planede 4y agoFor something to be considered a feature, it has to be beneficial to someone. I'm not arguing that the benefit should manifest in convenience. Who benefits from the Linux kernel not being able to be compiled by a certain compiler, and how?
- peoplefromibiza 4y ago> For something to be considered a feature, it has to be beneficial to someone It was beneficial to Linux, the open source and free software, as in GPL licensed, kernel. It was beneficial to its users. It was beneficial to the free software movement. It wasn't beneficial to corporations, probably. Things in fact have changed when corporate sponsored interests raised around Linux as a money maker platform. And when Apple started its war against GPLv3 (suddenly GCC was not good anymore for them) . > Who benefits from the Linux kernel not being able to be compiled by a certain compiler, and how? Again: the fact that Linux was not being able to be compiled by a certain compiler doesn't seem to me it hindered its ability to become the most used platform in the server space (or one of the most used). Any counter proof? ----- As already stated: beneficial != convenient Going to the doctor for regular checks is not convenient, but it's beneficial for your health.
- planede 4y agoLinux remained GPL, compiled with clang or not. It didn't become possible to use Linux in a non-free way, did it?
- peoplefromibiza 4y ago> Linux remained GPL Apple started to use Clang because GPLv3 was stricter than GPLv2. That's why you can compile Linux with Clang, because Apple did not want to use GCC anymore! That was a feature back in the day. It forced corporations to adapt to Linux, instead of the opposite.
- sylware 4y ago
- WastingMyTime89 4y agoThe kernel community has never been particularly interested in the whole free vs open source software debate. The leadership is mostly pragmatic people. It’s just that Linux used GCC extensions and no one was interested in doing the work necessary to have it compile on a non-GCC compiler.
- peoplefromibiza 4y ago> The kernel community has never been particularly interested in the whole free vs open source software debate that's total BS are you telling me that Alan Cox had no involvement in the Free Software? https://en.wikipedia.org/wiki/Alan_Cox_(computer_programmer) https://en.wikipedia.org/wiki/Alan_Cox_(computer_programmer) > It’s just that Linux used GCC extensions and no one was interested in doing the work necessary to have it compile on a non-GCC compiler. the GCC extensions were essential to enforce the GCC supremacy because no other non-free compiler could implement them
- WastingMyTime89 4y ago> are you telling me that Alan Cox had no involvement in the Free Software? I don’t see how your statement contradicts or is even linked to mine. The kernel community as a whole very much has little interest into the philosophical arguments surrounding open source. Apart from being convinced that sharing code is the best way to develop a kernel they have next to no active involvement in the whole charade. See for exemple keeping GPL v2, not opposing TIVOisation, disapproving on technical merits but allowing proprietary drivers and binary blobs. > the GCC extensions were essential to enforce the GCC supremacy because no other non-free compiler could implement them Linux uses GCC extensions because they are handy and GCC was the compiler everyone used to compile C projects for a long time. It’s not intentionally done to promote GCC on ideological ground, something pretty much no one cares about in the kernel community.
- peoplefromibiza 4y ago> The kernel community as a whole very much has little interest into the philosophical arguments surrounding open source because they didn't have to. someone already established that it was the foundation, people like Linus Torvalds, Alan Cox, Maddog Hall and many (not too many, actually) others. The "community" for the longest time has been a bunch of people "is a small and well-defined group: Linus, Maddog Hall, Alan Cox, and somewhere between 6 and 12 others (varying at times)." (Steven Suson, 1999) "Watch the linux-kernel mailing list. The "Inner Circle" becomes very obvious. People go in and out of the Circle, so a list probably isn't possible [...] I would say it includes may be 2 dozen people." (Eric Princen, 1999) > It’s not intentionally done to promote GCC on ideological ground, something pretty much no one cares about in the kernel community. again: you're talking at the present, I am talking about the first two decades you may have forgotten about it, I did not.
- notriddle 4y agoIf course LLVM is Free Software. It’s available in the mainline Guix and Debian repositories, and its Apache license is recognized as Free by the FSF.