linux, history,

Linux: the story of an accidental revolution

Polo Polo Dec 30, 2025 · 18 mins read
Linux: the story of an accidental revolution
Image generated with Gemini
Share this

We cannot discuss Linux history without first talking about UNIX. To understand UNIX, we need to go back to 1965, when M.I.T., General Electric, and Bell Labs joined forces to build a time-sharing operating system called MULTICS (Multiplexed Information and Computing Services).

At the time, operating systems were tailored to the specific machines they were designed for and relied on batch processing. Users would submit their programs, collect the computation results, and then the next program would be entered and run. Only one job from one user could run on the machine at a time. The first evolution beyond this was multi-programming, which allowed better interleaving of different programs to keep the CPU busy at all times, though it remained mostly batch-oriented.

Time-sharing operating systems began to emerge in the 1960s, primarily as research projects, with early initiatives such as the Compatible Time Sharing System (CTSS). A time-sharing system allows multiple tasks to execute concurrently, with each getting a slice of CPU time. The operating system switches between tasks rapidly—several times per second—creating the impression that all tasks are running and making progress simultaneously. This also allows multiple users to share the computer at the same time, with each user feeling as though they have the computer to themselves.

MULTICS was very ambitious, but its design became overly complex and its architecture bloated. By 1969, the project was running far behind schedule, and Bell Labs withdrew from it. This decision left the Bell Labs researchers frustrated because, despite the system’s drawbacks, they had come to value the collaborative environment MULTICS provided.

They searched for an alternative, and when they could not find one, they began designing a file system. Ken Thompson started implementing it, and soon a small kernel was added to manage processes, followed by a set of utilities and a command interpreter to allow users to manipulate the file system. This gave birth to a system that the group later called “Uniplexed Information and Computing Services”—UNICS—as a pun on MULTICS, since this very first version was single-tasking. The system initially ran on a DEC PDP-7 and was subsequently ported to a DEC PDP-11. Ken Thompson, Dennis Ritchie, and others continued to work on the system to improve it and transform it into a time-sharing system. The first edition was released in 1971, and by then the name had evolved to UNIX.

The system began to be deployed internally at AT&T/Bell Labs, and development continued as a research project. The C programming language was created as a means to make UNIX more portable, and the system was rewritten in C for the 4th version in 1973. At that point, the system had matured significantly, and the research group decided to present a paper about it at a conference of the Association for Computing Machinery (ACM). In 1974, the seminal UNIX paper was published, bringing widespread attention to the system.

Many organizations wanted to obtain a copy. However, because of its monopoly status at the time, AT&T was forbidden from entering new business ventures, which meant UNIX could not be sold as a commercial product. Instead, AT&T decided to distribute the source code under license but provide no technical support. This is how UNIX made its way into universities. Because the source code was available, early adopters began improving the system, fixing bugs, and eventually forming a user community that shared improvements with other UNIX licensees. Meanwhile, Bell Labs researchers also continued to enhance UNIX.

Among the universities that received a copy of UNIX was the University of California (UC), Berkeley. There, the Computer System Research Group (CSRG) began modifying UNIX and developing new features and software. When other universities became interested in UC Berkeley’s UNIX improvements and software, a CSRG student named Bill Joy assembled the Berkeley Software Distribution (BSD), released in 1978 (now referred to as 1BSD). It was designed to be installed on top of UNIX v6. The CSRG continued to develop their software and release new versions. Over the years, this collection of software evolved into a complete operating system that still contained some original code from Bell Labs UNIX, but with important additions: BSD had support for virtual memory and included the TCP/IP network stack, which would become the backbone of the modern Internet.

