[citation needed]

I want you to take a look at your package manager, dudeski. I don't care what GNU/Linux operating system you're using, it's the came. Look for a package called "libc6", or "libc", or "glibc". This is the GNU C Library (glibc). There's a history behind the name: once upon a time, the Linux developers used glibc, but then they decided it wasn't good enough, so the Linux developers made a fork of glibc called "Linux libc". Later, glibc 2.0 was released, and it was better than Linux libc, development of Linux libc stopped, and operating systems that were using Linux libc renamed glibc to libc.so.6.

In short, all GNU/Linux systems have used either glibc or a variant of glibc, and today they all use glibc. So what does this mean? It means that they're binary-compatible. If you replaced glibc with an entirely different C library, all of those binaries which are claimed to be "Linux" binaries would stop working. They aren't just "Linux" binaries; they're GNU/Linux binaries. They only work on GNU/Linux systems. They aren't going to work on Android any more than they are going to work on GNU/Hurd systems.

Next, I want you to look for a package called "coreutils". This is the GNU Core Utilities. It provides all basic commands including (among others) cat, chmod, chown, cp, dd, echo, ls, ln, mkdir, mv, rm, rmdir, and uname. Unlike glibc, this one can theoretically be replaced, but it isn't; this is where you're getting all the basic utilities. You can't use the system without these basic utilities. Even if you never use the command line, other programs make use of these utilities for you.

Next, I want you to look for a package called "bash". This is the GNU Bourne Again SHell. This is the interpreter that allows you to use the command line and run shell scripts. Like coreutils, this can be theoretically replaced, but it isn't. Also like coreutils, you can't just remove Bash and expect your system to work. Nothing will work with out a shell script interpreter.

To recap: glibc, coreutils, and Bash are ESSENTIAL to making your system work. glibc can't even theoretically be replaced with something else; that would give you a completely different POSIX system, not binary-compatible with GNU/Linux systems. coreutils and Bash could theoretically be replaced with another collection of core POSIX utilities and another shell script interpreter, but everyone uses these because they're the best.

But that's not even all there is to it. Search these packages: ed, nano, gimp, gnuchess, gnupg (or gpg), gzip, parted, and tar. Chances are, many of these non-essential programs exist on your GNU/Linux system. ed and nano are basic command-line editors. The GIMP is a very popular image editing program. gnuchess is used as a backend for many chess games. GPG is a commonly-used implementation of PGP. gzip is not only the program most commonly used to compress in and uncompress from the Gzip (.gz) format, but it is where that format comes from. tar, or a replacement, is needed to extract and archive Tar files. parted is the backend to GParted (which itself is part of the GNU project, by being part of GNOME).

So a final recap: not only is GNU essential to all GNU/Linux systems, not completely replaceable even if someone is interested in doing all the unnecessary work required to replace it, there are also a bunch of very popular GNU programs in use in just about every GNU/Linux system.

Saying "gnu tools are just a small part of the userland today" is preposterous. GNU is important, at least as important as if not more important than Linux.

Reply via email to