A heated argument in the WordPress community reached my attention yesterday. Since most of the people I engage regarding WordPress have very little knowledge of the GPL, I thought it would be a great opportunity to explain it within the context of the ongoing argument.
The General Public License
If you’ve ever installed a commercial software application then you’ve probably encountered a screen that contains a longer then you care to read software license and an “I agree” check-box you need to tick in order to proceed with the installation. These licenses are usually dominated by legal limitations about what you can and can’t do with the software and disclaimers clearing their manufacturers from any responsibilities or liabilities.
There is an alternative kind of license which is very prominent in the open-source software community, it’s called the General Public License. Unlike commercial software licenses it is designed to protect the freedoms of the people using the software (you!) instead of those that create it. Basically it says that you, as the user of the software, can do with it anything you like – including changing it, redistributing it and even selling it. It imposes only one limitation – it prevents you from denying those same freedoms from the people to whom you distribute it. Revolutionary thinking!
More stuff on GPL and open-source:
- The GPL is legally binding and has been brought to and upheld by courts.
- The GPL is not the only form of alternative software licensing – another example is BSD which addresses distribution in a different way.
- There is a similar licensing movement regarding online content (your blog posts & images) licensing led by Creative Commons.
- More then half of the servers (including the one that served you this web-page) that make up what you think of as “the Internet” run open-source software such as Apache and MySQL.
- Firefox is an open-source web browser.
- Thunderbird is an open-source email client.
- OpenOffice is an open-source suite of office tools.
- GIMP is an open-source image processing application.
- Ubuntu is an open-source operating system.
- … and the list goes on and on and on … I use almost exclusively open source software (all of the above and more).
GPL & You
Using a commercial application makes you dependent on the software manufacturer that makes it. This dependency expresses itself in many ways, sometimes subtle sometimes gross:
- If, for example, it was a specialized software and the company that made it ceased to exist (not a rare scenario in the world of SMB business applications), you may find yourself, at some point, unable to access information stored in it.
- If you use mainstream applications you may find yourself forced to upgrade because the manufacturer may choose to stop supporting outdated versions in which your information resides.
- If you choose to switch from one commercial application to another, you may find it difficult (or expensive) to migrate your existing information into the new application.
- If you want to share information between commercial applications, you may find that they do not provide an option for you to do so.
- Sometimes it manifests in both hardware and software.
The list expresses a dominant belief in the commercial software industry that the way to insure profitability is by creating dependencies that will be difficult, painful and expensive for users to undo. Their motivation is to make a profit and their strategy is a form of digital slavery.
How can a software license like the GPL effect you? It does so in a round about way:
- Collaborative Development – GPL makes it possible for a community of developers to work together by bringing down any potential barriers of ownership. GPL licensed software is an open invitation for any developer to use and modify the code (and to then make the modified code available in the same spirit of GPL).
- Forking – WordPress did not start from scratch. Before it there was a project called (if I remember correctly) “p2″. At one point the developer of “p2″ stopped working on it. But because it was GPL it didn’t die – another developer (Matt Mullenweg) took the “p2″ code and started a new project based on it (this is called “forking”) called “WordPress”. WordPress is also GPL – this means that any developer can take that code and start a new project based on it.
- Longevity – since open-source projects are not owned by any single person or business entity, they can continue to evolve indefinitely – as long as there are developers who want to maintain that code.
- Personal Vision & Purpose – since open-source projects are not commercially rewarding, one has to wonder what motivates their developers. It can be a combination of personal expression through writing software code, a passion for making excellent software and a sense of vision and purpose on how their software can make the world a better place.
- Community Vision & Purpose – the greatest reward for an open-source development team is seeing their software being used by a large and growing community of users. That usually means that the development team is very attentive and caters to the needs and wishes of its user-community. New features are added with an eye for addressing the needs and pleasing the user-community.
The process is geared towards excellent software that serves and respects its end users. The project community is a willing and passionate group of people which includes both creators (developers and other contributors like designers, documentation writers, support, etc.) and users. Everyone is in it because they want to be, because they enjoy using the software and aspire to see it improve. Without the GPL this would not have been possible.
WordPress & GPL
WordPress is distributed under the GPL license. Freedom is at the heart of WordPress – it is a core value and, from what I’ve witnessed, the greatest source of friction in the community (as any attempt to circumvent it is addressed).
The WordPress developer community is very large and diverse. There is a core-development team of a few people, an extended development team which has exceeded 200 people and then thousands of people who create themes and plugins which are essential to WordPress. You may find bugs or even some low-quality code in themes or plugins – but you will be hard-pressed to find an infringment on the personal freedoms of users.
Business & GPL
It can be argued that open-source and GPL are counter-productive to a profitable business (for example: if you sell a theme for $60 and it’s GPL – someone else can undercut you and resell the them for $45). But I know of numerous examples (and I am confident there are many more) that indicate that the opposite is true. A recurring pattern in these business is that the software is indeed free, but service, support, documentation, etc … are added values for which you pay. WordPress itself is a wonderful example:
- WordPress software is offered for free at WordPress.org for anyone to download under the GPL license – without ANY limitations on what you can do with it.
- Automattic (founded by Matt Mullenweg – head of the WordPress project) runs a WordPress hosting at WordPress.com service based on the same free software. Anyone can build a hosting business based on the free WordPress.org software and compete with WordPress.com.
- Thousands of people make a living by offering WordPress related services.
Themes & Plugins are considered derivative works of WordPress – because without WordPress they have no existence. Both Themes and Plugins require that WordPress be present in order for them to operate and be functional. Therefore they too are required to respect and adhere by the GPL license.
To demonstrate this – I’ll refer to some code I recently wrote. The code uses some relatively new WordPress capabilities to create a Teachers Directory. The code was custom developed for a specific project. As it currently stands I am under no obligation to share it with anyone. But if, for example, I wanted to make it a plugin (free or commercial) – then I too would have to license it as GPL. It would have to be open-source and legal for others to use, modify and redistribute it (for the record: I don’t have the knowledge or motivation to make into a plugin – but I would happily hand the code over to anyone who would care to do so).
About a year ago (if memory serves) Matt initiated a clean-up of the WordPress Themes repository. One of the issues that were addressed were Premium themes. Premium themes are commercial themes usually sold together with additional support services. At the time some of the prominent Premium Themes were not offered as GPL and were therefore in violation of the WordPress license. Following some interesting debates most of the Premium themes developers willingly agreed to conform with the GPL license.
WordPress & Thesis
Almost a year ago I wrote this post about WordPress Themes. The last paragraph was written with a specific theme in mind – but at the time I preferred to avoid calling it out. The theme I had in mind was Thesis. I came across it when I was hired to do a small customization project for a client who had already chosen and purchased Thesis. I was unimpressed by the Theme and turned-off the by the energy emanating from the service built around it – it felt abusive of the WordPress spirit.
Yesterday morning it came to my attention that there was a public heated argument that has been going on for 2 years between Matt Mullenweg of WordPress and Chris Pearson of Thesis. Chris, who enjoys a thriving business based on WordPress, has refused to make his theme GPL. Yesterday it escalated – I came across this Twitter update from Matt. I’d never seen him go on an attack like this.
Here are a few links about what happened:
- Jane Wells frustration after meeting with Chris in person.
- A live-debate that took place between Matt & Chris.
- A more in-depth explanation of GPL & WordPress.
- An ongoing flow of related updated on Twitter: #thesiswp
What amazes me most about this argument from the WordPress side, is that it isn’t about money or legality or pride or even morals. The WordPress community is looking out for the Thesis users. Thesis users have (probably unknowingly) been tricked out of their own freedoms by Chris Pearson for his own personal gain. Ironically Chris is thinking about Chris – Matt is thinking about Chris’ customers.
In all the commotion I have yet to encounter anything informative about Thesis itself. Here are a few things I would point out about it:
- Theme Framework: As a theme-framework it has no advantage over other quality theme-frameworks that are offered as GPL with free and excellent community support. My personal preference is Thematic.
- Clunky and Ugly User Interface: It had (at the time I saw it) a bloated and unsightly user interface.
- Simplifies Creating Bad Designs: Thesis gives the user (via the above mentioned clunky UI) many options to configure visual settings of the theme. It lures innocent users in by giving them a sense that they have independent control over visual aspects of their theme. They can choose the number and positioning of columns, fonts & colors, etc. This is like giving end-users a rope with which to hang themselves. Creating a functional and aesthetic theme takes more then what these settings offer. It is a false promise, unnecessarily complex and ultimately an obstacle to creating good designs (I would also remove things like font-size options on the basic WordPress editing toolbar for the same reasons).
- Conflicting with CSS: Because of the “do it yourself UI” it is very easy to choose settings that conflict/override with the enhanced design settings that are in CSS. This makes it easy for end-users to easily mess up what may start off as a good theme.
- Chris Pearson: listen to the live debate and look at Chris’ image and ask yourself if this is a person you trust and want to do business with.
I am confident though, that if Thesis was better aligned with WordPress and the community – that it could have made a substantial donation to the WordPress community, gained even more popularity and grown to be much better then it is today.
Sue or Don’t Sue
The law, in my eyes, is a low (if not lowest) form of morality – it sets a very low standard. It is called upon when other social and personal responsibilities and choices are compromised.
I will take more pleasure in seeing the WordPress community contain and assimilate this one personal glitch then having it go to court. Matt sets a high standard of leadership when he calls out to Chris to “join the family”. That is sign of strong community values – embracing and accommodating even the extremes. This battle should and is being fought with the good of all in mind – including what’s good for Chris himself (regardless of if he notices or appreciates it). I believe that the WordPress community should, has and will continue to reflect to Chris the consequences of his choices.
The greater consideration at hand is not WordPress but the GPL itself. I have a feeling that the community of open-source is as resilient and experienced at dealing with abusers as is WordPress. Chris & Thesis are a very marginal issue. Though it would be emotionally satisfying to see him get pounded into the pavement, I am sure there have been and will be “better offenders” which will server the purpose of creating precedent and examples.
Thank You Chris
I have a lot to say about the “community” of open-source and of WordPress itself – some of it praise some of it criticism. In recent months I have disassociated myself with most efforts to contribute to WordPress and I focus my efforts on being a passionate user. This left me feeling an outsider. Today I feel a part of the WordPress community – I have Chris to thank for helping me see that. Thank you Chris.