Set Your Code Free

2010/01/01 by Arto Bendiken

Today is Public Domain Day, in honor of which I’m hereby relicensing (or more properly, unlicensing) all of my software into the public domain.

As the public domain is these days unfortunately somewhat an obscure concept to many people, and disclaiming copyright interest in open-source software seems at present a relatively rare phenomenon (though there exist some notable examples), I will elaborate some on the rationale and implications. As is often the case, there are two kinds of reasons for doing this: the practical and the moral. Let’s start with some practical reasons.

If you are an open-source developer like me, licensing is likely a growing headache for you. Yes, it’s all “open source”, but which flavor? Let me ask you: how often have you passed up on utilizing a great software library just because its open source license was not compatible with your own preferred flavor? How many precious hours of your life have you spent deliberating how to license your software or worrying about licensing compatibility with other software? How many wheels have you rewritten because of licensing concerns?

As you know, there are basically three camps in the FLOSS movement: viral copyleft licensing (so-called “Free Software”), permissive licensing (“open source”), and the public domain. It’s fairly evident that this last camp has been somewhat underrepresented in the last decade and more (and there are reasons for that), with most of the action having taken place in the former two camps. But that could change in an eyeblink.

Now, if you are like me, you’ve never cared much for the concept of copyleft to begin with, and have tended to by default prefer more permissive and liberal licenses such as MIT, BSD, ISC or the Apache License. That already puts you very near the public domain in practical terms. Basically, the key difference between these permissive licenses and the public domain is that in the latter you stop holding a gun to your users’ heads regarding attribution. More on this later.

So, if you’ve preferred permissive licenses, you probably have often uttered a silent sigh when you’ve come across a nice new piece of GPL/LGPL software whose author has inadvertently doomed it to relative obscurity with his licensing choice. For while you might have extended the software and contributed to the project, your interest level dropped as soon as you saw the licensing terms. It turned out to be the equivalent of contaminated code, and assuming that you are not the only one to feel that way, an unintended consequence of the author’s licensing choice has been to curtail the pool of early adopters and contributors.

Having had that experience often enough, I’ve so far made sure to stick with the MIT license for all my software (excepting special cases with external constraints, such as with my Drupal modules). The nice thing about the MIT license and its peers are that they don’t impede cross-pollination: MIT-licensed code can be directly used without legal problems in other software licensed under an equally-permissive license (e.g. the revised BSD license), and vice versa, because these licenses don’t attempt to prohibit relicensing.

Contrast this with the GPL/LGPL, which are one-way streets, or put another way, they are an entry without an exit. To paraphrase a classic song, your code can be checked out anytime you like, but it can never leave. It’s easy to see that if you want your code to be used as widely as possible, copyleft is perhaps not the way to go. But then, that’s sort of the whole point of copyleft, of course: you can look at my code, but if you touch it in a way I don’t approve of, I’ll crucify you with law and impunity.

This leads us into some of the moral, and immoral, aspects of claiming a state-created and state-enforced distribution monopoly on a piece of software. If you failed Ethics 101 (sociopaths, raise your hand) or are not one to philosophize, you can safely quit reading here.

What copyrighting your code really comes down to is this: when you include a license statement in your software project, you are effectively making a threat to the users of your software. You are saying that if they don’t behave according to whatever arbitrary criteria you’ve set out in your license statement, you will send some men with guns after them. I don’t know about you, but I think that’s a pretty shitty thing to do.

Applying the coercive machinery of the state in this way always boils down to the threat of physical violence for non-compliance. When applied, it usually fiddles out into merely financial catastrophe because the victim (that’d be the so-called “infringer”, by the way) doesn’t put up a fight and does show up in the courtroom to hear the verdict that he is bankrupt.

The threat of violence is always in the background, though, and what you’ve done, if you should ever actually press suit for copyright infringement, is given men with guns a pretext for tearing apart a life, or lives, in case your victim doesn’t decide to play ball. (The inconvenient fact that you actually don’t possess any right to delegate the initiation of force in this way is a longer topic best suited for a political philosophy class.)

Now, I don’t know about you, but the least effective way to secure my cooperation is to threaten me. That virtually guarantees that I’ll do the opposite of what you want (even at personal cost to myself), or at the very least that I will choose not to associate with you in the future.

