Knowing What We Don't Know

12 Mar 2014

The free software community is one which delights in smart hacks. If they are funny as well then all the better. Recursive acronyms, the MIT hacks, and the GNU/Emacs Anti news all spring to mind. We do this because we love to think.

Hackers are also too often tempted to write their own solution to a software problem instead of using a perfectly adequate existing solution (I've done this, and so have you so don't even try to deny it.) And yes, we do this as well because we love to think.

It shouldn't be a surprise then that we see people from the free software community trying to hack not only software but the free software license as well. What's unfortunate is that hacking free software licenses is something we do with mixed success. Our skills at solving computational logic and mathematical problems don't typically translate well to writing legal documents. Like when a model tries to go into acting, or when a general goes into politics; it doesn't always work out the way we plan. For example, have a look at the FSF's comments on the Artistic License 1.0 or the WTFPL. If you've ever tried to read a lengthy software license in full it's easy to be sympathetic with the people who want rid of that yoke, or think that bettering the situation themselves would be an interesting challenge.

The problem is that the proliferation of free software licenses harms the free software community in a number of real ways. Overwrought joke licenses, amongst those, do more damage than others.

It would be an insult to anyone who studied software engineering, or indeed anyone who has spent countless hours perfecting their coding skills through monk-like autodidaction and devotion, to suggest that a lawyer with no programming experience could write production quality software. Why then do we as programmers with no legal training expect to be able to write a legal document which would stand in a court of law anywhere in the world? What hubris is this? Richard Stallman is a smart guy, mighty confident and one of the icons of the hacker culture. But when he wants to implement his ideas in a software license, he asks a lawyer.

A free software license is a tool we use to communicate to others. The protocol for communication in that medium is legal language. Trying to float an amateur free software license should be regarded the same way as trying to submit a Lisp program to CPAN; inappropriate.

A free software license is a tool we give lawyers, judges, and juries to communicate our will. To communicate how we want, and how we don't want, our software to be treated by others. Every detail becomes crucial when disaster strikes. We don't want to think about disaster. When it's sunny and warm outside it's hard to convince yourself to take that extra layer in case it rains. We don't want burdensome formalities. But we are, as humans, notoriously bad at judging risk and predicting disaster.

In a car we want professionally designed, built and installed seat belts and air-bags to protect us and our loved ones. When we buy a house we want experts to survey the land, inspect the property and clear the title for liens to protect our hard earned investment. Let's appreciate our limitations and work with legal professionals to create the legal documents we need to protect our software freedom.