While you can absolutely charge for a GPL product, you are also supposed to make the source freely available to anyone who wants it. You can do this in a number of ways, but you are supposed to make it accessible. This is fine for traditional software that has to be compiled in binaries to run, because you can just say -- "here's the source, compile it yourself if you want, but if you want it pre-compiled and you want support, pay us" (that's what Red Hat does with RHEL) because a) businesses and corporations that use your stuff will usually pay for the latest binary updates and support b) it'll take the community a few weeks usually to get a binary compiled and ready to distirbute (Cent OS, the OS version of RHEL is always a few weeks behind RHEL's official schedule because they have to compile, check bugs, do any upstream checks, etc.) and the barrier to entry ensures that there are a certain number of people that will just pay for the service/compiled software.
Where it gets messy with web-based applications, in this case, WordPress -- is that the source IS the final product. You don't have a binary -- you have a PHP file. So the whole notion of providing the source is tantamount to providing the entire product (in the case of a plugin) or the entire product, with the possible exception of the CSS and images when it comes to themes. Keep in mind that anyone with a modern browser can grab the stylesheet and images from a demo site and combine it with the PHP (which would be the GPL) and create the same theme. So there is no real barrier of entry to get people to buy a service, other than, you know, service.
This is my question about what Brian Gardner is doing. It's cool he's selling his themes and still having them GPL, but that means that he should be providing, at the l least, every PHP file that has a WordPress call in it to anyone who wants it. It also means that anyone who buys any of his themes is free to distribute them, for free (or for money) on their sties and that he can't stop them.
I think most people have just gone with the honor system, because of how unclear all this stuff is, but as more and more software become web-based, the licensing structure of the GPL as it stands right now will not suffice. Now, if WordPress were LGPL (lesser GPL), this wouldn't be an issue. If WordPress were BSD or MIT licensed, this wouldn't be an issue - but the GPL is pretty clear about source issues and in the case of code that doesn't need compiling, the source IS the PHP file.
Theme developers seem to want to find a way to get around offering everything, but still calling their stuff GPL. I understand the dilemma, but my personal feeling is: either do it all the way or just don't try to be GPL. There's nothing that is going to stop anyone from selling themes that are not GPL, short of a lawsuit, and I don't see that happening as it is in no one's interest to do so (least of all WordPress's). Sure, theme sellers can't get too uppity about people pirating their themes, but you know, that's part of how this stuff works.
If you want to do GPL themes, your best bet is probably to offer a free or GPL licensed and available framework and then sell customized CSS and image packages, plus offer support. Do image previews rather than full CSS if you don't want people stealing them or do screencasts or put them in a members only section (they'll still get ripped but probably less than if it is just publicly available). Do what Woo Themes does and offer frequent updates. That's the easiest way to get people to pay for support (and Woo isn't GPL, but probably has the smartest business model out there -- hire really great designers to do a design, code it and sell it and release frequent updates). Actually, if Woo offered their base theme, no customization, no CSS, nothing under the GPL, they could even work under the GPL exactly as they are. The functions.php file would be the only thing that would be a question -- but if that doesn't have any WordPress specific calls, that would work too.
|