this post was submitted on 13 Oct 2023
328 points (92.7% liked)
Linux
48390 readers
734 users here now
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
It's not unusual to see people talking about android users being Linux users "because android is Linux too" clearly not understanding the difference between Linux the OS, i.e. GNU/Linux, and Linux the kernel. So it's useful when you have to make such a distinction.
Exactly. When I say I want a Linux phone all I get are Android options. What I want is a GNU/Linux phone that I can run full Linux distros on.
Alpine or PostmarketOS works for older stuff. Some others will run Ubuntu as well.
Instead of "Linux on [phone]" try using Debian/Ubuntu or one of the mobile-targeting distros as a keyword
Alpine is also arguably not "GNU/Linux", as it doesn't use GNU Core Utils or glibc. But I don't know anyone who would suggest that Alpine isn't "proper Linux".
As you point out, what you want is a phone you can run “full Linux distros” on. Ask for that. That request is completely clear and well defined. What does GNU have to do with it?
You are totally confused. In words of R. Stallman:
"The kernel is an essential part of an operating system, but useless by itself; it can only function in the context of a complete operating system. Linux is normally used in combination with the GNU operating system: the whole system is basically GNU with Linux added, or GNU/Linux. All the so-called “Linux” distributions are really distributions of GNU/Linux".
"Today there are many different variants of the GNU/Linux system (often called “distros”). Most of them include nonfree programs".
https://www.gnu.org/gnu/linux-and-gnu.html
The distinction is between talking about Linux distributions and the Linux kernel. By far the most common understanding that saying just “Linux” refers to a Linux distribution or to the ecosystem of distributions collectively. When people want to talk just about the kernel they say so—they say Linux kernel.
The kind of people that want to claim Android is a Linux because it uses the Linux kernel or not going to be convinced by the GNU / Linux argument. They are going the other direction by wanting to over-emphasize the Linux label.
When I talk about Linux, it means the collections of operating systems that run the same universe of software and file systems: X, Wayland, Pipewire, Mesa, Proton, Docker, Kubernetes, Ext4, Btrfs, GNOME, KDE, POSIX, and all the applications that run on top of those. Not even closely related systems like FreeBSD run that same set of software because “Linux” systems are distinct. The term is a meaningful, accurate, and useful descriptor of a complex software ecosystem.
Does GNU / Linux identify the same ecosystem as above? No. Alpine Linux is one of the most common Linux distros used with Docker and Kubernetes. Alpine is a full and proper Linux by my definition. It cannot be properly described as GNU / Linux because it does not use the GNU C library or Core Utils. Void Linux, and increasingly popular distro, is similar. Chimera Linux, a new but really interesting distro is certainly a Linux. Tens of thousands of applications that we would expect to work on Linux will work on it including the deeply Linux specific stuff like Podman. However Chimera Linux does not leverage or depend on GNU software at all. It is Linux but most certainly not GNU / Linux.
Please talk more about Free Software ( if that is what you want to support ) or Open Source ( if you are about the software more than “user freedom” ). Linux is Free Software and the popularity of Linux and the massive universe of software and hardware support it enjoys are a huge achievement. Celebrate that achievement but stop trying to stamp the GNU brand on it. The GNU Project represents a tiny fraction of the universe of Free Software and of the Linux ecosystem. For most people, the term GNU / Linux is confusing, off-putting, and inaccurate. If we want the success of Free Software and the Linux ecosystem to continue, then continuing to promote the values and benefits of “Linux” will help. Promoting the term GNU / Linux is putting the ego of the GNU Project ( and its founder ) above the success of the software. Is that what we want?
The Android question is easily clarified by simply pointing out the difference between a Linux distribution and the Linux kernel and stressing the self-evident fact that when people say “Linux” without clarification that they are talking about Linux distros.
Clarity can be achieved easily by using the term Linux kernel when that is what you mean. It is not necessary to introduce the term GNU / Linux to refer to Linux distributions. Not only is it not necessary but it is actually a really poor term for that as I explain elsewhere. Instead of bringing clarity, the term GNU / Linux brings more complexity and confusion. It also introduces politics which is a never a good idea when you are trying to explain a technical distinction.
Android uses the Linux kernel of course but Android as an operating system is not a Linux distribution in the way that 99% people will understand that term. It is not “Linux”. The same is true of ChromeOS.
Even Windows ships with the Linux kernel these days. Is it “Linux”?
I recently found myself forced to give a shit, when one of our projects started doing weird shit after switching to an Alpine-based docker image.
Can you elaborate? I'm aware alpine uses non-GNU stuff like musl & busybox. But overall, they're not too far off.
It was a dependency resolution issue. Npm couldn't install one of the packages without some package.json gymnastics, and those same gymnastics somehow fucked with our debian based images that we use for development. I can't say much more because I honestly don't know what exactly happened. I just diagnosed the issue and forwarded it to our resident node guru, who took it from there.