The GNU Project and Free Software: Where Open Licences Began
In 1983 Richard Stallman announced GNU, a free Unix-like system. See how the GPL and the four freedoms shaped the software behind your website.
Much of the software that runs websites today, from the operating system to the compiler that built it, carries a licence that exists because of one person's decision in 1983. Richard Stallman, a programmer at the MIT Artificial Intelligence Laboratory, announced on 27 September 1983 that he would write a complete, Unix-compatible operating system and give it away. He called it GNU, a recursive acronym for "GNU's Not Unix".
Why Stallman started
In the 1970s, software was often shared freely among researchers. By the early 1980s, that was changing: computer makers had begun to sell software under restrictive licences and to distribute programs without source code. Stallman has described a specific frustration at MIT, where he could not get access to the source code for a printer driver in order to fix a problem. He concluded that users needed the freedom to study and change the software they depended on. His response was to leave MIT in 1984 so that the university could not claim ownership of what he wrote, and to dedicate his work to building a free system.
The four freedoms
The Free Software Foundation, which Stallman founded in 1985, defines free software by four essential freedoms:
- Freedom 0: to run the program for any purpose.
- Freedom 1: to study how it works and change it, which requires access to the source code.
- Freedom 2: to redistribute copies.
- Freedom 3: to distribute copies of your modified versions.
"Free" here refers to liberty, not price. The slogan often used is "free as in free speech, not free beer". A program may be sold, and still be free software, as long as the buyer receives these freedoms.
Tools that became everyday infrastructure
The GNU project produced many of the components of a Unix-like system, and several became standard:
- GNU Emacs, a highly extensible text editor, in the mid-1980s.
- GCC, the GNU Compiler Collection, which compiles C and other languages and is used to build a large amount of software.
- Bash, the shell that most Linux servers use for the command line.
- Core utilities such as
ls,cpandgrep.
What GNU lacked for years was a kernel. The project had started its own, called the Hurd, but its development was slow. When Linus Torvalds released Linux in 1991, the two were combined into a working system that people could install.
The GNU General Public License
To protect the freedoms, Stallman wrote a licence. The GNU General Public License (GPL), first published in 1989, uses copyright law in an unusual way. It gives everybody the right to use, change and share the software, but it requires that anyone who distributes a modified version must do so under the same licence. This is called copyleft. It prevents a company from taking free code, improving it and then closing the result.
| Licence type | Idea | Examples |
|---|---|---|
| Copyleft (GPL) | Derived works must stay free | Linux kernel, WordPress, GCC |
| Permissive (MIT, BSD, Apache) | Few conditions, closed derivatives allowed | Many web libraries and tools |
| Proprietary | Source is not shared; use is limited | Many commercial applications |
Later versions of the GPL (version 2 in 1991, version 3 in 2007) updated its language. WordPress, for example, is licensed under the GPL, and this affects what plugin and theme developers may do.
Controversy and influence
Free software has always involved debate. Some developers found copyleft too restrictive, and in 1998 a group of them promoted the term "open source" as a more business-friendly label (see our article on the open source movement). Stallman and the FSF continue to emphasise the ethical argument. Whatever the terminology, the practical outcome is that a very large part of the software infrastructure of the internet can be inspected, fixed and reused by anyone.
How licences affect a normal site owner
Most site owners never have to read a licence in detail, but a few points are worth knowing. You may use GPL software on a commercial site, and you may change it for your own use without publishing the changes. The obligations apply when you distribute the software to others. If you are a developer or agency building WordPress themes or plugins for clients, the licence question becomes more relevant, and WordPress's own guidance is that themes and plugins that build on it should be GPL-compatible. If you use images, fonts or scripts from other sources, check their terms too, since these are often licensed differently from the code around them.
What this means for your website
You benefit from the GNU project every time you open a site. The server is likely to run a GNU/Linux system, and the application may be GPL-licensed. In practice, this means three things: you are not locked in, because the source is open and the data is portable; security issues can be found and fixed by many eyes; and you can hire any developer to work on it. When you use open-source tools, remember to check the licences of any plugins or themes you add. Our WordPress hosting runs this open stack, and the team can answer questions on the contact page.