◷ Computing history

GNU and Linux: the story of free software from Stallman to Torvalds

The 1983 GNU project, the GPL licence, the 1991 announcement of Linux and the birth of open source in 1998: how free software came to run the servers.

Today the great majority of servers on the Internet, supercomputers, Android devices and countless network appliances run on a system based on the Linux kernel. This result grew out of two distinct initiatives, eight years apart: Richard Stallman's GNU project, launched in 1983, and the kernel written by Linus Torvalds from 1991 onwards. Understanding how they came together also helps explain the difference between "free software" and "open source".

The context: the end of sharing

In the 1960s and 1970s, in many research laboratories, the source code of programs circulated freely. Whoever found a bug fixed it and shared the fix. Between the late 1970s and the early 1980s the situation changed: software became a commercial product, distributed only in executable form and accompanied by licences that forbade studying, modifying and redistributing it.

Richard Stallman, a programmer at the MIT Artificial Intelligence Laboratory, experienced this change as a loss, both practical and ethical.

The GNU project

On 27 September 1983 Stallman announced the GNU project in a discussion group: building a complete, Unix-compatible operating system made entirely of free software. The name is a recursive acronym: GNU's Not Unix.

In 1985 he published the GNU Manifesto and founded the Free Software Foundation. In the following years the project produced many fundamental components: the Emacs editor, the GCC compiler, the GDB debugger, the Bash shell, the C language libraries and numerous system tools.

The four freedoms

For Stallman, "free" refers to freedom, not price. A program is free if its users have four freedoms:

Freedom Meaning
0 To run the program for any purpose
1 To study how it works and change it, and therefore to have access to the source code
2 To redistribute copies
3 To distribute modified versions

Numbering from zero is a small wink to programmers.

The GPL and copyleft

To ensure that these freedoms could not be taken away in later versions, Stallman devised the GNU General Public License (GPL), published in 1989, with a second version in 1991. The GPL uses copyright in reverse, so-called copyleft: anyone can modify and redistribute the program, but distributed versions must remain under the same licence, with the source code available.

The missing piece

By the early 1990s the GNU system was almost complete. What it lacked, however, was the kernel, the core that manages the processor, memory and devices. The kernel planned by the project, called the Hurd, was under development but far from ready.

Linus Torvalds and Linux

On 25 August 1991 Linus Torvalds, a Finnish computer science student, posted a message to a discussion group devoted to Minix, a small teaching operating system. He announced that he was writing a free operating system for computers with the Intel 386 processor, adding that it was just a hobby and would not be big and professional like GNU. Few messages on the Internet have been so spectacularly contradicted by events.

The first version of the kernel was made available in September 1991. At first Torvalds used a licence that forbade commercial use; in 1992 he switched to the GPL. It was a crucial decision: the Linux kernel could now be combined with the GNU tools to form a complete, free operating system.

A new development model

Linux grew through a method that was unusual at the time: hundreds, then thousands of developers around the world sent changes over the Internet, and Torvalds and a group of trusted collaborators decided which to accept. Years later, in 2005, Torvalds also created Git to manage this process; today it is the most widely used version control system in the world.

Distributions

To use the system you had to put together the kernel, GNU tools, a graphical interface and applications. That is how distributions were born. Among the earliest still active are Slackware and Debian, both from 1993. Debian in particular was conceived as a community project with explicit rules on free software.

There is a never-settled debate over the name: the Free Software Foundation asks for the system to be called GNU/Linux, to acknowledge the contribution of the GNU project, while in common usage people simply say Linux.

From free software to open source

In 1998, after Netscape announced that it would release the source code of its browser, a group of developers proposed the term open source. The aim was to present the practical advantages of the model, such as quality, security and reliability, to the business world, putting the ethical aspects in the background. The Open Source Initiative was founded the same year.

The two expressions largely refer to the same licences, but reflect different motivations: users' freedom for the Free Software Foundation, the effectiveness of the development method for open source advocates.

In short

  • Richard Stallman announced the GNU project on 27 September 1983 and founded the Free Software Foundation in 1985.
  • The GPL, published in 1989, introduced copyleft to guarantee the four freedoms of free software.
  • Linus Torvalds announced Linux on 25 August 1991 and in 1992 released it under the GPL, completing the GNU system with a free kernel.
  • In 1998 the term "open source" was born, emphasising practical advantages over ethical ones.
MM
Marco Marzaduri

Marco Marzaduri works in cybersecurity, digital forensics and web development. With degrees in computer science and psychology, he combines technical analysis with an understanding of the human factor.

Read also