What the GPL means for development shops

If you read the WordPress news, you know there was a lot of drama a few weeks ago and at the root of it, it’s all about the GPL. It started out with an article on WP Tavern (a site owned by WordPress and Automattic Founder Matt Mullenweg) and then there was the followup response article from Chris Pearson. There’s even a hashtag on Twitter, #wpdrama, that links to more articles and thoughts.

So rather than weigh in on one side or the other like some other members of the community have done, I want to talk about the underlying topic, the GPL. Since we develop using WordPress, the GPL is important to us and I want to publicly record where Oso Studio stands on the topic.

What’s the GPL?

This multi-week episode of drama felt like a bad soap opera, I think the only thing we’re missing is the random lover from years ago or a case of amnesia. But at the core, the discussion about the GPL is important. If you’re not familiar with the GPL, it’s the abbreviation for the GNU General Public License.

WordPress is released under the GPL, most plugins are released under the GPL, and most themes are released under the GPL. This means that you, me, and anyone with the ability to open the files and edit code can make changes to the theme, plugin, or even WordPress itself. You can also redistribute the code, either for free or charge for it, though the ethics of this are questionable. But the GPL gives you the right to do it.

Is the GPL required?

Before we keep talking, let’s establish that I’m not a lawyer and I haven’t even played one on TV. So you can listen to what I’m saying or not. I’m not giving legal advice, I’m talking about how I’m interpreting the requirements and how Oso Studio is applying the requirements to our work.

Modifying Themes and Plugins

So let’s look at modifying WordPress themes and plugins. We’ll assume that the code we’re modifying has been released under the GPL, like most WordPress themes and plugins. We’ve modified (forked) a lot of plugins over the years, normally when an existing plugin has most of the features we need, but we need to add something to make it perfect for our client. Did you know that’s how WooCommerce started?

So how do we license our work? Well, according to the GPL, it depends. Most of our work is used internally by a single client and is never released publicly. Because of this single user, non-distributed nature, this code doesn’t have to carry a license because there’s no one else that’s going to be able to use it.

But what if we take that same code and release it, or if our client decides to release it? Once we decide to release modified code that was originally licensed under the GPL, we must also release our new code under the GPL. That parts really clear and normally isn’t debated.

Building a new theme or plugin

This is where we make most of our revenue, building custom themes and plugins for our clients. This is also where we have the heated discussions in the WordPress community. If we build a custom theme from the ground up, can we release it under a license that’s more restrictive than the GPL? Maybe we want to say that the theme can’t be distributed, transferred, or used on a domain other than what we allow. Can we do that?

Here’s my opinion: no, we can’t. Why? It’s because our theme is being used with WordPress and we’re using WordPress functions. WordPress functions are released under the GPL, and we have to use the functions if we want to build a theme that works with WordPress. So it’s my interpretation that by using the GPL functions, we’re required to release our code under the GPL as well.

But this doesn’t mean that all of a theme has to be released under the GPL. The CSS code and functions that don’t rely on WordPress, can probably be released under a different license that restricts what can be done with the code. I say probably because I’m not a lawyer and this isn’t an issue I want to consider. We’re using the GPL for 100% of the code that makes up a WordPress theme.

Our themes and plugins can be distributed for free or sold

I think this is the reason that commercial theme and plugin companies have clashed over licenses lately. If we develop a custom theme or plugin for a client, we charge for our time. Say a project takes 50 hours and costs $10,000, after we’ve been paid for the complete project, we release the code to our client and it’s theres.

Because our themes are licensed under the GPL, our client can do anything they want with their theme. If they want to submit the theme to the WordPress repo and give it away, they can. If they want to submit the theme to somewhere like ThemeForrest or sell it on their own website through a plugin like Easy Digital Downloads, they can. And Oso Studio doesn’t have to be paid a cent beyond the $10,000 we charged.

Does this worry me? No, not at all.

You’re not really buying code

Not everyone in the WordPress community makes their money the way we do. There are a lot of successful companies that don’t provide custom services nor consulting services. These companies develop and sell themes and plugins. There are companies making over 7-figures in revenue by selling themes and plugins. So what happens if suddenly these products are available for free or resold at a huge discount?

Here’s what I think, it won’t make a difference. I’ve spent a lot of time studying customer buying habits and a customer who is going to buy from you isn’t the same customer who’s going to try to find your product for free. And really, at the end of the day, commercial themes and plugins aren’t really about the code.

Buying a commercial theme or plugin is about getting support and knowing that the plugin you’ve picked is going to be updated and will keep working in the future. For most features in WordPress, there’s a commercial plugin and a free plugin that will get you to the same result. One may be a little easier to use or run a little faster, but that’s the great thing about WordPress: there are tons of options.

So it’s not really about what you can do with the code that’s important, it’s whether the code is going to be supported and you can get updates.

But what you can do with that code matters

I talked about how we’ve forked a lot of plugins in the past to reduce development costs for our clients. The only reason we’re able to do that is because those plugins were released under the GPL or some other compatible license. This gives you the ability to look at the code, change the code, and copy the code into another plugin. Under closed source licenses, you can’t do this, at least not legally.

This is one of the main reasons I’m a huge supporter of the GPL. Today I can code. If I’m not sure about a function, I can go to the PHP documentation, WordPress Codex, StackOverflow, or some other resource and I understand what’s being said and I can apply it to my scenario. But I haven’t always been able to code. When I first started out, I was still learning and I did a lot of copying a pasting from existing themes and plugins into my projects.

If it wasn’t for the GPL making this possible, I’d probably be sitting behind a desk completing a corporate tax return right now.

Conclusion

I think there are a lot of discussions we should be having in the WordPress community, but debating licenses isn’t one of them. It’s not because licenses aren’t important, because they are, but it’s because by spending hours and hours talking about licenses, we’ve lost track of moving WordPress forward.

Just to be clear, anything that gets coded by Oso Studio is released 100% under the GPL. If you’ve paid us to build it, it’s yours to do with whatever you want. We’re working on our first commercial plugin right now and I’ve never questioned the decision to release it under the GPL. It’s because the code isn’t important, it’s all about support and updates.

So if you’re shopping for a new theme or plugin for your site, make sure it’s GPL licensed. Remember, it’s not the code that you’re paying for, you’re paying for support and future updates. You don’t want to build a platform on a plugin that’s abandoned by the lead developer because it was taking up too much time for a free plugin. But if that does happen and the plugin is GPL licensed, you or your developer can pickup the plugin and keep developing it for your needs.

The GPL is a powerful license, and it’s become a very polarizing topic lately, but this is one more obstacle the WordPress community will overcome together. We’ll all come out on the other side, hopefully for the better. But until we all get there, just know that Oso Studio is committed to supporting the GPL and the future of WordPress 100%.