I believe that was a feature.
non-GCC compiler, like Clang+LLVM, are (were?) considered to be open source but not Free Software (TM)
I believe that was a feature.
non-GCC compiler, like Clang+LLVM, are (were?) considered to be open source but not Free Software (TM)
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.
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)
> 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
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.
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.
Who said anything about zealots?
please, stop putting words in someone else's mouth.
Linus was a big supporter of free software and the fact that the Linux kernel was free software is what compelled many developers to donate their work for free
They didn't do it to improve NT Kernel or Solaris kernel or... you know it.
---
Software is like sex: it's better when it's free.
-- Linus Torvalds
But Linux didn’t go out of its way to be incompatible with ZFS out of ideology. Sun intentionally picked a license which would not be compatible. That’s why ZFS lives outside of the main tree.
The ideology that’s driving the Linux kernel development: “shared source code leads to better code, user land should never be broken” are very different from the one that led to GCC gimping itself. Generally speaking the kernel community is very technically oriented and doesn’t go out of its way to prevent things for social reasons.
EXPORT_GPL_ONLY
The kernel does care about enforcing the GPL explicitly on some of the interface it presents to modules to ensure the openness of the code which is indeed a form of statement in favour of open code.
I don’t think the situation was the same regarding compiling only with GCC - after all clang is free software - and I think the heart of my argument still hold: the kernel community makes decisions mostly for reason related to the kernel - even there they just want to force code to be mainlined - rather than for the movement like the FSS.
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.
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.
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.
Apple doing open source feels more like PR than anything else (they do "maintain"/"employ the main dev of" cups if I am not mistaken).
And yes, open source is not enough anymore: we need "lean" open source, and that includes the SDK (excluding de facto the ultra-complex c++ and similar).
The real hard part is, once a piece of lean open source is mostly "done", it is to resist planned obsolescence.
That said, I am a "everything in risc-v assembly" (with interpreters of high level languages written in assembly) kind of guy.
do you have any evidence of that? and why are you quoting RMS while talking about development of the linux kernel?
Yeah, the fact that only few years ago Linux was finally buildable with Clang.
If you have any proof that there were other reasons besides "nobody was working on that and the Kernel was using GCC extensions not found anywhere else" I'll be willing to look at them
These debates have been going on since the mid 90s, I don't know why people still ask questions about them, it's ancient history, GCC was the de facto compiler for Linux because Linus decided so and everybody else followed.
If there was no other reason than a philosophical one (the technical one is the GCC extensions) you could have built Linux with MSVC in 1997.
Reminder: the first two decades ended 11 (ELEVEN) years ago.
We are in the fourth decade right now.
> and why are you quoting RMS while talking about development of the linux kernel?
Because Stallman was in charge of GCC and the history of GCC and Linux are almost inextricable from 1991 onwards.
I can't cite sources, but AFAIK Linux uses GNU compiler extensions. The reason is not to lock other compilers out, it's just that some of those extensions are genuinely useful.
Of course.
They are genuinely useful to Linux.
Other did not use those extensions because they did not want to use GCC, for reasons beyond the technical merits, but because GCC is free software
If they could copy them, they would have done it.