The BSD TCP/IP implementation was particularly influential and explains why UNIX is so foundational to Internet infrastructure. The Defense Advanced Research Projects Agency (DARPA) had contracted BBN to build a TCP/IP stack and UC Berkeley CSRG to define the system interface and integrate it into UNIX for the ARPANET. When Bill Joy at UC Berkeley received an early version of the BBN code to test the interface and integration, he began significantly modifying it. This resulted in two TCP/IP network stack implementations: the BSD version and the BBN version. Eventually, the BSD implementation was evaluated as superior, and DARPA adopted it. The switch of ARPANET from NCP (Network Control Program) to TCP/IP on January 1, 1983, is now regarded as the birth of the Internet. UNIX became synonymous with Internet infrastructure.

By the early 1980s, UNIX was one of the most powerful operating systems available. It was general-purpose, multi-user, multi-tasking, had advanced networking capabilities, and was portable. Indeed, it had been ported to a variety of architectures. All major professional workstation and minicomputer manufacturers shipped their systems with a version of UNIX, still under AT&T license (examples include Sun Microsystems and SGI).

Around that same time, between 1982 and 1984, AT&T was broken up and was therefore no longer restricted from commercializing UNIX. They wasted no time, releasing UNIX System V in 1983. Source code licenses became more expensive, and UC Berkeley CSRG began receiving requests for networking code that could be used without the burden of AT&T license costs. They decided to release all BSD code that was not under the UNIX license. That release was called Net/1 and was released in 1989. Soon after the Net/1 release, CSRG member Keith Bostic began rewriting most of the tools that came from Bell Labs UNIX to remove AT&T’s proprietary code. This work resulted, a couple of years later, in the release of Net/2, which was almost a complete operating system — only a few files were withheld by UC Berkeley because they still contained AT&T proprietary code. Net/2 was released in 1991.

In parallel to all this, two important developments occurred in the 1980s that would prove crucial to Linux history.

In late 1983, Richard Stallman started the GNU project with the goal of providing a truly free operating system — free as in freedom, not price. Stallman firmly believed that people should be able to modify and share the source code of the software they used. He opposed all forms of proprietary software. He decided that GNU would be a UNIX-like system, and work began. By the late 1980s, most of the necessary components of an operating system were available, except for one crucial piece: the kernel, which provides the core functions to interact with hardware and devices.

The other important development was the rise of the microcomputer in the late 1970s and early 1980s. In 1975, MITS released the Altair 8800 based on the Intel 8080 microprocessor. Apple released the Apple I in 1976, followed by the Apple II in 1977. This began the microcomputer era, which truly took off with the release of the IBM Personal Computer (IBM PC) in 1981.

The computers that preceded microcomputers were known as minicomputers. They were very expensive and out of reach for most people. The name came from the fact that they were much smaller than mainframes, though they were still about the size of a filing cabinet. While microcomputers were significantly less powerful— and a huge step back in terms of technology—they were both reliable and affordable. Early-era microcomputers were 8-bit machines; 16-bit versions only became mainstream with the Intel 8086 and Intel 8088 microprocessors in the 1980s.

The operating systems for microcomputers were generally very limited compared to UNIX, because the machines themselves were very limited. They were single-user, single-task operating systems. However, for microcomputer users, these limitations were acceptable—most users had no frame of reference for anything better. In the late 1970s, the most popular operating system for microcomputers was CP/M by Digital Research Inc. This operating system became the foundation for the entire PC industry, and its legacy can be found in all modern versions of Windows to this day.

Microcomputer operating systems of the time were limited, but there was one notable exception: a UNIX version was developed for the 16-bit microcomputer market and licensed to OEMs by Microsoft. This version of UNIX, called Xenix, still required a license from AT&T. However, Xenix was mostly available for PC-incompatible microcomputers (such as the Zilog Z8000 and Altos Computer).

In 1981, when IBM was looking for an operating system for its PC, licensing negotiations with Digital Research Inc to use CP/M failed, and IBM contracted Microsoft instead. Xenix could not run on the IBM PC’s hardware, and Microsoft did not have another operating system available. So Microsoft acquired 86-DOS from Seattle Computer Products (SCP), which had built it as a CP/M clone initially called QDOS (Quick and Dirty Operating System) before renaming it. 86-DOS implemented the CP/M API and overall interface. Microsoft renamed it MS-DOS and licensed it for a flat fee to IBM, who branded it PC-DOS. It was the only operating system available on the PC at launch.

