Richard Stallman: The Philosopher
The most efficacious piece of Philosophy written this century was buried in a software licensing agreement, and the Philosophy faculties of every major university have missed it.
While clicking ‘I agree’, to all those licences, everyone will have come across this piece at some point.
## Preamble
The GNU General Public License is a free, copyleft license for
software and other kinds of works.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom
to share and change all versions of a program--to make sure it
remains free software for all its users. We, the Free Software
Foundation, use the GNU General Public License for most of our
software; it applies also to any other work released this way
by its authors. You can apply it to your programs, too.
Stallman doesn’t reference other Philosophers, so one might not initially see him as part of the larger Philosophical conversation. However, he does have a good understanding of Logic, and an impressive beard.
I won’t cover Stallman’s ideas here, as they’re well-covered at stallman.org . Rather, I want to examine what Stallman’s methods have to teach the Philosophy departments by codifying his Philosophy into law..
The Beginning
His journey began with an argument over a printer. Instructions used to come in a human-readable format. They look something like this:
remember a list called 'pages to print'
for each X in 'pages to print' {
send X to the printer
}
Real machine code is even less friendly, but with a little time, people can read it, then give more instructions to any machine. Once the instructions are done, it must be translated into machine code, which nobody can read.
01110010 01100101 01101101 01100101 01101101 01100010 01100101 01110010 00100000 01100001 00100000 01101100 01101001 01110011 01110100 00100000 01100011 01100001 01101100 01101100 01100101 01100100 00100000 00100111 01110000 01100001 01100111 01100101 01110011 00100000 01110100 01101111 00100000 01110000 01110010 01101001 01101110 01110100 00100111
Stallman used to take the printer instructions, modify them, then turn them into binary with a compiler. Then a new printer arrived without any human-readable instructions - just the compiled binary data. Nobody could read it, and the licence said not to even try to understand it. The printer could no longer receive any help, or get any changes.
We don’t know who wrote all that printer code, but it’s unlikely that they developed it alone. More probably, they took existing printer code, modified it for the new printer, and didn’t bother to credit the coders who added those parts.
Stallman would later write about horrifying visions of the future where people could not lend each other books, because all books had become files on computers which were illegal to control outside of the narrow terms of their licences. At the time these stories seemed far-fetched, but we now have examples of Amazon remotely deleting people’s books, or people getting legally prosecuted with evidence from a proprietary computer program.
The Initial Idea
Stallman wanted freedom respecting software, so he created a definition in four parts:
- Freedom 0: The freedom to run the program for any purpose.
- Freedom 1: The freedom to study how the program works, and change it to make it do what you wish.
- Freedom 2: The freedom to redistribute copies so you can help your neighbour.
- Freedom 3: The freedom to improve the program, and release your improvements (and modified versions in general) to the public, so that the whole community benefits.
However, this could only serve people with similar thinking who required a definition. It served as an ineffective plea, without any legal backing. Companies would continue to take open code which people had written to help people, then use it to make money, while disallowing others the benefits the company had received.
To combat this problem, Stallman wrote the ‘GNU General Public License’ (GPL). He thought the piece guaranteed the four rights above, but it did not.
The licence failed once Tivo used the Linux kernel for their devices. They changed the code, and shared their changes, but also ensured that if anyone modified the code they had placed in the device, then the device would stop working. Users no longer had freedom 3.
Clearly, Stallman hadn’t wanted this, but the GPL did not make this explicit. The licence required more precision, so he and the Free Software Foundation later released the GPLv3.
After that came the AGPL, and perhaps more will come again.
What the Law Can Do for Philosophers
Very few Philosophical ideas ever receive legal testing, and revision, and this process of copy, test, improve, has clearly sharpened Stallman’s ideas, at least in implementation.
I wonder if Kant might have been able to phrase his Categorical Imperative better if he’d sat down with some lawyers to codify it, then seen the repercussions of those laws, and stopped to write again.