The GPL story told by the digital spirit of Hunter S. Thompson, powered by chatGPT
THE LICENSE THAT REFUSED TO DIE
A short history of GNU, the GPL, and the strange idea that software users should remain free
There was a time when software was not yet a product in the way we understand the word today.
Not entirely, anyway.
Go back to the 1960s and 1970s and computers were enormous, expensive machines living in universities, laboratories, government facilities, and corporate machine rooms. The software running on them often traveled through a comparatively informal culture of engineers and researchers.
Programs were studied. Modified. Passed around.
At MITβs Artificial Intelligence Laboratory, one of the programmers living inside this peculiar little technological civilization was a young hacker named Richard Stallman.
He joined the lab in 1971.
And according to Stallmanβs own account, the culture there operated on a principle that would later become politically important to him: if another programmer needed your program, you gave them a copy. If something was broken, somebody who understood the machine could inspect it and fix it.
Nobody had yet built an ideology around this.
It was simply how the place worked.
Then the weather changed.
I. THE DOORS BEGIN TO CLOSE
By the early 1980s, software was becoming a serious commercial commodity.
Companies increasingly distributed programs under licenses that prohibited copying and modification. Source code disappeared behind contractual walls.
To Stallman, this was not merely an inconvenient business trend.
It was the destruction of a culture.
He eventually decided that complaining about it was insufficient.
So in September 1983, Stallman announced something wonderfully unreasonable:
He was going to build an entire operating system.
And he was going to make it free.
Not βfreeβ necessarily as in zero dollars.
Free as in the person operating the computer should control the software, rather than the softwareβs owner controlling the person operating the computer.
He called the project GNU:
GNUβs Not Unix.
It was a programmerβs jokeβa recursive acronymβbut underneath the joke was an extremely serious proposition.
GNU would behave roughly like Unix, but users would be permitted to inspect it, modify it and share it.
Stallmanβs original GNU announcement appeared on September 27, 1983. Development began in 1984.
Then came the organization.
In 1985, Stallman founded the Free Software Foundation, or FSF, to support the movement and the development of GNU.
And this is where the story becomes legally interesting.
Because giving people source code wasnβt enough.
There was a loophole large enough to drive an entire software company through.
II. THE PROBLEM WITH GENEROSITY
Imagine I write a useful program.
I tell you:
Take it. Study it. Change it. Share it.
Excellent.
Then a company takes my code, improves it, turns the improved version into a commercial product and says:
Thanks. Our version is proprietary.
The original code remains free.
But the improvements disappear behind another wall.
Stallmanβs solution was remarkably clever because it used the machinery of copyright almost backwards.
Normally copyright says:
I own this. Therefore you may not copy it.
The new idea said:
I own this. Therefore I give you permission to copy, modify and redistribute itβbut only under conditions that preserve those freedoms for the next recipient.
Stallman called the concept:
COPYLEFT.
The joke was deliberate.
Instead of abolishing copyright, copyleft uses copyright to prevent downstream distributors from removing certain freedoms from the software.
Stallman described the strategy explicitly: proprietary developers could use copyright to prevent sharing, so free-software developers could use copyright to protect sharing.
And eventually this philosophy acquired its great legal machine.
THE GNU GENERAL PUBLIC LICENSE.
The GPL.
Version 1 appeared in 1989.
And suddenly there was a legal mechanism capable of reproducing freedom downstream.
You could sell GPL software.
You could modify it.
You could build a business around it.
You could distribute thousands or millions of copies.
But when you distributed covered binaries, the license imposed corresponding obligations concerning source code and licensing.
The freedom traveled with the program.
That was the trick.
III. GPLv2 AND THE ARRIVAL OF LINUX
In 1991, GPL version 2 arrived.
And somewhere else in the computing world, another important event was occurring.
A Finnish computer-science student named Linus Torvalds was building a kernel.
Linux.
Linux was subsequently released under GPLv2, and in 1992 the combination of Linux with the already substantial GNU system made it possible to assemble a complete free operating system.
This was the moment the philosophical experiment escaped the laboratory.
The GPL was no longer protecting merely some interesting hacker utilities.
It was sitting underneath software capable of running actual computers.
Then servers.
Then supercomputers.
Then routers.
Then embedded systems.
Then enormous portions of the infrastructure of the Internet.
And something unexpected became obvious:
Copyleft was compatible with capitalism.
Companies could sell GPL software.
They could sell hardware containing GPL software.
They could sell support.
Consulting.
Hosting.
Integration.
Engineering.
What they generally could not do was take GPL-covered code, distribute a derivative version under incompatible proprietary restrictions, and pretend the GPL obligations had disappeared.
That distinction became enormously important.
The GPL was never an anti-commerce license.
It was an anti-proprietary enclosure of covered derivatives license.
Those are very different things.
IV. THEN THE LAW MET THE MACHINE
GPLv2 survived remarkably well.
But fifteen years is an eternity in computing.
By the mid-2000s, the world contained things that the software industry of 1991 could barely have imagined at scale:
cryptographic signing,
embedded computers everywhere,
software patents,
digital restrictions management,
globalized software distribution,
and increasingly sophisticated ways of technically controlling what users could do with machines they supposedly owned.
One particular machine became famous.
A digital video recorder called TiVo.
TiVo used GPL software and provided source code as required.
But certain TiVo hardware used cryptographic mechanisms that prevented users from running their own modified versions on the device.
Legally, you could modify the source.
Technically, the machine could refuse your version.
The free-software community acquired a wonderfully ugly word for this:
TIVOIZATION.
The machine was effectively saying:
Yes, you have the source.
Yes, you can modify it.
No, you cannot run your modification here.
To the FSF, that defeated an important purpose of software freedom.
Something had to change.
V. GPL VERSION 3
In 2005, work began on revising the GPL.
But GPLv3 wasnβt simply Stallman disappearing into a room and emerging with stone tablets.
The Free Software Foundation oversaw a large public consultation, with legal and organizational support from the Software Freedom Law Center (SFLC).
The revision process involved international discussions, public drafts and thousands of comments. Financial support also included a β¬150,000 grant from the Dutch foundation Stichting NLnet.
There were arguments.
Lots of arguments.
This was the free-software world, after all.
Getting thousands of programmers and lawyers to agree on the meaning of freedom is roughly equivalent to getting several thousand cats to agree on municipal zoning regulations.
But after roughly eighteen months of public consultation, thousands of comments and four drafts, the document emerged.
June 29, 2007.
GNU General Public License.
Version 3.
VI. WHAT GPLv3 WAS TRYING TO PROTECT
GPLv3 retained the fundamental copyleft mechanism but adapted it to a world that had changed enormously since 1991.
Among its important concerns were:
1. Software freedom
The basic GNU philosophy recognizes four essential freedoms:
0 β Run the program for any purpose.
1 β Study how it works and modify it.
2 β Redistribute copies.
3 β Redistribute modified versions.
Access to source code is necessary for the freedoms involving modification.
Notice what is missing from that list:
βNobody is allowed to make money.β
That was never the rule.
You can sell GPL software.
You can charge β¬1.
Or β¬10,000.
The GPL is concerned primarily with what rights recipients receiveβnot whether somebody made money during the transaction.
2. Copyleft
Suppose Alice writes GPLv3 software.
Bob receives it.
Bob modifies it.
Bob distributes his modified GPL-covered program to Charlie.
The license is designed so Bob cannot tell Charlie:
βYou may run my version, but youβre forbidden from studying or modifying it.β
Bob received freedoms.
If he distributes the covered derivative, those freedoms must continue downstream.
Alice β Bob β Charlie β Dana β whoever comes next.
That chain is the beating heart of GPL.
3. Anti-Tivoization
GPLv3 addresses certain User Products where a distributor provides GPLv3 software but uses technical restrictions to stop recipients from installing modified versions.
Under the conditions specified in GPLv3 Β§6, the distributor must provide the necessary Installation Information.
So the right to modify the source isnβt merely decorative.
In covered situations, you must also have the information necessary to make your modified version function on the product.