Digital Research threatened to sue IBM, claiming PC-DOS infringed upon CP/M’s intellectual property. As a result, IBM struck a licensing deal with Digital Research to make CP/M available on the PC. However, preferring to promote the IBM-branded PC-DOS, they priced CP/M for PC six times higher. This effectively pushed almost everyone toward PC-DOS/MS-DOS.

Xenix eventually became available in 1984 for the IBM PC AT (3rd generation), which had the Intel 286 CPU. At the time, it appeared that Microsoft wanted to stake everything on Xenix, with plans to improve MS-DOS with Xenix compatibility and make it indistinguishable from a single-user Xenix (Xedos), eventually supporting only Xenix. However, this plan was abandoned when AT&T was broken up between 1982-1984 and began seriously entering the UNIX market. Microsoft did not want to compete with the company from which they had to license their product. Instead, they abandoned Xenix and doubled down on MS-DOS (and eventually the Windows graphical shell).

In 1985, the IBM PC and PC compatibles entered the world of 32-bit microprocessors with the release of the Intel 386 chip. This significantly narrowed the technological gap between high-end workstations (or minicomputers) and microcomputers. By then, MS-DOS had become the de facto standard for the IBM PC and PC compatibles. In 1987, Microsoft transferred ownership of Xenix to SCO, a prominent Xenix licensee, and Xenix eventually became SCO UNIX (still under AT&T license).

All these events led to what could be called an accidental revolution. By 1991, the UNIX world was heavily fragmented, with many different versions still tied to the expensive AT&T license. GNU had been started eight years earlier but still lacked a kernel. BSD Net/2 had just been released but was not a fully functional operating system because of the few AT&T-licensed files that were withheld from the release. IBM PC and PC-compatible microcomputers with Intel 386 processors were widespread, but there was no affordable option to run UNIX on them. The de facto standard operating system for PC compatibles was MS-DOS with the Windows 3 graphical shell.

Linux History
Generated with Perplexity

It was in this environment that a computer science student from the University of Helsinki in Finland, frustrated by his inability to use UNIX on his PC 386, decided to write his own UNIX-like operating system kernel “just for fun.” Linus Torvalds was actually using Minix, a UNIX-like system created by Professor Andrew Tanenbaum for educational purposes. However, Minix had significant limitations: its license was proprietary and restricted modification and redistribution, and Tanenbaum intentionally kept it simple for teaching, resisting community requests for enhancements. Linus wanted a system he could freely modify, improve, and share. Rather than being constrained by Minix’s restrictions, he decided to write his own kernel from scratch.

On August 25, 1991, Linus Torvalds announced his project to the comp.os.minix newsgroup, describing it as a hobby. In his message, he mentioned that he had ported the GNU C compiler to it as well as the GNU bash command interpreter, and that he was hoping “to get something practical in a few months.” In September 1991, the source code was uploaded to an FTP server to facilitate collaboration, under the name Linux.

At about the same time, work had begun to port BSD Net/2 to the Intel 386 and write the missing pieces to create a complete operating system. This resulted in 386BSD, a fully functional operating system believed to be free of any AT&T code. The port also became the foundation for BSD/386, a commercial UNIX by Berkeley Software Design Inc, founded the same year by members of the UC Berkeley CSRG. They advertised it as a UNIX free of AT&T restrictions. However, this did not please UNIX Systems Lab (USL), the AT&T subsidiary established in 1989 to commercialize UNIX. USL sued Berkeley Software Design Inc, which defended itself by citing its use of BSD Net/2 and 386BSD. In response, USL also sued UC Berkeley with an injunction to halt any use of anything based on BSD Net/2.

