I’ve woken up today (23rd Jul ’10) to find that Chris Pearson has made Thesis split licence. The PHP is GPL, the css, javascript and images aren’t. It’s a good thing. Details over at Mashable
This post is a reaction to, or perhaps it’s better described as my thoughts on, the situation that exists regarding WordPress and its licence, the GNU General Public License (GPL).
I’m also going to be quoting and answering points raised on Liz Jamieson’s website over at Big Satchurday. Liz wrote a blog-post titled Thesis, The GPL and WordPress – What Does It All Mean? which was prompted by a discussion over at Mixergy between Mat Mullenweg and Chris Pearson. Mat is a lead developer at WordPress and is its public face. Chris is the developer of Thesis, a theme for WordPress.
I was going to reply to Liz on her site but realised that it would be a lengthy entry, so I decided to expand my reply into an entry on my site, right here.
What are WordPress and The GPL?
It’s probable, if you’re a seasoned internet user, that you’ve heard of WordPress. If you haven’t, it’s web software you can use to create a beautiful website or blog. It’s what’s in use right here on this website.
You may not have heard of the GPL, or, perhaps you have heard of it but didn’t read it because it looks like some boring terms and conditions that come with stuff you’ve bought or downloaded. The GPL is:
…a free, copyleft license for software and other kinds of works.
The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program–to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too.
When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others.
For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.
An important part of the above quote is the one referring to free software meaning freedom and not price. This is from WikiPedia:
With the advent of the free software movement, license schemes were created to give developers more freedom in terms of code sharing, commonly called open source or FOSS. As the English adjective “free” does not distinguish between “for zero price” and “liberty”, the phrases “free as in beer” (gratis, freeware) and “free as in speech” (libre, open source) were adopted.
These phrases have become common, along with gratis and libre, in the software development and computer law fields for encapsulating this distinction.
There’s a good video from The Free Software Foundation that explains the GPL and Free Software:
Then of course, there’s Stephen Fry’s video wishing GNU a Happy 25th birthday:
So what we have in the GPL and Free Software is an ideology that promotes sharing, social interaction and advancement in an open and free way. You are entitled to use, modify and build upon the work of others and the only thing asked of you is that anything you produce that derives from the free software, adopts the same licence. You are given freedom, you should pass-on freedom.
So where’s the problem, how can anyone not like this concept?
The GPL and Business
Chris Pearson, the aforementioned Thesis author, is an apparently successful WordPress developer. His Thesis theme is popular and sells. You buy Thesis and you get a slick addition to WordPress together with support in the form of tutorials and a web based community. The problem is, Pearson doesn’t release Thesis under the GPL in direct violation of the GPL itself. He builds upon WordPress therefore Thesis automatically must adopt the GPL1. Pearson is entitled to sell you his theme BUT IT MUST be GPL. He could divide his theme into two parts, one that contains code derived from or built upon WordPress and then one part that contains files that don’t, such as CSS files or Javascript. He doesn’t, in fact, he adds his own terms of service:
Use or distribution of Thesis in violation of the terms and conditions of membership contained in this document will result in termination of your membership, without refund. Also, please be civil and considerate when making use of the support forums, as bad behavior is also grounds for termination of your membership.
So Pearson is freely taking the work of others whose expressed wish is that he can have it, use it and build on it PROVIDED his derivative work adopts the same licence.
How wonderful and how altruistic of the large numbers of WordPress developers to do such a thing. What does Pearson do? He decides to ignore them and apply his own licensing terms with a view to making money. I personally find that disgusting.
Pearson can bleat all he wants about how he wants a payout for all his time and effort but he misses the point that’s sat there right in front of him. He can make money from the GPL through his support and website but he simply cannot break the GPL licence for his own gain. The GPL is there to protect people’s freedoms and he’s trampling all over them. Pearson will argue that the GPL doesn’t apply to Thesis because it’s a separate entity from WordPress. Well how can it be? As Mat Mullenweg says, WordPress without Thesis (using its default 2010 GPL theme), you have something to look at. Thesis without WordPress, nothing. So there’s no argument, Thesis absolutely relies on WordPress and is therefore derived from it and inherits the GPL.
But what does Mat Mullenweg do in response in the interview at Mixergy and Pearson’s blindness over the issue? He asks Pearson to join the WordPress family. He says, in a tongue-in-cheek way that he’ll use Thesis if it becomes GPL. He asks Pearson to take a leap of faith and dismantle the restrictive walls surrounding his work and embrace the open community. I don’t think he will and he should be ashamed.
I already respected Mat Mullenweg prior to listening to the Mixergy interview but I now admire him immeasurably. He has this wonderful software that millions of people use and he has the vision to allow it to be GPL. How can anyone criticise Mat for his adoption and use of the GPL. He and others are giving you their work, free of charge. Let’s put that in bold in case you didn’t see it, FREE OF CHARGE
Me
I suppose this is a good place for me to talk about how I came to be such a staunch supporter of the GPL and Free Software.
When I started regularly using computers, my chosen platform of choice was Amiga. It was by accident because some software that I wanted to use was based on that platform and so that’s the direction I took. The Amiga OS was/is a proprietary system, meaning that it has a closed restrictive licence. Nevertheless, in those days I was blissfully unaware of the GPL and since the Amiga was a platform running in direct competition to the future behemoth of the Microsoft hegemony, it suited me. I even became one of the founders of an Amiga User group and I wrote some small pieces of software for the platform.
When the future of Amiga began to look uncertain I clung onto the hope that it would somehow undergo a renewal and be developed into a realistic and viable alternative to Windows. It didn’t happen. It was around this time that I decided to look at Linux. I grabbed a copy off a magazine cover disk and installed the software to my PC. It was a crazy new world and I was a little bit bedazzled. Fortunately, I’m quite at home on the command line and so changing over to the Linux shell was an easy transition for me.
One of the first things I wanted to install was a FTP server so that I could transfer files between machines. I’d used a some proprietary licensed FTP software on my Amiga so I began searching for a Linux one. It was a little confusing and my search results didn’t help. Then I wondered if perhaps, somehow, there was already a client in my newly installed Linux box. I opened a terminal and typed “ftp localhost”. I was instantly logged into my own machine because it was already running a FTP server out of the box. I really was gobsmacked. The software that I was looking to pay for was already there, and it was free. It was GPL.
Now this is going to sound a bit silly, but from that moment on my outlook on life has changed. The fact that people are prepared to effectively give away their work for the benefit of the community at large did and still does blow my mind. I’d love to be able to release my own software in a similar way but I’m not a programmer. So what I do is help out in other ways. I encourage people to use Free software, I answer question from Free software users and I go out of my way to help them.
This way of thinking, this ideology has stirred something in me that I didn’t know was there. The very core of who I am these days is centred around community, helping people and sharing. It’s called socialism. It’s the reason I feel very passionate about protecting freedom. It’s the reason I hate the big guys hitting on the little guys. It’s the reason I despise the bankers bonus culture. It’s the reason I’ve decided to join a political party with it’s roots in socialism. It’s the reason I pound the streets of Leeds shoving leaflets into people’s letterboxes, without being paid to do it. It’s the reason I will stop and help someone when others will drive past. It’s the reason why I’ll let others go first. It’s the reason I consider myself to be a better person than I was in my youth.
It’s not about me, me me. It’s about us.
There’s a Bantu word: Ubuntu. You may know it as a Linux Distribution . That distribution is so called because of the meaning of Ubuntu. Nelson Mandela explained Ubuntu as follows:
A traveler through a country would stop at a village and he didn’t have to ask for food or for water. Once he stops, the people give him food, entertain him. That is one aspect of Ubuntu but it will have various aspects. Ubuntu does not mean that people should not enrich themselves. The question therefore is: Are you going to do so in order to enable the community around you to be able to improve?
That’s why I love and fiercely defend the GPL, Free Software, GNU and Linux. It’s because I am what I am because of who we all are.
Richard Stallman
It’s worth pointing out that the GPL exists because of Richard Stallman (RMS). The hacker (and that’s not a bad thing) culture in which he existed promoted sharing and openness. When he was denied access to source code to try and fix something, the result was the start of his crusade for Free Software.
Liz Jamieson
I’m not singling out Liz here, I’m actually just answering her blog-post within my blog-post. I quite like Liz and although I’ve never conversed with him her husband Russell seems like an OK guy.
Firstly Liz asks:
We built a free GPL compliant WordPress plugin and because we have a high adherence to quality and service, it takes a lot of effort in support and development time. I don’t mind that but I do want to make a paid version of it that protects my time investment in the overall offering. Given that I willingly give the free plugin away for free along with support for said plugin, how can I get paid for the extra effort I place into the paid features? How do I do that? It’s not obvious to me at all – I see Chris’s point of view. I’m not trying to be awkward here – I really want to know the answer. Maybe someone who can pay their mortgage based on their work (non client based please) with wholly compliant GPL plugins and themes could help me out here.
I understand your point, I really do. The thing is though, your plugin (which I like btw!) inherits the GPL. So you can charge for it but you must make the source available for it. If you’re not happy with that, then you should concentrate on writing plugins for non-GPL software. It’s cold and harsh, but it really is as simple as that.
A point that I often repeat is that you have chosen the leader in the blogging world: WordPress, because it’s exactly that. It has the largest userbase. So it’s a bigger market for you. WordPress however, is given away free of charge because it comes without restriction. Yet you want to restrict the use of a plugin for it? That’s selfish isn’t it? You’re happy to accept the WordPress licence allowing you to do what you want with the software, but you want to then disregard it for your own profit? You know that can’t be right.
If this means that it effects you as a small business, because no-one is going to pay for support, well again, it’s harsh but it’s a bullet you have to bite. The bullet was fired your way when you started developing for WordPress. Software built on sharing and co-operation.
I think that writing something that merely sits on top of something else doesn’t make it derivative. Thesis for me is not a derivative work in common sense terms, only in GPL terms.
Now I really don’t understand this. Thesis without WordPress is nothing. WordPress without Thesis is a blogging platform. The GPL is there to protect the rights of the authors of WordPress. If Pearson profits because of Thesis, that profit is DIRECTLY linked to Thesis running on WordPress. Of course, that profit is fine if someone wants to pay, but the price Pearson MUST pay is to release Thesis as GPL. Now that’s a sensible business model isn’t it. What’s the alternative, enforce a restrictive licence on WordPress thereby requiring all its users to pay a fee for its use? The blogging world would collapse overnight!
If I go my local supermarket (Waitrose, let’s say it’s a GPL supermarket) and buy a GPL cake, then take it home, cover it in icing and stick a couple of icing sugar roses on it then enter it into a cake competition, which I then win, people might say I cheated (analogy for breaking rules of the GPL). But under the GPL, if I go to Waitrose and buy other GPL products such as flour, eggs, sugar, and some other stuff, take them home, make a cake and enter the result into a cake competition and win it, then that’s also not OK. Because it’s still a derivative cake.
GPL supporters will say that’s right – so base your cake on non-GPL supermarket products if that’s how you feel. But I like shopping at Waitrose.
Your analogy is flawed here Liz. In the first case, your purchased GPL cake is forked by you when you ice it and decorate it. If you then win a cake competition, good for you! Everyone can see what you did. Are you really going to try and pass it off as completely your own? The cake world would out you and you’d just look silly.
In your second case I don’t even see a problem? You use GPL products to make another product which then wins you a competition, what’s wrong with that?
I think the problem is that cakes and ingredients are tangible things. Software isn’t. What you look at are just pixels on a screen. It doesn’t exist in the real world. What does exist is service. A service to support those ethereal pixels and bytes is tangible and therefore chargeable.
So this is what we all have to do? Create free and pro versions of plugins that we can offer to those who want to learn from and re-use the code, but keep the tricky bits on remote servers so that we can be paid and so provide quality updates and support to our users.
Provided the tricky bits don’t inherit the GPL, that’s fine. It’s not my cup of tea since I believe that all software should be free but in this instance we’re talking about the GPL.
Grokking Free Software and the GPL
In my opinion, developers who want to release software derived from or forked from GPL licensed work don’t actually grok the whole free software ethos. They see large userbases such as the one surrounding WordPress and simply want to cash-in. It’s understandable. However, they fail to realise the reason why the GPL exists and choose to ignore it for their own reward.
I don’t have a solution, other than to recommend a paid-support based service. Keep your software free and open, bill for your service man-hours. If it doesn’t suit your needs, you need to develop for another platform.
- Jon Brown points out that Thesis inherits the GPL when it’s distributed. If it were something not intended to be released, it would not inherit the GPL. [↩]

Blimey Dave. OK – I take that on the chin, but with respect I don't think you understood my cake analogy. Probably my fault so I'll respond to that in an attempt to convey what I meant. Also, for the record, I am not some evil money grabbing fascist. I too will respond on my blog for reasons of space. Later.
This often gets said this way and it not accurate:
"He builds upon WordPress therefore Thesis automatically must adopt the GPL".
This shoud be, "When he decided to _distribute_ software (Thesis) built upon existing GPL licensed software (WP) he was obligated to do so under the same license."
He was not obligated to build on WP in the first place, he could have built on some other platform with different licensing, nor having done so was he obligated to distribute what he created. What the GPL stipulates is that IF you built on a GPL licensed project then IF you distribute your work it must be distributed with the GPL as well.
I think you know this, just point out that it's commonly misrepresented.
Yeah I did know it. When I said "Thesis" I meant it inherits the GPL since it's a distributed piece of work. , I'll make a note in the blog post. Thanks for pointing it out.