Episode 2's question — why did a gcc and bash that Linux could use already exist?
gcc and bash. So why were those free tools already on Torvalds's desk? Because Stallman had spent the whole of the 1980s building a free toolchain. If the tools aren't free — you can't sow the seed yourself.
In Episode 2 we saw that Linux was born from gcc on MINIX and united with GNU's tools (gcc, bash) to become a single OS. Here a natural question arises — why, at the point of 1991, were a freely usable C compiler and shell all set and ready? It was no accident. Since 1983, Richard Stallman had been quietly piling up a free toolchain in the "GNU Project," rebuilding Unix from a blank sheet. This time, we read that motivation — why it had to be free — together with the main series' chicken-and-egg.
On September 27, 1983, Stallman declared that he would "make a Unix-compatible, but completely free, OS." The name was GNU — a recursive acronym for "GNU's Not Unix!" The design would follow Unix, but the code from a blank sheet (Episode 1's reimplementation tree itself). In the 1985 GNU Manifesto, he raised its philosophy — that software should have the freedom to use, study, modify, and redistribute it.
If you're making an OS from a blank sheet, what do you need first? — the tools (the toolchain). Without a compiler, you can't write anything. So GNU started with the editor Emacs (around 1984), then GCC (1987, Episode 3), and went on to make Unix utilities like bash, ls, grep, make, and ld, one after another, as free software. By around 1987, an assembler, a nearly-finished GCC, Emacs, and various utilities were all in place.
The main series' watchword: "the first egg was carved by hand." But who gets to carve it? What if the tool that turns Episode 0's loop (gcc) or the freedom to prepare Episode 9's seed were held by one particular company? The origin of your software would then depend on someone else's permission and fees. What GNU did was — to make the chicken-and-egg chain something anyone can turn freely. It freed the very tools that turn the loop. That's why, in 1991, a single student could bring up his own OS with gcc, without anyone's permission.
By around 1992, GNU had nearly all the parts of an OS freely in place. Editor, compiler, shell, utilities — but one piece was missing. The kernel at the heart of it. GNU's own kernel, GNU Hurd (from 1990, on the Mach microkernel), was slow to reach completion. The GNU system stayed in a state of not being finished — one piece short. In the figure below, watch GNU's parts fill in, and the kernel's hole remain at the end.
In 1991, Torvalds's kernel (Episode 2) appeared, and in 1992's v0.12 it became GPLv2. Linux is not part of the GNU Project. But it was made with GNU's tools such as gcc, and released under the same GPL — so with GNU's userland plus Linux's kernel, a completely free OS ran for the first time. This is why it's called "GNU/Linux." The largest real example of Episode 1's "the two trees exchange leaves at their crowns."
GNU (the reimplementation tree) had a userland and lacked a kernel. Linux (another young leaf of the same reimplementation tree) had only a kernel. The two came together under the GPL and became one complete, free OS. Neither inherited AT&T's code; they shared only the philosophy (freedom and Unix compatibility) — which is why they meshed without friction.
The main series was the story of "the chicken-and-egg chain starting to turn from a seed." What GNU added was to write "anyone" into that chain. In the figure below, see how whether the tool that turns the loop is proprietary or free changes who can bring up software.
(1) "GNU/Linux or Linux" is a long-running naming dispute. Stallman and others ask for "GNU/Linux" to reflect GNU's contribution, while common usage simply says "Linux." The technical fact is "the Linux kernel + (in many cases) the GNU userland," and this piece takes neither side. (2) GNU's "free" is freedom, not zero cost (gratis). It means "you can freely use, study, modify, and redistribute."
(3) GNU Hurd isn't a "failure"; it's a project still under development. "The kernel was unfinished" is a statement about the situation at the time. (4) GNU isn't the only free Unix-like system — the BSDs also offered freedom (under a different license) (Bonus 4). (5) Torvalds himself valued practicality over the philosophy of freedom in some respects, and his adoption of the GPL (Episode 2) included pragmatic judgment. "The ideal of freedom" and "practicality" are intertwined throughout history.
It was no accident that in Episode 2 Linux could be brought up with gcc and bash. It's because since 1983 Stallman had been piling up a free toolchain in the GNU Project ("GNU's Not Unix," Unix-compatible but from a blank sheet and completely free). First Emacs, then GCC (1987), and then bash, coreutils, make, ld… To make an OS you first need tools — and GNU prepared those tools freely.
By around 1992 GNU had nearly all the parts assembled, but only the kernel was missing (GNU Hurd was unfinished). Into it fit Linux (another young leaf of the same reimplementation tree), and under the GPL GNU/Linux = a completely free OS came into being (the largest real example of Episode 1's "exchanging leaves at the crown"). What GNU added to the main series' chicken-and-egg was "anyone" — because it freed the very tools that turn the loop, a single student could birth an OS without anyone's permission. The seed can be carved by hand. As long as the tool you carve with is free.
Print / save as PDF: ⌘+P (Ctrl+P on Windows). On screen, Figure 1's slider shows GNU's parts falling into place and Linux fitting into the kernel hole at the end, and Figure 2's buttons show how "proprietary/free" changes who can turn the loop. "See the answer" opens each solution.