This effectively halted all BSD work and distribution for a couple of years. During that time, people searched for an alternative to run UNIX on x86, and Linux appeared very promising. A community began to form around Linux and developed it collaboratively. In 1992, Linus Torvalds re-released Linux under the GNU General Public License, which made it possible to combine the Linux kernel with components from the GNU project. The Linux kernel, together with GNU components and other third-party software, formed a fully functional system that began gaining significant traction. That system was simply called Linux, or sometimes GNU/Linux to emphasize that it was the GNU operating system with the Linux kernel. Linux adoption grew significantly while BSD remained stalled because of the lawsuit. Many GNU enthusiasts and developers turned to Linux.

On the BSD side, the lawsuit came to an end in 1994, largely in favor of UC Berkeley and Berkeley Software Design. Eventually, two community projects emerged from 386BSD to continue BSD development: FreeBSD and NetBSD. However, by then Linux had already gained too much momentum on the x86 platform for BSD to catch up. Linux had the first-mover advantage. Beyond the communities, companies were created to distribute and support Linux, enabling it to enter the enterprise world. Today, FreeBSD, NetBSD, and their forks DragonflyBSD and OpenBSD are the descendants of BSD UNIX and have a direct lineage to the original UNIX (now called Research UNIX). They remain active and vibrant projects. One notable system partially based on FreeBSD is Apple macOS (Mac OS X and later, not Mac OS Classic), which is a certified UNIX system.

In the end, a unique conjunction of events made Linux possible. On one hand, the commercial UNIX market was heavily fragmented, and UNIX licensing costs were prohibitively expensive, making it impractical for personal computers. IBM PCs were largely powered by MS-DOS/Windows 3. The only affordable UNIX option, BSD, was under heavy legal scrutiny and entangled in a lawsuit. People needed an alternative. On the other hand, the GNU project had laid the groundwork to build a UNIX-like operating system, with only a kernel missing. Linus Torvalds was not only talented but also visionary in releasing the code under the GPL, and pioneering in establishing an open-source development model with collaboration happening over the Internet. All of this contributed to the success of Linux.

Today, Linux is one of the most prominent UNIX heirs. It powers all of the top 500 supercomputers and all Android devices. It is the dominant OS for Internet infrastructure, data centers, and the cloud, being the leading operating system for servers.


Sources and Further Reading

MULTICS and Early Operating Systems:

  • Corbató, F. J. & Vyssotsky, V. A. “Introduction and Overview of the Multics System.” AFIPS Conference Proceedings, 1965. Available at Multicians.org
  • Organick, Elliott I. The Multics System: An Examination of Its Structure. MIT Press, 1972. Amazon
  • Saltzer, J. H. & Schroeder, M. D. “The Protection of Information in Computer Systems.” Proceedings of the IEEE, Vol. 63, No. 9, September 1975. PDF

UNIX Origins and Development:

  • Ritchie, Dennis M. & Thompson, Ken. “The UNIX Time-Sharing System.” Communications of the ACM, Vol. 17, No. 7, July 1974. ACM Digital Library, Alternative PDF
  • Ritchie, Dennis M. “The Evolution of the Unix Time-sharing System.” AT&T Bell Laboratories Technical Journal, 1984. PDF
  • Kernighan, Brian W. & Ritchie, Dennis M. The C Programming Language. Prentice Hall, 1978. Goodreads
  • Salus, Peter H. A Quarter Century of UNIX. Addison-Wesley, 1994. Amazon
  • Raymond, Eric S. The Art of Unix Programming. Addison-Wesley, 2003. Online, Goodreads

Berkeley Software Distribution (BSD):

  • McKusick, Marshall Kirk. “Twenty Years of Berkeley Unix: From AT&T-Owned to Freely Redistributable.” Open Sources: Voices from the Open Source Revolution, O’Reilly, 1999. O’Reilly (free online), Amazon, Goodreads
  • McKusick, M. K., Bostic, K., Karels, M. J., & Quarterman, J. S. The Design and Implementation of the 4.4BSD Operating System. Addison-Wesley, 1996. Amazon
  • Salus, Peter H. The Daemon, the Gnu, and the Penguin. Reed Media Services, 2008. Amazon, Goodreads

