Brian Fox Releases Bash, a Free Alternative to Proprietary Unix Shells
Released as beta version .99 on June 8, 1989, Bash was built for the GNU Project as a free replacement for the Bourne shell and other proprietary Unix shells.
On June 8, 1989, Brian Fox released Bash — the Bourne Again Shell — as a beta, version .99, for the Free Software Foundation’s GNU Project, built specifically as a free software alternative to the Bourne shell and other proprietary Unix shells of the era.
Why the GNU Project needed its own shell
The GNU Project’s stated goal was building a complete, freely licensed Unix-compatible operating system — a shell was a necessary component, and existing Unix shells at the time were proprietary, tied to specific vendors’ licensed Unix distributions rather than freely redistributable.
What Bash actually combined
Bash aimed for broad compatibility with the Bourne shell’s scripting syntax while incorporating useful interactive features from other shells of the era, including command history and job control from the C shell lineage, and command-line editing built on the GNU Readline library developed alongside it.
Fox’s role and what came after
Brian Fox continued as Bash’s primary maintainer into the early 1990s, before Chet Ramey of Case Western Reserve University took over as maintainer — a role Ramey has held for decades since, continuing to develop and release new Bash versions including Bash 4.0 in 2009.
Why Bash’s free licensing mattered for its eventual reach
Being freely available and redistributable, rather than tied to a specific commercial Unix vendor, is a significant part of why Bash became the default shell across the large majority of Linux distributions as they emerged through the 1990s, and later shipped as the default shell on macOS for years before Apple’s 2019 switch to Zsh.
The line-editing library Fox built alongside Bash
Bash’s own command-line editing capability, letting a user move around, edit, and recall a partially-typed command interactively, didn’t come from a separate, pre-existing library — Fox wrote GNU Readline himself in 1988, specifically to satisfy POSIX’s line-editing requirements for a compliant shell, and it started life as literally one source file living inside Bash’s own project directory rather than an independent project at all. Readline only became a genuinely separate, independently versioned library with its 2.0 release in 1994; before that, “Bash” and “the thing providing Bash’s line editing” were, for practical purposes, the same codebase. Readline is still maintained by Chet Ramey today, the same person who took over Bash’s own maintainership from Fox.
The pun behind the name itself
“Bash” stands for “Bourne-Again SHell” — a deliberate double meaning combining Stephen Bourne’s name (Bourne wrote the original Bourne shell, /bin/sh, at Bell Labs in 1977 for Seventh Edition Unix, replacing Ken Thompson’s earlier shell) with the Christian “born again” idiom for rebirth or renewal. The pun works on two levels simultaneously: Bash genuinely is a reimplementation aiming at Bourne shell compatibility, and its GNU Project origins gave it a very different, freely licensed “life” than the proprietary Unix shells it was built to replace. Bourne’s own original shell had already become the de facto standard scripting interface across commercial Unix by the late 1980s, which is exactly why compatibility with it, rather than a clean break from its established scripting conventions, was the explicit design target Fox worked toward from Bash’s first beta release onward, rather than treating Bourne-shell compatibility as a secondary, optional concern that could reasonably be layered on as an afterthought later.
Related:
- Bash 4.0 Ships With Associative Arrays and Coprocesses
- The History of the Unix Shell: From Thompson Shell to Bash and Zsh
Sources: