3 ms·
The fact that some Linuxes don't use GNU (Android, ChromeOS) can be used as an argument that when GNU is being used, one can (_should_ is perhaps a bit much) me
by jcbrand 5y ago
The fact that some Linuxes don't use GNU (Android, ChromeOS) can be used as an argument that when GNU is being used, one can (_should_ is perhaps a bit much) mention that it's GNU/Linux to clear up confusion.
- jmillikin 5y agoSome Windows machines don't have Chrome installed, does that mean those that do should be called Chrome/Windows? On a nominally "GNU/Linux" installation, Linux is the important part of the stack. GNU software is a small (and shrinking!) part of the userland. I expect this trend to continue as Clang/LLVM pushes out GCC, modern packaging replaces Debian-style dependency resolution[1], and more software moves from C/C++ toward languages that statically link their runtimes (Go, Rust). [1] Debian-style packaging, where the binaries link against a libc, is a big part of why GNU libc has been considered by some people to be part of the OS. It's not really part of Linux, but if every userland software is written in C and needs a pre-installed libc.so, then you've got to pick one. Nowadays, packaging of userland software is moving toward FlatPak/Snap/etc where dependencies are bundled. libc.so is just another (exceptionally large) dependency in that world, and GNU libc has no more claim to be part of the platform than Bionic or MUSL.
- tcmart14 5y ago> On a nominally "GNU/Linux" installation, Linux is the important part of the stack. GNU software is a small (and shrinking!) part of the userland. I expect this trend to continue as Clang/LLVM pushes out GCC, modern packaging replaces Debian-style dependency resolution[1], and more software moves from C/C++ toward languages that statically link their runtimes (Go, Rust). If your getting the userland code from GNU (as is the case with Debian, Fedora, Ubuntu, Arch, Gentoo, etc....), but compiling it with Clang/LLVM, it is still GNU code written by the GNU project. GNU makes up pretty much the entire linux userland on most distributions with the exceptions being distros like Alpine or distros that use BusyBox userland utilities. NetBSD maintains their own userland utilities, they are not written by GNU. But they are compiled with GCC, does not make them GNU userland utilities.
- jmillikin 5y agoAll of the GNU code on my Ubuntu machine fits in maybe ~100 MB, which is less than any of a dozen non-GNU applications I use day-to-day. It's just not an important part of the userland any more. The world has moved on to GUI tools, of which GNU has only a few (GIMP + whatever parts of Gnome are official GNU).
- tcmart14 5y agoUbuntu's biggest use case is more than likely a server accessed by a user of SSH. I use linux and love it, but desktop usage is a small portion of Linux's actual use. Those GNU core-utils userland utilites are an integral part in administering remote machines which makes up the vast majority of the use case. I'll even defer to Debian's about page, which is where Ubuntu is derived from. "A large part of the basic tools that fill out the operating system come from the GNU project; hence the names: GNU/Linux, GNU/kFreeBSD, and GNU/Hurd. These tools are also free." [1] [1] https://www.debian.org/intro/about https://www.debian.org/intro/about
- jmillikin 5y agoLooking at one of my remote servers running Debian Buster, it has about the same amount of GNU stuff on it (~100 MB) and most of that is semi-obsolete tooling that, again, just isn't necessary day-to-day. I could probably purge ~all of it without loss of functionality. I log in with OpenSSH, which listens on a Wireguard interface. The shell is whatever generic Bourne-alike Debian uses (Ash? Dash?). The administrative tools are all written in Go since they're a mix of contemporary projects (containerd) and my own administrative agents. Primary editor is vim. There's the basic tools (mv, cp) but those could just as easily be supplied by Busybox, which is installed. It's difficult for me to imagine what sort of server would run GNU software as a majority of its workload, or even just the UX control surfaces. The GNU project has always had a strong emphasis on re-creating the UNIX interfaces of yesteryear, and modern sysadmin practices don't include running m4 or gcc in the same machine that's going to serve traffic.
- 5y ago
- nix23 5y ago> should be called Chrome/Windows I think you have problems making a difference between a operating-system and user applications, sometimes the lines are blurry, but Chrome for sure is not part of the OS, but one could argue that for example a installed GCC is a user-application. >those that do should be called Chrome/Windows Since you installed it it's clearly no part of then distribution called windows.
- EdwardDiego 5y agoOr, clear up confusion by not calling Android and ChromeOS Linux? Call them Linux based, or Linux derived. From my own POV, when someone says Linux, I think of the distros that are by and large compatible, distro packaging formats aside. E.g., when installing Slack by downloading a tar.gz and unpacking it I've never had to worry about it working or not, but then I was doing so on Ubuntu / Arch / Pop!_OS / Fedora. While I've used Alpine for containers in the past, I was always aware that Alpine was deliberately special and different to be smaller, and because there's a lot of people who dislike , and that if something wasn't available via apk, then I had little I guess this is like the debate about the drift of the word "literally" to mean "I'm dramatically exaggerating" - there's the people who insist that "literally" has a meaning, and only that meaning, and anyone using it for anything else is wrong, then there's the people who think that how people use a word defines it. I get the annoyance of the people annoyed by the complete inversion of the word, but I feel like they're like the mythological Canute opposing the tide. So long as I understand what people are saying when they say Linux, I'm happy - and I've never met anyone who uses "Linux" when referring to Alpine or Android. They always specify that it's Alpine in their container, because Alpine is sufficiently different. Likewise, if someone told you they had a Linux phone, would you think that they're using Android? I wouldn't, I'd think that they had a PinePhone, or something running PureOS. I realised this debate had name, so googled it, and it's referred to as the the prescriptivist vs descriptivist debate. I guess I'm on the descriptivist side - unless your descriptive usage is wrong, of course. If you referred to Alpine solely as Linux, but then I couldn't use software on it that I can use on many other Linuxes without recompiling, I'd be a tad miffed.