When I say that copyleft code is contaminated, I very much mean that. It is code with significant legal strings attached, and when using it you had better be very aware of those strings. Again, of course, that’s the point of the FSF’s strategy, so in case you agree with their missive you will see this as a benefit. I personally don’t, because I have no interest whatsoever in wreaking havoc on people who want to use my code or (heaven forbid) profit from it. I have better things to do.

It is a strange thing, indeed, to think, as copyleft advocates do, that it’s worth outrage and legal action if somebody incorporates some code of yours into their closed-source proprietary software. In all but the most special of cases, your “abusers” have not actually harmed you in any way. In fact, what they have done is paid you a compliment, whether they choose to openly acknowledge it or not.

Further, if the code they’ve incorporated is substantial, they have an economic incentive to cooperate with you by contributing patches and enhancements instead of attempting to maintain their own private fork of your software. Hell, they may even hire you. Whether they do so or not, you have not lost anything, and you may have gained something. This is known as a positive-sum outcome.

It is a stranger thing, even, to believe that slapping a licensing statement on your software will in some way prevent such wonderful “abuse” in the first place. That is simply a form of magical thinking. Those who would benefit from your software without reciprocity will do so in any case, with or without your implied copyright-sanctioned threats; and regarding my software I say, they’re welcome to knock themselves out. It’s no loss to me.

Not only copyleft advocates but anybody affixing a licensing statement to open-source software is guilty of either magical thinking or of having an intention to follow up on the implied threat. The only thing your license will prevent, or at least curtail, is the adoption of your software. Let us briefly consider a couple of contemporary examples of whether you can successfully attempt to legislate people’s private behavior, or merely drive it underground with the force of guns.

When you smoked that joint last night on New Year’s Eve, did you care about the fact that it is, supposedly, illegal? You knew perfectly well that there exists some bunch of legalese in some legal code you’ve never seen that claims, if you can believe it, to give certain men with guns the “legitimate” authority to prevent you from ingesting certain natural compounds, and to physically restrain and do violence to you in pursuance of that end.

Of course, being the reasonable person that you presumably are, you knew all that to be a bunch of nonsense and saw right through that claim of legitimacy. Those paragraphs of legal garbage no more bound you last night than do, well, the dead fingers of the dead lawyers who wrote them. Thus, last night you only took the sensible precaution of avoiding those particular men with guns who irrationally worship those dead fingers, just as you exercised caution about walking home through a bad neighborhood and opted for a cab instead. Smart of you.

To consider an example perhaps closer to home for those in my captive audience who are merely suffering from a vulgar hangover today: if you are anything like most twentysomethings or younger, you will be quite familiar with torrenting the latest television series, movies and music. You know perfectly well that a bunch of lawyers and politicians claim that what you are doing is “wrong” and that they would dearly love to “punish” you for it every chance they get, and you don’t believe a word they say. In fact, pirating entertainment is now so mainstream that only 3% of Canadians and (closer to home, for me) 1% of Spaniards still believe that it is criminal behavior, so you’re in good company.

Not that this will stop the copyright cops, always on the lookout for imaginary abuses of imaginary property, from “confiscating evidence” (otherwise known as home invasion plus property theft) and hauling your sorry behind to a courtroom (otherwise known as abduction) if they come knocking. So be safe.

The practical point being that, if you are twentysomething or younger, you already know that copyright is dead. It’s a joke, really. The genie is out of the bottle, and refuses to go back in, but all these middlemen are running around in a panic trying to forcibly stuff it back in. Like the Prohibition or the so-called War on Drugs, it’s one of those things where the writing is clearly on the wall, and it’s just a matter of time. The world got along fine before copyright, and will continue to do so (all the better, in fact) long after the concept has been given up for the farce that it is. So, why not give it a kick in the behind to speed things along?

The moral point being that if you’re pirating copyrighted material or clicking through idiotic EULAs without reading them, why on earth are you still slapping a copyright notice on software you yourself write and release? Do you know what that makes you? It makes you a hypocrite. Nobody wants to be a hypocrite. I’ve given up being a hypocrite (about this, anyway) today. What about you?

I’ve collected some resources at that will help you unlicense your code into the public domain. Be good.