Tablets from the Mountain

Late, and over a year in development, the GNU General Public License version three (GPLv3) is finally here. The GPL is important as it's the most widely used Free Software license, with around seventy percent of Free Software released under its terms. It is unofficially regarded as the constitution for the Free Software movement. Already criticisms are being aimed at the new work, mainly from people and companies who didn't take part in the drafting of it. The amazing thing is how many large corporations actually did take part in the drafting process for the GPLv3.

Back in 1991 when Richard Stallman (the author of the GPL and creator of the Free Software Foundation) released the second version of the GPL, no one much cared. Only a few "Free Software" enthusiasts like myself paid attention and bothered to read and understand it. Sixteen years later the release of version three has drawn comments directly from Microsoft and IBM lawyers enthusiastically participated in the drafting of it. How times have changed.

One thing that hasn't really changed though is Richard Stallman himself. Yes he's older, and carpel tunnel syndrome has put paid to the legendary hacking feats he was once famous for, but his views on freedom haven't changed one bit. If you want to understand the GPL, you need to understand Richard Stallman. Bearded like some old testament prophet, Richard has a moral compass you could use for an absolute direction that is superior to a GPS tracking system. It always points true north towards freedom.

Richard has always had a very clear idea of what he'd like the software world to look like, and crafted the GPL in order to achieve that goal. If you don't share his views, and work in the propriety software industry, then this might be a very scary thing. In essence, he wants to make proprietary software an immoral choice, even to the point of legislating against it. Personally I go along with Richard only so far, but not to the point of legislating against the choices of others. I'm too scared of people finding my choices immoral, and legislating against them. But for the rest of his views, which is to create a massive ecosystem of GPL software able to be freely shared amongst users and programmers, I'm fully signed up.

The thing to realize about the GPL using and creating Free Software community, is that the word "community" is the most important part. It's like a club, where membership only depends on you accepting the spirit of the license used by all the members, the GPL. Note that I say the spirit, and not just the letter of the license. The reason for this is that the code created by the Free Software community is incredibly valuable. One estimate put the price tag on creating the Linux kernel at over $600 million. In the early days of the project I work on, Samba, a commercial competitor who shall remain nameless offered around $40 million for the rights. They were refused. With values that high for code seen as "freely available for the taking" it is very tempting for people who lust after it to try and find ways to break the spirit of the license, whilst sailing close to (or even transgressing) the letter of the license, in order to give themselves a proprietary advantage.

The GPL version two is old. Sixteen years is a long time in software and the law. Companies trying to take advantage of the license have found technical hardware circumventions and what they believe to be a hole in the patent protections guaranteed by the GPLv2 in order to subvert the idea of everyone having the same rights to the code as everyone else. I'm talking about Digital Restrictions Management (DRM) locked hardware and the Microsoft patent covenant agreements here.

The GPL version three is designed to address these issues, and keep the "everyone gets the same rights" quality of the license intact against these threats. The change that gets the most criticism is the anti-DRM clause, section six of the new license. The Linux kernel developers object to this clause so much they are currently staying with the GPLv2, which of course is their right. But the central point of the matter seems lost in the noise. The fact is that the GPLv3 doesn't prohibit or outlaw DRM. It only means that you can't use or link to GPLv3 code to create such a system. As ever, companies are completely free to write their own proprietary DRM code and attempt to make digital information harder to copy (good luck!) using their own work. They just don't get to piggyback on existing GPLv3 code to do it. This seems completely fair to me. I don't want any of my code to be used inside a DRM system but wouldn't restrict anyone else from trying to create that impossible dream.

My views on patent covenant agreements are probably well known by now. In short, I'm against them. They attempt to carve out a privileged class of users, "blessed" and safe from lawsuits by the fact that they paid a certain set of vendors for their code distribution. This isn't freedom, this is an indentured servant having a choice of masters. The whole point of the GPL community of developers and users is that there is no privileged position. No one gets an advantage over another, it's a true commons of the mind. These patent covenant agreements are a divide and conquer attempt to force people to pay vendors who had no part in creating the code in question. These are vendors who deliberately isolate themselves from the rest of the community and yet still want us all to pay them a toll. For me this is the most important GPLv3 change. If it changed nothing else but this provision, I'd still release all my software under GPLv3 in order to maintain the level playing field needed to foster a thriving community of users and developers.

For all these changes the GPLv3 is a modest and evolutionary step forward. It shows that Richard Stallman and the Free Software Foundation (FSF) can be trusted to do the job they set themselves up to do, which is to maintain the freedom of GPL software for developers and users. In ten or so years time, when the GPL version four becomes necessary due to threats as yet unknown, I expect to be reading the same criticisms of the process and the new license, probably from the same people. "The draft of version four is too extreme," they'll say. "Not like the reasonable and well understand GPL version three we're all using today".

Ignore the hysteria. These critics were wrong about the GPLv3, and I expect a large amount of software to become available under the new license. Richard's dream of a large ecosystem of GPL Free Software we can all use to benefit our employers and our communities is possible, we just need to keep focused on the prize. If you appreciate the work of the Free Software Foundation, please give them a donation. Even if it's just $1.05, every little helps.

In the hilarious words of the movie "Team America: World Police"

"Freedom isn't free
No, there's a hefty in' fee.
And if you don't throw in your buck 'o five
Who will?"

Jeremy Allison

Samba Team
San Jose, California
5th August 2007


Thank You.


Thank You for setting an moral example for others to emulate.

Keep up the good work.

Great explanation, Jeremy

It has now been a year and a half since you wrote this. However, it's one of the best explanations of why the GPL v3 is necessary that I've read. I'm not a developer, but rather a systems engineer, so I steer people toward Free Software whenever possible. One of my especial joys is to replace the Craptive Directory or NT 4.0-style domain with a Samba/LDAP implementation, and I've gotten to do that a few times.

Like you, I don't believe that RMS's notion of legislating against the existence of proprietary software is proper. It's people's right, after all, to noose themselves if they wish. But likewise, we have the right to choose to compute in freedom, and for that, also like you, I'm totally signed up.

Thanks to you and the rest of the Samba team for what you do not just with the Samba code, but for technological freedom generally.


Back to top