Tracing how Linux was born: from the Unix era at Bell Labs, the GNU project fighting for software freedom, the birth of the Linux kernel by Linus Torvalds, to the Unix philosophy that became the DNA of the entire Linux ecosystem.

After episode 0 where we covered prerequisites and set up the environment — from basic skills, distro selection, to verifying that your first Linux system runs — in this episode we'll take a breather from the hands-on work and dive into why Linux exists. We'll trace its history, understand the real problems that gave birth to it, and look at the design philosophy that makes Linux so special.
Why is understanding the history and background important? As engineers, you don't only need to know how to operate a system, but also why the system was designed in a certain way. When you later find files in /proc that can be read like text, or use the | pipeline to chain commands, you'll realize that none of this is a coincidence — it's the fruit of design decisions made decades ago. Without this context, you'll only become a tool operator — not a system engineer.
The Linux story begins long before 1991, in a project called MULTICS in the mid-1960s. MULTICS was an ambitious project to build a large, sophisticated multi-user operating system, worked on jointly by MIT, GE, and Bell Labs. Unfortunately, the project was too complex and fell behind schedule; Bell Labs eventually pulled out in 1969.
It was from that failure that the magic emerged. At Bell Labs, two researchers — Ken Thompson and Dennis Ritchie — who had worked on MULTICS, felt their need for a comfortable computing environment was still unmet. They then wrote a much simpler new operating system under the pun name "UNICS" (Uniplexed Information and Computing Service), which came to be spelled UNIX. This system was designed around one principle: simple, elegant, and portable.
The big turning point came when Thompson rewrote UNIX in the C language that he and Ritchie had just developed. Previously, operating systems were written in assembly language specific to each hardware — meaning they were hard to port to other machines. By writing UNIX in C (a high-level language that can be compiled on many architectures), UNIX became portable: one source code could run on many kinds of computers. This was a decision that changed history — and it's the reason almost all modern operating systems, including Linux and macOS, are rooted in UNIX.
Unix then spread to universities, especially the University of California, Berkeley, which developed its own variant called BSD (Berkeley Software Distribution). From here came many concepts we still use today — network sockets, the TCP/IP stack, and even the vi utility.
Note
Important to understand: Linux is not UNIX. Linux is an operating system that imitates UNIX behavior (UNIX-like) and is written from scratch. Because UNIX's copyright is held commercially, Linux may not copy UNIX code — but it may imitate its design and philosophy. The result is an ecosystem compatible with the way UNIX works without binding license restrictions.
In 1983, the software world was dominated by companies selling binaries — source code tightly locked away. Users couldn't see, modify, or study the software they bought. Richard Stallman, a researcher at MIT, felt this was unjust: "software you can't study is a prison for programmers."
Stallman launched the GNU Project — a recursive acronym for "GNU's Not Unix" — with the goal of building a complete operating system that is free, where everyone may use, study, modify, and share software. To protect this freedom, he founded the Free Software Foundation (FSF) and released the GPL license (GNU General Public License).
The GPL is a brilliant legal breakthrough. Instead of prohibiting use, the GPL guarantees freedom through a mechanism called copyleft: if you modify GPL-licensed software and share it, you must also share the source code under the same license. In other words, freedom is "contagious" — once someone receives GPL software, they're bound to pass that freedom on to the next user.
The GNU Project succeeded in building nearly all the components of an operating system: the C compiler (gcc), the text editor (emacs), the shell (bash), and dozens of core utilities like ls, grep, and sed. One crucial component was still missing: the kernel — the heart of the operating system that manages hardware. Without a kernel, GNU was just a collection of great tools that couldn't run on their own.
Enter a Finnish student named Linus Torvalds. In 1991, he bought a new PC powered by an Intel 80386 processor and wanted to run UNIX on it. Commercial UNIX was too expensive, and the educational system MINIX (a UNIX variant made for teaching) was too limited — its license didn't allow free modification.
Linus decided to write his own kernel. This wasn't a company project or a university project — it was a hobby project that began with a simple task: printing the character "A" on screen. He posted to the comp.os.minix newsgroup with a now-legendary message, essentially: "I'm working on a free operating system, just as a hobby — it won't be as big as GNU."
The date September 17, 1991 became a milestone: Linux version 0.01 was released. Two things made it different from all other kernels:
The combination of GNU tools + Linux kernel ultimately formed a complete, free operating system — that's why this system is technically called "GNU/Linux". To this day, Linux kernel contributors come from thousands of companies (Intel, IBM, Google, Red Hat, Meta) and hundreds of thousands of individuals around the world — the largest collaboration phenomenon in software history.
| Aspect | GPL (Linux) | Proprietary (Windows, macOS) |
|---|---|---|
| Source code | Open, anyone can read & study | Tightly closed |
| Modification | Free, as long as the result stays GPL | Prohibited without vendor permission |
| Cost | Free (or pay for services/support) | Pay for a license |
| Development model | Open global community | Single company |
Important
"Free" in the context of GNU/Linux doesn't mean zero price — the original term is free as in freedom, not free as in free beer. Companies like Red Hat and Canonical (the maker of Ubuntu) earn money from support and services, not from selling licenses. This is the business model that keeps the Linux ecosystem alive and growing.
Beginners are often confused hearing the word "Linux" referring to different things. Let's break down the three layers of components that form what you run every day:
bash shell, the gcc compiler, the ls, cp, mv, grep commands, and thousands more. These are Linux's "household appliances".Here's an analogy: the kernel is the car engine, GNU tools are the cabin and features (steering wheel, A/C, seats), and the distro is the finished car model marketed to consumers — Toyota, Honda, or VW. The engine and features may be similar, but each manufacturer packages them differently.
| Layer | Example | Role |
|---|---|---|
| Kernel | Linux kernel 6.8 | Manages hardware & provides the API |
| Tools | GNU coreutils, bash, gcc | Utilities used by humans |
| Distribution | Ubuntu, Debian, Rocky, Arch | Complete ready-to-use package + update management |
The most important thing to take away from this episode isn't the historical dates, but the design philosophy that Unix passed on to Linux. This philosophy is what explains why Linux commands behave the way you see — and is the reason so many DevOps tools (Docker, Kubernetes, Terraform) feel "so Linux".
Unix treats almost everything as a file: plain text, directories, hardware (disks, keyboards), even running processes. Everything can be opened, read, and written the same way. This is an extremely powerful design — because every tool that can manipulate files (like cat, grep, less) automatically works on everything. Later in episode 2, you'll see directly how /dev (devices) and /proc (processes) are just files that can be read.
Unix commands are designed to do one task very well: ls only lists files, grep only searches patterns, sort only sorts. There's no giant command that does everything. Consequently, Linux users don't look for "one app for all needs", but rather chain small commands into powerful pipelines. This is the opposite of GUI apps that tend to pile up features.
If each program does one thing, how do they work together? The answer: through text. Unix programs read input as text from stdin and write output as text to stdout. Because everything is text, one program's output can become another program's input via the pipeline (|).
ps aux | awk '{print $1}' | sort | uniq -c | sort -rnThe command above counts how many processes each user runs, sorted from highest — built from five small utilities, each doing one thing. This is composability: like LEGO bricks, small commands can be assembled into complex constructions.
| Principle | Meaning | Real-World Example |
|---|---|---|
| Do one thing well | One program, one task | grep is specifically for searching patterns |
| Everything is a file | Everything is a readable/writable file | /dev/sda is a file for the disk |
| Text streams | Interprogram communication via text | cat file | grep foo |
| Composability | Small commands chained into complex ones | The pipeline above |
| Permission-based | Access strictly controlled per user/group | sudo, chmod (next episodes) |
Tip
Every time you encounter a Linux design that feels odd — for example why configuration is stored in text files instead of a database — remember the "everything is a file" and "text streams" principles. Text files are human-friendly: readable, version-controllable with git, and processable with any command. These seemingly simple decisions are exactly what makes Linux so powerful for automation.
| Year | Milestone |
|---|---|
| 1969 | Ken Thompson & Dennis Ritchie write UNIX at Bell Labs |
| 1970s | UNIX rewritten in C → becomes portable |
| 1983 | Richard Stallman launches the GNU Project |
| 1985 | FSF founded; the GPL license is released |
| 1991 | Linus Torvalds releases Linux 0.01; the kernel is released under the GPL |
| 1993 | Debian is released — one of the first Linux distros |
| 2004 | Ubuntu 4.10 "Warty Warthog" is released, popularizing Linux |
| 2010s–present | Linux dominates servers, cloud, and Android |
Thinking "Linux is Windows with a different theme". This is the biggest misconception. Linux has a different conceptual foundation: the everything-is-a-file philosophy, text pipelines, strict permissions, and the open source ecosystem. You won't last long if you keep comparing it to Windows.
Assuming all distros are identical. Debian/Ubuntu vs RHEL vs Arch have different package managers, release philosophies, and update management. Learn the differences — don't copy Ubuntu tutorials onto Rocky without understanding the context.
Assuming "free" means low quality. Actually the opposite: because it's open and audited by thousands of eyes, Linux software is often more reliable. The Linux kernel drives most of the world's internet and servers.
Assuming Linux = Ubuntu. Linux is the kernel; Ubuntu is just one of hundreds of distros. This confusion makes it hard to understand why commands on Ubuntu can differ from Rocky.
Memorizing historical dates without understanding the concepts. Important years won't be useful if you don't understand why the GPL matters, or why "everything is a file" changed how systems work. Prioritize concepts over memorization.
In this episode 1, we've traced Linux's long journey: from the failure of MULTICS that gave birth to Unix at Bell Labs, the software freedom fought for by Richard Stallman through the GNU Project and the GPL license, Linus Torvalds' hobby project that grew into the world's most influential kernel, to understanding the three component layers (kernel, GNU tools, distro) and the Unix philosophy that is the DNA of the entire ecosystem.
Key takeaways:
This historical understanding is the foundation for understanding how the Linux system works. In the next episode 2, we'll discuss system architecture & the Filesystem Hierarchy Standard (FHS) — dissecting the Hardware → Kernel → Shell → Applications layers, exploring the root directory structure like /etc, /home, /var, /proc, and understanding why /proc can "talk" to the kernel through files. Stay motivated, because from here you'll start truly "reading" how Linux works from the inside!