Linux. GNU/Linux. GNU system. Basically, Linux runs on the kernel space and GNU runs on the user space as is common in many operating systems, such as Debian and its descendants, Fedora/RHEL and its descendants, Arch, etc.
But what if we run a Linux system without GNU? What if we can actually remove the GNU from GNU/Linux?
Wait, why would you want to remove GNU?
My answer for that question would be: why not?
Some projects have (though I doubt with the intention like me) replaced some of the GNU components in a Linux systems with equivalent components, for example, Alpine and Void are the two most famous distribution for supporting musl, and the former went with Busybox as its coreutils replacement. There’s also OpenMandriva which moved to Clang for its primary compiler.
But GNU is so much more than just a C library, coreutils, or compiler.
The toolchain problem
For example, GNU
binutils, which provides
are still prevalent among Linux systems. GNU
make is de facto primary
make(1) implementation since Makefiles use their extensions a lot
(chief among them, the conditional syntaxes.). I think GNU binutils can
be replaced as long as the replacements support ELF, but it’d be harder
to replace GNU Make.
The GTK+/GNOME problem
GTK+ probably exists in every single distribution with a full-stack GUI with full-featured DE. And GTK+ was originally written for GNU GIMP. But how’s the status of GTK+ and all programs maintained by GNOME? Are they considered part of GNU Project?
The GNU Project maintains that GNOME is a part of GNU Project. However, GNOME has its own infrastructure. They don’t use GNU Savannah, they have their own download links (to be fair, they maintain a lot of projects), they also have their own GNOME Foundation instead of using the FSF as the vehicle. I also looked at their main website. Not a single reference to GNU Project made there , although they said they have the FSF as their “Supporting organizations” and FSF has one “Advisory Board” member in the GNOME Foundation. In short, GNOME is de facto independent of GNU.
The GnuTLS problem
GnuTLS is an implementation of the TLS protocols, competing with OpenSSL, its forks and others. In December 2012, the main developer of GnuTLS announced that “gnutls is moving outside the infrastructure of the GNU project” and he no longer considers GnuTLS to be a GNU Project. Richard Stallman, of course, objected this move. However, their GNU FTP releases for GnuTLS has never been updated since 2012. Meaning that GnuTLS is effectively no longer part of GNU despite Stallman saying otherwise.
The GPL “problem”
Problem in quotes since I don’t think GNU GPL itself is a problem. I have no problem with GPL and I even think GPL is actually necessary in some cases. My focus is removing software made by/written for the GNU Project. Software using GPL (even GPLv3) is absolutely fine.
Therefore, I have four rules for the upcoming distro.
- Software maintained by GNOME is fine to include in the upcoming distro.
- Software that have announced that they’re out of GNU is fine to include in the upcoming distro.
- Software licensed under GPL (or its variants) and not a part of GNU Project is fine to include in the upcoming distro.
- If a GNU component is absolutely needed, it has to be a build-time dependency, not a run-time dependency. And if possible, patch it out.
And with that, I’ve started to begin my own distribution. I’ll share any updates that may be of interest. Like how’s it going, what to replace, etc.