A jammed laser printer sparked the modern open-source movement
In 1980, MIT programmer Richard Stallman grew frustrated with a Xerox 9700 laser printer that constantly jammed down the hall without notifying anyone. Previously, programmers modified printer software so it alerted their terminals when a jam occurred. But Xerox provided the new model only under a non-disclosure agreement, withholding the source code. Offended that artificial legal barriers blocked programmers from fixing basic problems, Stallman launched the GNU Project in 1983 to build an entirely free operating system.
The communal culture of the early AI Lab
In the 1970s, the Artificial Intelligence Laboratory at the Massachusetts Institute of Technology operated under a computing culture that treated software as a shared resource. Programmers, who referred to themselves as hackers, worked primarily on the Incompatible Timesharing System, an operating system developed directly within the laboratory. Under this arrangement, source code was openly accessible across the local network. Anyone who noticed a defect, an inefficiency, or a missing feature was expected to fix it or adapt the software to meet the community's immediate needs.
This open environment was not formalized through legal frameworks; it was simply the default practice of an academic and research collective. When researchers acquired new hardware, they routinely rewrote or extended the vendor's software to integrate it with their local systems. Modifying code was viewed as an ordinary part of operating a computer, much like tuning an engine or repairing a piece of laboratory equipment. Software secrecy was virtually nonexistent within the lab, and withholding useful improvements from colleagues was considered a breach of basic professional etiquette.
The silent laser printer and the non-disclosure agreement
That collaborative dynamic faced a direct challenge when the laboratory received an advanced laser printer from the Xerox Corporation. The machine was technically superior to the lab's older equipment, capable of fast, high-resolution printing, but it suffered from frequent paper jams. In an office where dozens of researchers submitted print jobs from across the building, a mechanical stoppage could silently halt productivity. Jobs piled up in the queue, and staff members walked down long corridors only to find their work trapped behind an unattended jam.
With earlier devices, such as the lab's modified Xerox Graphics Printer, programmers had solved this problem by adding a small routine to the printer driver. Whenever a fault occurred, the software immediately broadcast an alert across the network to the user whose job had jammed, prompting them to clear the machine, while subsequent users knew to wait. However, when Richard Stallman sought to implement a similar notification mechanism for the new printer, Xerox refused to provide the source code, releasing the software only in precompiled binary form under a strict non-disclosure agreement.
Stallman learned that a colleague at Carnegie Mellon University possessed a copy of the printer software source code. When Stallman visited and requested a copy so the MIT lab could restore the alert system, the colleague refused, explaining that he had signed a non-disclosure agreement promising not to share it. For Stallman, this refusal was not merely an inconvenience; it represented an artificial legal barrier that forced researchers to prioritize commercial secrecy over mutual aid. He viewed non-disclosure agreements as a fundamental betrayal of community cooperation that turned colleagues into adversaries.
The collapse of the hacker community and the birth of GNU
The printer incident occurred alongside broader structural shifts that dismantled the MIT AI Lab's traditional culture. During the early 1980s, commercial software vendors began treating software as proprietary intellectual property rather than shared scientific research. Several commercial spin-off companies recruited heavily from the laboratory staff to build proprietary workstations, splintering the tight-knit hacker community. As older hardware retired, the lab's homegrown operating system fell out of use, replaced by modern proprietary systems whose internal code users were legally barred from inspecting or modifying.
Faced with these changes, Stallman realized that continuing to work in computing under the new norms would require signing non-disclosure agreements and withholding code from his peers. Finding this ethically unacceptable, he decided to create an alternative. In September 1983, he posted an announcement to the net.unix-wizards Usenet newsgroup declaring the launch of the GNU Project. The name was a recursive acronym standing for 'GNU's Not Unix,' signifying both its technical compatibility with the widespread Unix architecture and its complete independence from Unix's proprietary licensing.
Building an operating system from scratch
In January 1984, Stallman resigned from his staff position at MIT so the university could not claim copyright ownership over his work, though he was permitted to continue using lab facilities. The goal of the GNU Project was straightforward yet enormous: to write a complete, Unix-compatible operating system made entirely of free software, allowing anyone to run, study, modify, and redistribute it without legal restrictions.
Rather than starting with the operating system's kernel, the project began by replacing the surrounding utilities and developer tools that Unix programmers relied upon daily. Stallman developed GNU Emacs, a powerful text editor, followed by tools such as the GNU Compiler Collection, the GNU Debugger, the Bash command shell, and standard core utilities. By focusing first on high-quality programming tools, the project enabled developers worldwide to write and compile software without relying on proprietary toolchains. In October 1985, Stallman established the Free Software Foundation, a tax-exempt charity, to raise funds, provide administrative infrastructure, and handle legal support for GNU development.
Defining freedom and the invention of copyleft
Central to the GNU Project was a rigorous definition of what made software ethically acceptable. The Free Software Foundation established four essential freedoms for users: the freedom to run the program for any purpose, the freedom to study how the program works and change it, the freedom to redistribute copies to help others, and the freedom to distribute modified versions so the whole community benefits. In GNU terminology, 'free' referred to liberty rather than price, captured in the project's enduring phrase that users should think of free speech, not free beer.
To protect these freedoms from being privatized, Stallman devised the legal concept of 'copyleft.' Traditional copyright law granted authors the power to restrict copying, modification, and distribution. Copyleft inverted this mechanism: it used copyright law to ensure that a program's freedom could never be stripped away. In 1989, the project published the GNU General Public License, a single legal instrument requiring that any distributed software incorporating or deriving from GPL-licensed code must also be made available as free software under identical terms. Copyleft prevented commercial entities from taking public code, making minor additions, and locking the resulting product behind proprietary licenses.
The missing kernel and the modern ecosystem
By the early 1990s, the GNU Project had successfully produced nearly all components necessary for a functioning operating system, including compilers, text editors, shells, and system libraries. However, the system still lacked a functioning kernel—the core program that manages system resources and communicates directly with hardware. The project's official kernel, GNU Hurd, relied on an ambitious multi-server microkernel architecture designed over Carnegie Mellon's Mach microkernel, but development proved technically challenging, resulting in protracted delays.
The gap was unexpectedly filled in 1991 when Linus Torvalds, a Finnish university student, created an independent Unix-like monolithic kernel named Linux. In 1992, Torvalds re-licensed Linux under the GNU General Public License, allowing it to be paired directly with the existing suite of GNU system utilities, libraries, and compilers. This combination produced the first fully functioning, entirely free operating system. While commonly referred to simply as 'Linux,' the broader system was built largely upon the software stack and ethical foundations established by the GNU Project nearly a decade earlier.
Key takeaways
•A locked printer driver at MIT in 1980 exposed how non-disclosure agreements prevented programmers from fixing basic technical defects.
•Richard Stallman launched the GNU Project in 1983 to construct a completely free Unix-compatible operating system from the ground up.
•The project created copyleft and the GNU General Public License (GPL) to legally safeguard user freedoms and prevent code from becoming proprietary.
•While the GNU Project built most of the operating system utilities by the early 1990s, its pairing with the Linux kernel completed the working system.