GPL hostility

Posted on Friday, December 18, 2009

Update: the GTD theme developers switched to the GPL right after I wrote this, so perhaps I was unnecessarily harsh. Good for them for making the right move in the end.

Via the weblog tools collection, I found an interesting variation on the p2 theme for WordPress called GTD. It looks a bit rough, but it’s a cool idea: create a theme that turns WordPress into a task management tool.

But anyway, that’s not why I'm writing about it. The p2 theme is GPL licensed, which means you are free to modify the code however you'd like, but if you redistribute the modified software, you have to distribute it under the GPL (or a GPL compatible) licence. I know this well with respect to p2 as I've released a plugin that uses p2 code myself! It’s GPL licensed.

So this GTD theme is a modified p2 theme, but the author hasn’t released it under compatible terms:

You may not redistribute this theme as a whole. Please provide link to this page in case you wish to share the theme. The base theme P2 is GPL licensed and you may download it from http://p2theme.com

Anyone who’s been following the WordPress plugin/theme community over the last year or so knows there’s been a bit of a controversy over the GPL. There are reasonable people who can disagree whether or not the GPL license is a good thing or not for software, but one common theme running through much of these debates has been a basic ignorance of how the GPL actually works by many WordPress plugin/theme authors—to the point of taking pride in being clueless about the GPL. For example, here the guy clearly is aware of the GPL—he mentions that p2 is released under the GPL—but he’s apparently unaware of the restrictions this places on his ability to redistribute p2’s GPL code. (Or, put another way, the protections the GPL provides for all future users of p2 code.)

If this were all there were to the story, I'd not bother writing this up. But a commenter pointed out that not allowing users to redistribute this code is a violation of p2’s GPL license and here was the author’s response:

I do not understand this whole GPL game and wouldn’t want to start one more pointless debate.

So, here’s a clear misunderstanding of how the GPL works. (Although, the freedom to redistribute code is central to the GPL and anyone who'd taken the time to even read the wikipedia page on the topic would understand that. It’s really not that complicated.) But it’s the dismissal of “this whole GPL game” that is eye-opening.

For one thing, the authors of p2 released it under the GPL on purpose. To take their code, make some modifications to it and then redistribute it in a manner they explicitly forbid is wrong. Don’t like those conditions? Don’t reuse their (free!) code.

But I guess what I really don’t understand is how you can build a career around GPL'd software like WordPress—around distributing software for a GPL platform—and just dismiss the rules for distributing sofware. And this attitude is not all that unusual in the WordPress community. It’s incredibly bizarre to me.

If you don’t want to bother learning (or respecting) the rules about software distribution, you probably shouldn’t be distributing software. If you don’t like the terms of the GPL, pick another platform to write your software for.