TCP/IP and Internet History:

  • Leiner, Barry M., et al. “A Brief History of the Internet.” Internet Society, 1997, revised 2009. Internet Society
  • Cerf, Vint & Kahn, Robert. “A Protocol for Packet Network Intercommunication.” IEEE Transactions on Communications, Vol. 22, No. 5, May 1974. PDF

AT&T Breakup and UNIX Commercialization:

  • Coll, Steve. The Deal of the Century: The Breakup of AT&T. Atheneum, 1986. Goodreads
  • “United States v. AT&T: The Antitrust Case of the Century.” U.S. Department of Justice, 1982.

GNU Project:

  • Stallman, Richard M. “The GNU Manifesto.” Dr. Dobb’s Journal, March 1985. GNU.org
  • Stallman, Richard M. Free Software, Free Society: Selected Essays. GNU Press, 2002. GNU.org, Goodreads
  • Williams, Sam. Free as in Freedom: Richard Stallman’s Crusade for Free Software. O’Reilly, 2002. Online edition, Goodreads

Microcomputer History and MS-DOS:

  • Freiberger, Paul & Swaine, Michael. Fire in the Valley: The Making of the Personal Computer. McGraw-Hill, 1984. Goodreads
  • Ceruzzi, Paul E. A History of Modern Computing. MIT Press, 1998. Goodreads
  • Wallace, James & Erickson, Jim. Hard Drive: Bill Gates and the Making of the Microsoft Empire. Wiley, 1992. Goodreads
  • Paterson, Tim. “An Inside Look at MS-DOS.” Byte Magazine, June 1983. Lo-tech.co.uk

Xenix and Microsoft UNIX:

  • Libes, Don & Ressler, Sandy. Life with UNIX: A Guide for Everyone. Prentice Hall, 1989. Goodreads

BSD Lawsuit (USL vs. BSDi and UC Berkeley):

  • McKusick, Marshall Kirk. “Twenty Years of Berkeley Unix: From AT&T-Owned to Freely Redistributable.” Open Sources: Voices from the Open Source Revolution, O’Reilly, 1999. Chapter online, Full book, Amazon, Goodreads
  • Salus, Peter H. “Unix Lawsuit Settled.” The Daemon, the Gnu, and the Penguin, 2008. Amazon, Goodreads

Minix and Linux Origins:

  • Torvalds, Linus. Original announcement to comp.os.minix newsgroup, August 25, 1991. Google Groups Archive
  • Torvalds, Linus & Diamond, David. Just for Fun: The Story of an Accidental Revolutionary. HarperBusiness, 2001. Goodreads
  • Tanenbaum, Andrew S. Operating Systems: Design and Implementation. Prentice Hall, 1987. Goodreads

Linux Development and History:

  • DiBona, Chris, Ockman, Sam & Stone, Mark (eds.). Open Sources: Voices from the Open Source Revolution. O’Reilly, 1999. O’Reilly (free online), Amazon, Goodreads
  • Raymond, Eric S. The Cathedral and the Bazaar. O’Reilly, 1999. Online, Goodreads
  • Moody, Glyn. Rebel Code: Linux and the Open Source Revolution. Perseus Publishing, 2001. Goodreads
Polo
Written by Polo
My journey in computing started with an Apple II playing Lode Runner, then moved to a Macintosh LC at age 10 in the early 90s. While most people navigated command-line interfaces, I was exploring graphical user interfaces on the Mac. Ironically, I later experienced the inverse evolution—discovering Linux at 17, properly learning Unix at 20, and becoming hooked on the command line. While others embraced Windows GUI, I spent most of my time in terminals. I discovered the Internet in 1994 when it wasn't yet widespread. I studied Computer Science with a focus on Distributed Systems, and now work as a software engineering manager.