How To Beat The AGPL

The Free Software Foundation has released a new License, the GNU Affero General Public License. As much as I respect the FSF, this new license is horrible and should be taken out back and shot.

But there’s good news for people who want to use AGPL-licensed software without complying with the spirit of it’s awful restrictions. Basically, this rubbish is so poorly worded that it’s almost trivially easy to work around. The intent was that if you run AGPL software on your webserver, for example, then you must have a “download link” for your site’s users to retrieve their own copy, complete with any modifications you’ve made. That’s not what they actually say, though. Here’s how to use their own words against them.

Section 13, “Remote Network Interaction […]” begins:

Notwithstanding any other provision of this License, if you modify the Program, your modified version must prominently offer all users interacting with it remotely through a computer network (if your version supports such interaction) an opportunity to receive the Corresponding Source of your version **by providing access to the Corresponding Source from a network server at no charge, through some standard or customary means of facilitating copying of software.** This Corresponding Source shall include the Corresponding Source for any work covered by version 3 of the GNU General Public License that is incorporated pursuant to the following paragraph.

Notice, though, the ambiguous phrasing of that clause. What they meant was “(providing access to the Corresponding Source) (from a network server)”, eg. by you having that download link. However, an equally valid interpretation would be “(providing access to) (the Corresponding Source from a network server)”, or the source as it exists on a network server somewhere, but not by actually downloading it from there.

Did you catch the difference? Pretty subtle, huh? So you make a link to a page instructing your users to send you blank media and a prepaid envelope, and that you’ll make a copy of the source “from a network server”. Then you copy that source off of a computer you own that’s connected to least one other computer and running at least one network service. Voila. You are now compliant with the explicit terms of the license, although not even closely to how the AGPL’s authors expected. You still have to give out copies of modifications that you’re not actually distributing, which is not required when using software licensed under the GNU General Public License (GPL), but at least you don’t have to pay to host a fileserver anymore and don’t have to keep an up-to-the-second copy ready for your users to download.

Sure, it’s against the spirit of the license, but I see that as a good thing. The GPL is a thing of beauty, but the AGPL has nothing going for it. Even if you like a particular AGPL’ed program, I encourage you to work around the license even as you share your modifications openly as you would with GPL software. Let the world know what you think of the AGPL and point out how ridiculously unnecessary it is. I hate the fact that this End User License Agreement is named so confusingly, and the sooner it dies an inglorious death, the sooner we can get back to writing Free Software.

Usual disclaimer: I am not a lawyer, this is not legal advice, yadda yadda yadda.

It’s Been A Long Time Since I Rock And Rolled

It's been a long time since I rock and rolled,  
It's been a long time since I did the stroll.  
Ooh, let me get it back, let me get it back,  
Let me get it back, baby, where I come from.

We were going to be rock legends, but it didn’t quite turn out like that.

I realized a few days ago that my kids had never heard Led Zeppelin, and that seemed almost criminally negligent. I rushed out to get “Zoso”, played it while I drove them to school, and dropped them off just as “Black Dog” was finishing. Then “Rock & Roll” kicked in and I thought about my best friend in high school, Rob. He’s writing graphic novels these days and I’m wrangling bits. He’s at least managed to get himself recorded, but the piano in my living room is about as close as I’ll come to playing in front of an audience again.

Don’t get me wrong – I wouldn’t trade the life I have for anything. I’m happy, and as far as I know, so is Rob. It’s just that we were supposed to be on the cover of Rolling Stone by now.

Free To Be Stupid

The members of the Westboro Baptist Church are despicable. Their message of hate is monstrous and indefensible and has no place in society. And yet, by taking away their ability to speak it, we’ve all lost something more important.

Said “church” is infamous for their acts of picketing military funerals. This has been universally and justifiably condemned, to the point that many state legislatures have passed laws prohibiting any protests at funerals. I think that this is a mistake.

The First Amendment wasn’t meant to protect popular speech because words that everyone agrees with don’t need protection. It was meant to provide explicit protection for words and ideas that the majority hates and would prefer to silence. Westboro’s speech clearly falls into the latter category, and we should all defend their right to say it while speaking out against the words themselves. There are times when we all want to say things that most people would disagree with, and we can’t expect that freedom for ourselves while taking it away from others.

Beyond that, though, I believe that their ability to protest is more important than their words which we all pretty much ignore. Westboro is saying bad things about good people, about men and women who voluntarily died for their country. However, it’s possible that you and I might someday want to say bad things about bad people, and I’m not sure that it’s possible to pass a law against the first without restricting the second.

As an admittedly unlikely example, suppose that some country wanted to give a state burial in honor of Adolf Hitler. Almost everyone would agree that this would be a horrible idea. In particular, quite a few organized groups would probably want to plan protests and demonstrations during the funeral to express exactly how much they opposed it. I think that a majority would support their right to do so and wouldn’t dream of passing a law to prevent those protests. How do you phrase a law so that it allows decent people to protest at Hitler’s funeral but keeps disgusting people from protesting at an American soldier’s? You can’t say that you can only picket against unpopular or unliked people; Martin Luther King, Jr. had quite a few enemies in certain places while Joseph Stalin still has pockets of admirers to this day. Besides, the last thing we want is the government dividing people into “good” and “bad” categories and providing protection to one but not the other.

I don’t have an answer for this dilemma. As much as I detest the members of the Westboro Baptist Church for preaching hate in the name of God, I honestly don’t know how we can justify silencing them just because we don’t like their message. As much as I disagree with them, our Constitution and our founding principles declare that they should be allowed to say their piece, wretched as it might be.