GNU = GNU’s Not Unix - GNU is an operating system!!

Terminology

  • GNU Project = The movement that started in 1983 to make a free OS.
  • GNU OS = The planned full OS that never got finished because its kernel (Hurd) was incomplete.
  • GNU Software = The tools (Bash, GCC, Coreutils, etc.) that were meant to be part of the GNU OS, but instead got used with the Linux kernel.

More info

  • Founded in 1983 by Richard Stallman to create a completely free (as in freedom) Unix-like operating system.
    • Goal: Make software that respects users’ freedom (anyone can use, modify, and share it).
  • basically what happened
    • Stallman wanted a free OS but didn’t have a working kernel.
    • By the early 90s, GNU had built almost everything except the kernel.
    • Then Linus Torvalds made the Linux kernel (1991), and people combined it with GNU tools to make complete Linux distros.
  • Linux has become the de facto way to refer to GNU/Linux based operating systems
    • We get a unix-operating system

Linux Distro = Linux Kernel + GNU Software + Other Stuff (GUI (like GNOME, KDE), package managers, etc.)

  • Linux distros differentiate from each other primarily through the “other stuff”

GNU software

  • refers to the tools and programs developed under the GNU Project.
  • The project itself is the larger movement, while GNU software includes things like:
    • Bash (the shell/command line you use)
    • GCC (GNU Compiler Collection, used for compiling C, C++, etc.)
    • Coreutils (basic Unix-like commands like ls, cp, mv, cat, etc.)
    • GRUB (bootloader that helps start up your OS)
  • So when you see “GNU Software,” just think of all the essential programs that make a Linux system usable. The Linux kernel alone isn’t enough—you need these GNU tools to interact with it.