Hacker News new | ask | show | jobs
by bisby 3501 days ago
Alpine doesn't use GNU by default. And it would fit into what I call "Linux".

The "operating system" is not "technically" "GNU/Linux" - that's just what Richard Stallman wants it to be.

Stallman wants the definition of "operating system" to be the fully usable system. In which case Linux won't work. You need GNU coreutils. But you need a lot of other things too, why are the other things omitted from the naming?

Windows on the other hand is clearly an "operating system." Does this mean that the OS is "Ubuntu" or "Alpine"? Or are they just distributions still? In this case GNU/Linux is still not the OS.

Dennis Ritchie once referred to the kernel as "the operating system proper", albeit when describing various parts of unix (https://www.youtube.com/watch?v=JoVQTPbD6UY#t=1m28s). I think Ritchie's opinion is much more valid than Stallman's. [edit: this doesn't prove that the operating system is just the kernel, but that it's not far fetched to refer to the kernel as an operating system, or in that case to refer to an operating system by the kernel]

The short of it is that when people say that Linux is an operating system, perhaps they mean "a family of operating systems based on the same kernel" but that's a mouthful. And since most people would include things like Alpine in there when they say "linux", they clearly arent just referring to GNU/Linux. Thats one of those things where "Windows 10" is a different version of "Windows" than "Windows 8" because the bundled user space is different... but theyre both "Windows". If something requires Windows 10, I can say "requires windows 10". If it just generically works on windows 3.11 until present, I can say "works on windwos". "Alpine" is a version of "Linux", and so is "Ubuntu". Ubuntu just also happens to fall under "GNU/Linux". If something requires GNU, i can say "requires Linux with GNU" and otherwise "requires Linux" is absolutely correct. If something requires a specific distro, then you can specify that, otherwise you go for the lowest common denominator. (a lot of things that "require linux" will work on unix/BSD too, but no one throws a fit over that).

Also, the most important factor is that communication is about conveying thoughts effectively. If you understood "Linux" well enough to try to correct it, then you understood and thoughts are conveyed. That also means insisting on GNU/Linux for colloquial use is just pedantic.

2 comments

> Alpine doesn't use GNU by default. And it would fit into what I call "Linux".

I'd have no problem calling Alpine musl/Linux or whatever.

> You need GNU coreutils. But you need a lot of other things too, why are the other things omitted from the naming?

Calling GNU/Linux also reflects the history of the operating system. This is actually the main reason that Stallman objects to calling it "Linux" -- because you're ignoring the fact that GNU came first (and the reason why GNU exists, which lead to all of the other projects you're talking about). You wouldn't have X.org, vim or many other projects without GNU -- simply because the community wouldn't have existed.

> If something requires GNU, i can say "requires Linux with GNU"

... no. Because you can run GNU/kFreeBSD, GNU/kNetBSD or even GNU/NT. How would you describe GNU/kFreeBSD to someone (remembering that to users it is basically indistinguishable from GNU/Linux)? "It's like Linux but doesn't have Linux in it?"

> How would you describe GNU/kFreeBSD to someone (remembering that to users it is basically indistinguishable from GNU/Linux)? "It's like Linux but doesn't have Linux in it?"

Exactly like that. I've heard people refer to all posix systems blindly as "unix" and its not worth correcting. If someone knows what GNU/kFreeBSD is, or cares to discuss it, we can discuss it. But generally speaking, I try to keep things concise. When I say "linux" im not trying to go into details, otherwise I'd specify that I'm using arch, ubuntu or whatever. I'm trying to lay down a generic concept of a group of operating systems. And saying "GNU/Linux" doesnt help me convey that idea any better to 99% of people. "linux" is just slang for "gnu/linux".

So if you want to say gnu/linux out of respect for stallman, sure. go ahead. but im not going to.

Stallman's definition is correct. The operating system for everyone else includes the userland and libc. Luckily this is what made LX and the Windows equivalent possible, though.
Ok then my second point stands. If I bought a new car and you said "Nice wheels" (is this slang still in use?) and I said "What you're referring to as wheels is actually car/wheels", you'd think I was an idiot.

If someone says just "Linux" they colloquially mean "Linux based operating systems" or perhaps even "Linux based operating systems like those in the most common distributions".

If I say "IE only runs on Windows", people dont argue that it doesn't run on Windows 3.11. They just know that "Windows" means "modern Windows" in this case, or at the very least, the implication that IE DOESNT run on competing operating systems. I mean, if I'm in a debate about Microsft vs Apple and I say "but for DirectX 12 and games you need Windows!" - here I specifically mean Windows 10, but "Windows" is enough to distinguish it from competitors.

If I say a game is for "Windows and Linux" or "Windows and Mac, but not Linux", its safe to say you understood what I'm talking about. And arguing otherwise means you're being pedantic.

If we're not currently in a discussion about differences between kernels or even libc implementations (in those discussions, it's safe to assume we're not using a colloquial definition), then it is safe to say that "Linux" means "Linux based operating system"