Unix-Likes: How Does GNU/Linux Work?

“Linux” is a broad catch-all term to represent a variety of distributions (“distros”). Officially, the term is GNU/Linux because the Linux kernel mixes with GNU.

However, the demarcation between Linux/Windows/Apple isn’t precise. Each operating system borrows heavily from the others, especially in the domain of UX. In particular, GNU’s system expands far into the realm of Windows-based operating systems, so it’s not really an exclusive concept as much as a FLOSS ideal.

History

Unix was an operating system made by AT&T in 1969. However, AT&T was monpolizing power at the time (like today’s FAANG), so antitrust litigation prevented it from entering the computer industry. The company was forced to release the source code for free to anyone who asked. Many educational institutions (such as Berkeley) and businesses used Unix.

Later, once AT&T spun off Bell Labs, Bell was free to sell a proprietary license of Unix in 1984, but the damage to AT&T’s potential hold on the market had already been done. Unix’s source code was effectively public and legal to use.

In 1983, Richard Stallman created the GNU Project, which aimed to create an entire Unix-compatible software system made of nothing but free software. GNU stands for “GNU is Not Unix”, which is a programmer joke about recursions, and he wrote the GNU Manifesto to rally support for a completely free operating system.

Many of the programs for a fully-functioning Unix “clone” were completed by the early 1990s (libraries, compilers, text editors, a command-line shell, and a windowing system). However, the lower-level elements like device drivers, daemons, and the kernel were incomplete.

In 1991, Linus Torvalds decided to make a free version of that kernel, then released it publicly on his university’s internet forum. It ended up taking off way more than he expected, and it quickly outpaced adoption compared to everything else Unix-related.

One of the draws of Linux is that it’s completely free compared to Unix and other proprietary systems like Windows or Apple. That freedom gives a few built-in features:

  • People tend to feel generally safer with it, since the operating system is a community-led project.
  • When a distro is popular, bugs are quickly dealt with, since there are many eyes on that project.
  • If someone develops anything driven by that back-end, there’s little to no risk of coercive behavior later on.

The culture of Unix and Linux holds together with a philosophical framework driven around the varying ideas that constitute software freedom.

Distros

Each GNU/Linux distro is configured and adapted to specific preferences or functions:

It’s worth noting that FreeBSD is not Linux, though they have many similarities:

  • FreeBSD gives a kernel, device drivers, user utilities, and documentation. Linux only gives a kernel and device drivers, then expects other software to do the rest.
  • The license for FreeBSD technically gives more freedom compared to Linux, including the ability for people to profit off the licensing.

Many of the distros have a thriving community that are very supportive. Most of the derelict distros are often downstream from larger distros that got better than their parent distros.

To elaborate, most distros are “forked” from other distros, as this non-exhaustive chart demonstrates, with the popular distros in bold:

  • Clear Linux OS
  • CRUX
    • Arch Linux (inspired by CRUX)
      • Chakra
      • EndeavourOS
      • Hyperbola
      • Manjaro Linux
      • Parabola
      • ArchBang
  • Corel Linux
    • Xandros
  • Softlanding Linux System (SLS)
    • Slackware
      • Dragora (inspired by Slackware)
      • openSUSE
      • Porteus
      • Salix OS
      • SUSE Linux Enterprise
        • Novell Open Enterprise Server
      • VectorLinux
        • Puppy Linux (inspired)
      • Zenwalk
    • Debian (inspired by Slackware)
      • CrunchBang Linux
      • Debian Edu
      • Deepin
      • Devuan
      • Grml
      • Kali Linux
      • Knoppix
        • Damn Small Linux
          • Tiny Core Linux (inspired)
      • MEPIS
        • antiX
      • Netrunner
      • Parrot OS
      • PureOS (for Purism devices)
      • SolydXK
      • SparkyLinux
      • SteamOS (for the Steam gaming platform)
      • Tails
      • TurnKey
      • Ubuntu
        • Bodhi
        • Canaima
        • Elementary OS
        • Freespire
        • Kodi
          • OpenELEC
        • Linspire
        • Linux Lite
        • Linux Mint
        • Pop! OS
        • Trisquel
        • Zentyal
        • Zorin OS
      • Univention Corporate Server
  • Enoch Linux
    • Gentoo Linux
      • Chrome OS (for Google Chromebooks)
      • Pardus
      • Pentoo
      • Sabayon Linux
  • Red Hat Linux
    • Fedora
      • BLAG
      • Korora
      • Qubes OS
      • Red Hat Enterprise Linux (RHEL)
        • AlmaLinux
        • CentOS
          • ClearOS
        • Oracle Linux
        • Scientific Linux
    • Mandriva
      • ALT Linux
      • ROSA
      • Mageia
      • OpenMandriva Lx
      • PCLinuxOS
    • Rocks Cluster Distribution
  • FreeBSD
    • Void Linux (partly inspired by FreeBSD)
  • LEAF Project (for embedded systems)
    • Alpine Linux
  • Sorcerer
    • Source Mage

It’s a wasted effort to cover all the inspirations for each distro, since they borrow ideas from each other constantly. It’s also not worth time here to cover all the distros, since other people have done that.

Unix-Likes

OS frameworks that originated from Unix all have a similar-enough experience to make the user feel at home when swapping back-and-forth between them, including using many of the same commands. To that end, the broad catchall term is “Unix-likes”.

Apple also uses a Unix framework, for both MacOS and iOS, but its key difference is that it’s a hybrid of a “monolithic kernel” and “microkernel”, while Linux is strictly a monolithic kernel.

Apple’s microkernel is XNU (which stands for “XNU is Not Unix” because programmers like recursions), which consists of several components:

  • Carnegie Mellon University’s Mach kernel
  • FreeBSD components
  • IOKit, the C++ API for writing drivers

Usage

Linux is lightweight, so it’s excellent for low-profile computers, and is even convenient to run off a flash drive.

However, unlike Windows, Linux has also become more consistently reliable.

The largest failure within Linux is tied to its UX. For the most part, its GUI commands convert to console commands, meaning any sufficient experience with Linux often requires accessing a terminal. This creates a learning curve beyond the aptitude of some people.

Further Reading