Hacker News new | ask | show | jobs
by zanny 3501 days ago
Linux is a kernel, not an OS, and Microsoft has been abjectly hostile to the OSes that use Linux and respect user freedoms.

If they weren't, they would have never pushed hostile proprietary vendor lock in tech like DirectX12 or Universal Windows Platform in recent years.

2 comments

(1) That's hair splitting of common usage. Quoting https://en.wikipedia.org/wiki/Linux

"Linux was originally developed as a free operating system for personal computers based on the Intel x86 architecture"

"Linux has the largest installed base of all general-purpose operating systems."

"Linux is not the only such operating system"

"Linux is also the leading operating system on servers and other big iron systems"

I'm surprised you didn't distinguish it as an OS kernel, instead of leaving it ambiguous as to what kind of kernel it is, e.g. popcorn.

(2) The opposite is true. For example, Ubuntu user-space (i.e. sans Linux kernel) is available on Windows.

> (1) That's hair splitting of common usage.

The operating system's technical name is GNU/Linux[1]. Many people call it Linux incorrectly, but it is actually a serious distinction[2]. I would agree however that Linux is the most widely used OS kernel.

To make the distinction more obvious, can you explain what the difference is between "Linux" and Android (which uses the Linux kernel). [ Hint: the difference is that Android doesn't contain GNU. ]

[1]: https://www.gnu.org/gnu/linux-and-gnu.en.html [2]: https://en.wikipedia.org/wiki/GNU/Linux_naming_controversy

Linux is a class of operating systems which use the Linux kernel. Referring to Linux as an OS, is a perfectly fine thing to generically mean 'an OS which uses Linux as a kernel' and has an agreed common meaning.

Almost no Operating System is precisely GNU/Linux - most have vim, an X server, GNOME or KDE, 7zip etc. And the argument that GNU is a more principal argument is incorrect.

Uhm, you're saying GNOME, the GNU Network Object Model Environment, isn't GNU?
GNOME is developed by the GNOME project, which as far as I can tell isn't actually part of the FSF.

I don't considered everything licensed under the GNU license, or formerly associated with the GNU project / FSF to be 'GNU'.

Even more hair splitting here. Your arguments would matter in court but in general I think it is fairly easy to understand what a user means when he says Linux. For example I say Android is based on Linux.
Except that is exactly the terminology fudging that makes the conversation opaque. Android uses a forked Linux kernel, and uses none of the GNU toolchain that appears on Linux distributions. Android is based on Linux, but not GNU/Linux, and if you use just Linux as an interchangeable term for both kernel and OS including user-space, you could have gotten away with that a decade ago, but today there are enough divergent systems using Linux and not the GNU system that the distinction is required to make sense.
Android patches had been merged into upstream a few years ago [1], so its kernel is actually Linux now, not a fork.

[1] https://kernelnewbies.org/Linux_3.3#head-b733d694037e0b34ad4...

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.

> 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"

So Redhat is hostile towards Linux too then, right? Because if they weren't, they wouldn't push their competing products against Canonical or Suse.

Just because companies release competing, incompatible products, doesn't mean they're "hostile" towards one another.

Redhat is not pushing developers into producing software incompatible with anything but their own system. They are actively involved in the development of almost all core software common to all distros, and even flatpak, which is meant to tear down barriers between distro package formats rather than prop up the wall.

Microsoft could push Windows all they want if they were not also pushing an ecosystem exclusive to that platform along with it. If Windows was "just another unix" and was interchangeable at the user level with other operating systems, particularly those that would respect user freedoms, there would be no issue with its nature as "default" or in Microsofts behavior in regards to its users, because there would be real choice.

Real choice, in exactly the same way Red Hat vs SUSE vs Ubuntu users have right now amongst themselves.

Oh... ok. So because Redhat makes some products that ONLY work on Linux, and are interchangeable between a few distros (although not the supported paid-for versions), you get "real choice".

What's my choice if I'm an AIX user, or a Solaris user, or an HPUX user, or a Windows user, or a FreeBSD user? My choice is to switch operating systems? Sort of like the choice MS provides?

Well, MS is still extorting money from android vendors using os related patents.
That's completely irrelevant. But "extorting" is more than a BIT of a stretch. They've got valid patents that Android handset makers need. Just like they need licensing to even put a cellular modem in the phone in the first place.

If you honestly think Samsung would willingly hand over $10-15 per handset over bunk patents, I've got some oceanfront property in Arizona you might be interested in.

Lots of companies have "valid patents" that are bullshit and not particularly innovative but they don't use them to attack other companies when they can't compete. See Google for example, they only use patents defensively.
Oh, maybe but I don't see what any of that has to do with the topic at hand.

These patents aren't being used passively. They are being used for royalties. And Samsung wouldn't pay the royalty unless there was a strong legal case.

Exactly, they are being used offensively to rent seek. Not defensively (only used to sue companies that sue you).
Many of those patents are directly targeting Linux and all are BS. Samsung earns enough money so that they chose not to enter multi billion dollar gambit where law protects BS software patents.
A quick look at the list tells me you don't know what you're talking about. First one: using cell network and GPS for more accurate positioning.

That has nothing to do with Linux or Android directly, and everything to do with ANY CELLPHONE.

Where is this list ?