Jach's personal blog

(Largely containing a mind-dump to myselves: past, present, and future)
Current favorite quote: "Supposedly smart people are weirdly ignorant of Bayes' Rule." William B Vogt, 2010

Back to the GPL

I've changed sides again and have returned to the GPL-licensing-side of the Free Software movement. Before now I wanted to just use BSD-style licenses or, a recent favorite, the MIT license. I still like these licenses and I'll probably use them for a lot of my future work, but ideally I now prefer the GPL as more free than the others. Its virology is intermusing: it shackles the user with freedom.

I went away from the GPL because I thought the others seemed more free, with public domain being the freest (as not even copyright remained). But I now see it really depends on your definition of freedom, and whether you think freedom comes from a great light in the sky as rights or needs to be protected (by means of government, law, or social pressures) as privileges. I believe in the general statement that all humans have the right to free speech, but that belief doesn't stop a dictator, and that "right" is not written anywhere in the universe to make it physically impossible to violate (as in faster than light travel so far as we know). No, it's a privilege, and a quick way to set up a protection of that privilege is through government. The majority pay with the currency of freedom, to get protected freedom.

"Group X will have the power to throw individual(s) Y in a place called prison for the rest of her life, violating her 'right' of not being forced to live in a prison, if she kills some other individual(s) Z, which violated his right to life. We the majority J have given Group X this power, which diminishes all our freedoms of no one having more power over someone than that someone, and we acknowledge that some of us may become in the future individual(s) Y."

There's a lot in this social contract besides the spending of freedom for the protection of freedom, which I'm confident is a good way for humans to do things. (We spend money to protect money and other things of value (like our lives), so applying it to freedom isn't weird.) There is eye-for-eye retribution, and the type of freedom spent is power over the individual. My theory of Anarchy seeks to change these aspects of the social contract.

Anyway, back to the GPL. The idea of BSD-style licensing seemed freer to me. "I'm not restricting its use to anyone (like the GPL), but I'm also not putting so many restrictions on what that user does (unlike the GPL). They can put it in a proprietary program, for example, which the GPL says you can't do. Mine has less restrictions, so it's freer, I win."

Except (now I'm going to talk to my past self), don't you believe in the freedoms that Free Software is all about? You're releasing the source, so clearly you think that software should be open, and you think you're about freedom, since you're imposing what amounts to just a copyright notice on redistributions of your program. You want people to be able to redistribute, modify, etc. your program, and you would say this desire is driven by a belief in those freedoms. But you also don't want to deny any freedom to an individual, and so you say "The user can put this in a proprietary program if they want." There is your mistake. Now that proprietary program doesn't protect the same freedoms that you admire so greatly. It's all good to admire fragile things, but it's better if you can find a nice way to protect them. While you haven't violated any freedom in letting the company proprietize your program, you just (indirectly) screwed any users of that derivative (or in some cases exact) program from that proprietary source. All that violated freedom wouldn't have come about if you had made your program GPL. You might argue that the company would have never made the derivative work with GPL'd code, so the users wouldn't have gotten anything, but 0 utility is still better than negative utility.

Another thing I like to tell people is to think of software like food recipes. (I believe Stallman originally made this comparison, but I don't remember precisely.) Better Homes and Gardens sells a recipe book (and there's no good mother without the red thing) and inside that book are recipes for all kinds of food. The authors have taken the time to collect, and (hopefully) test (or have reliable sources test) the recipes inserted. The book as a whole is copyrighted to them, and individual recipes have individual copyrights, but no where does it say: "You cannot change this recipe at all. You cannot give this recipe to friends or make changes and give to friends. You cannot make something with this recipe that we didn't intend. You cannot make something with this recipe and then sell that to others. Everything you make with this recipe belongs to me, the copyright holder, too."

I might try including that with a recipe booklet gift to some friend for some holiday, just to see their reaction. And yet that's what you get with software. (I'm not even sure if it's legal, but I've seen various editors that try to say "You cannot make commercial things with this mere text editor." Needless to say, I use vim these days.) And to the people who use BSD-style licenses, you're giving the "freedom" of the user to put that garbage, freedom-taking crap in whatever it is they're releasing. To me, that doesn't seem at all like supporting and protecting the freedoms you claim to admire.

The virtue in admiring any freedom is how much you're willing to protect that freedom from violation by others, both in yourself and in your fellow man. If I lived in a country that censored dissenting government views, I could easily (a small note, the easy way isn't often the right way) protect myself from persecution by living as a hermit on top of a mountain or (more likely) moving to a country not known for government censorship. But that does little to help my fellow men. No, if I really think freedom of speech is important, I need to get somewhat active in denouncing censorship everywhere. The more active, the more virtuous. By all means, save yourself first, but don't forget about the rest, and don't let them drag you back. This is one of my main disagreements with Randian philosophies of rational self-interest. We're in the same boat, and getting your freedom back for yourself is a nice thing, but getting it back and protecting it for many people is a far nicer thing. Don't try to tell me I'm actually being selfish if I do this, I'm not.

I believe in free speech, but I will also admit I'm not the most active campaigner against violations of it. The best I can do to help the people in China and Iran is tell them how easy it is to get around the Great Firewall with things like Tor, but if I really wanted to help I'd actually move there and tell them face to face. (Since the odds of them reading anything of mine online are slim unless they've already used proxies or Tor.)

I nevertheless like free speech, though, and don't enjoy self-censoring in myself or watching occurrences in others. I think swearing is still one of the most common censorships, even in supposedly free countries like America, and especially in very religious states like Utah (where I grew up and am living in for the rest of the week). When I'm not restricted by values of being nice to people by not aggravating them unnecessarily, or by values of picking definite words, I'm somewhat fond of saying this:

"Fuck censorship."

Posted on 2009-07-28 by Jach

Tags: Anarchy, open source, philosophy, programming


Trackback URL:

Back to the top

Back to the first comment

Comment using the form below

(Only if you want to be notified of further responses, never displayed.)

Your Comment:

LaTeX allowed in comments, use $$\$\$...\$\$$$ to wrap inline and $$[math]...[/math]$$ to wrap blocks.