Should You Touch The Code On Your Blog?

Looking under the hood on a website can be intimidating, especially if your creative talents don’t lie in that particular direction. Just the same, I consider tinkering with the code for my website to be one of the best decisions I’ve made for my business.

To be clear, I don’t mean building my own website with one of those ‘automatic website builders’ that certain web hosts offer. I mean that I know a little about what makes my content management system (currently WordPress) tick, as well as a bit about HTML and CSS — the parts that drive the design of the site. As a business owner, it’s tempting to try to do everything myself, but that’s not actually a good decision. I know better than to rely on my own coding skills when it comes to putting together a site. Rather, my main goal is to know enough to be an active part of the process.

I like to compare my level of coding knowledge to my level of plumbing knowledge: I can’t fix a major leak, but I can at least deal with a dripping faucet. I have enough general knowledge that I can handle minor fixes on my own, especially if I can Google for a tip or a tutorial. Perhaps more importantly, I know enough that neither plumbing nor web design jargon sounds like a different language to me. It’s a lot harder for someone to sell me something I don’t need or take advantage of me. If only for that reason, I definitely encourage improving your technical literacy whenever possible — even if you don’t need to use it directly.

WordPress, the GPL and a Business Nightmare

I use WordPress on every site I own. I ask clients to use WordPress on their sites (and I tend to avoid even high-paying clients who don’t). I even speak at WordCamps — I’m the one yelling about content strategy to a room full of non-writers every few months.

But last week, I found myself looking at other content management systems, wondering how hard it will be to switch away from WordPress. That’s ‘will,’ not ‘would’ because I’ve committed myself to slowly migrating away from the platform unless something major changes. The issue isn’t so drastic that I’ll migrate every single site I own in the next month — the process may very well take years at the speed at which I move.

The Problem with GPL

WordPress was my introduction to open source on a practical level. I’d encountered Linux and some other open source software in high school and college, but I never used any open source software on a long-term basis or to the point that I needed to figure out what I could legally do with it before WordPress.

As it happens, what we can do with WordPress is a little more complicated than it might otherwise be. That’s due to the Gnu General Public License (more commonly known as the GPL). If you aren’t familiar with the GPL, consider it to be the equivalent of any agreement you have to click through to use a piece of software. The main difference is that, like all open source licenses, the GPL lays out the ability to pass a piece of software along, change it and otherwise interact with it without violating the creator’s copyright. Where the GPL differs from some other open source licenses is that it is categorized as a Copyleft license. I’m not going to go into depth on the differences between types of licenses, but I will include a short working definition.

When a developer modifies a piece of software that was originally licensed under the GPL and distributes it, the result (known as a derivative work) must also be released under the GPL. The same is true of ‘linking’ to GPL code, which is generally interpreted to include writing plugins for an existing piece of software. Stick a pin in that last part — we’ll be coming back to it.

WordPress is released under the GPL. The way that the WordPress Foundation interprets the GPL, plugins and themes for WordPress all automatically inherit the GPL, including pieces that aren’t actually code. For instance, if a specific photo is used as a background in a theme, it has to be released under the GPL with the rest of the theme.

You’ll notice that I keep using the word ‘interpret.’ That’s because there’s no case law for the GPL — it’s never been fully legally tested. Almost every case that has gone to court in the U.S. has been settled (the main exception is one of a series of lawsuits filed on behalf of BusyBox). Richard Stallman wrote the original version and let it loose on the world. Later iterations have been created with advice from legal experts. At the most basic level, though, the GPL is a cool idea dreamed up by a computer nerd. It will take a series of judges’ ruling to set how the license is interpreted in stone. In the meanwhile, some developers define ‘linking’ as including an API call while others limit it to using other code in such a way that it’s included in the code of the new program. There are similar differences in just how to define a ‘derivative work.’

This alone is problematic for anyone running a business based on WordPress, or any other software licensed under the GPL. In theory, any day now, a case could go to court about how to interpret the GPL and completely change everything. It’s difficult to predict end results of such a ruling: I could see a situation in which I might suddenly need to make software that I’ve customized for my business available to the entire world. Software that I use that might be improperly licensed could disappear or stop working overnight. I could even imagine a situation in which software under the GPL needed to be re-licensed under a new license. It’s not the end of the world, but no small business owner wants to suddenly be informed that she needs to change something about the platform she runs her business on.

Furthermore, the GPL spreads in a particularly viral manner. It is written so that it drags new software into an open source license kicking and screaming. Just about anything related to a project licensed under the GPL winds up with the same license, because you can’t connect a piece of software licensed under the GPL to one that isn’t. It’s not the worst open source license, in terms of turning everything it touches into open source, but it’s up there.

A lot of developers (both individuals and companies) try to get around the problem by choosing not to release their work. Google, for instance, relies on a ton of open source code that the company’s engineers have tweaked. But because the code itself is not distributed — you only get the search results from Google Search, not an actual piece of software — Google isn’t required to release its source code.

But for companies smaller than Google, things aren’t so simple. Consider a freelance developer who makes his living customizing themes for WordPress for his clients. The typical interpretation is that when that customized theme is swapped for money, it’s been publicly distributed — even though the freelancer only made one copy, for an individual client.

We’re getting too far down the rabbit hole of open source licenses here, but I want to impress on you that this is not just complicated: it’s completely open to interpretation. The standard practice is to follow the interpretation of whatever individual or organization manages a given open source project, which is where the problem with WordPress lies.

The WordPress Foundation’s Interpretation

The WordPress Foundation has gotten into some fairly public arguments with theme and plugin developers over how to appropriately license their work. The current conundrum focuses on developers who sell their work through ThemeForest. ThemeForest licenses all code for WordPress themes and plugins under the GPL automatically, but does not follow the interpretation that images, CSS files and other creative assets must also be licensed under the GPL. Let me be clear: this is a generally accepted interpretation that is considered legal under the GPL. However, the WordPress Foundation takes a differing (and also legal) interpretation of the GPL, requiring that those creative assets share the license of the theme or plugin as a whole. As a result, the WordPress Foundation considers anyone selling their work through ThemeForest to be violating the WordPress license.

As a result, the WordPress Foundation will not allow those developers and designers who sell their work on ThemeForest (or otherwise do not comply with the WordPress Foundation’s interpretation of the GPL) to speak at or sponsor WordCamps. If you’re not familiar with WordCamps, they are the conferences that take place in cities all over the world, providing a face-to-face forum for the WordPress community. I’ve been involved with several (volunteering, speaking, etc.) and consider them an important part of the WordPress learning process. Jake Caputo, who has also been involved with numerous WordCamps, wrote a post last week about being informed that his involvment was no longer welcome.

There are a number of major issues with how the entire situation has been handled.

  • First, and perhaps most importantly, excluding members of the community over an equally valid interpretation of a legal document has to be considered problematic. This is the sort of action that leads to major splits in an open source community, as well as makes users less willing to rely on a piece of software’s stability.
  • ThemeForest’s users are being punished for something that is out of their control. They don’t set the licensing policy. Matt Mullenweg (the guy who initially developed WordPress and founded the WordPress Foundation) has repeatedly suggested that developers and designers move to other marketplaces that comply with the WordPress Foundation’s interpretation of the GPL. But there isn’t another WordPress theme marketplace with a similar level of transactions. Plenty of people make full-time livings through ThemeForest, but I don’t know of any WordPress developer making a full-time income by offering their work through another marketplace. (There are several who do very well offering themes and plugins independently, but many developers in this category have had their own arguments with the WordPress Foundation over the GPL.) It’s nice to say that “forgo[ing] profits for principles” is the right move, as Mullenweg responded to Jake Caputo, but we’re talking about putting food on the table in an entirely legal way.
  • Communication between the WordPress Foundation and the owners of ThemeForest has been demonstrably poor. Collis Ta’eed, the founder of ThemeForest, has written up a description of how the company has attempted to balance the WordPress Foundation’s interpretation and a need to protect its sellers. He makes it clear that he’d felt that the two organizations had opened up lines of communication and were working to find a solution, when the WordPress Foundation chose to again enforce rules about noncompliant speakers.
  • The overlap between the WordPress Foundation and Automattic (also founded by Mullenweg and the owner of WordPress.com) continues to be exceptionally blurry. During my time helping to organize a WordCamp, I saw firsthand that it’s not always clear who you’re talking to — whether they’re paid by the for-profit or the non-profit. That’s a dangerous way to run two very different organizations with two different goals. Whether or not it’s the case, that lack of distinction makes it seem like the WordPress Foundation has a problem with anyone making money from WordPress — except for Automattic.
  • The WordPress Foundation has failed to address the underlying reasons that ThemeForest uses a split license. On a fundamental level, it’s very difficult to distribute software under the GPL and still charge for it, because, legally, anyone can do just about anything with it (including turning around and giving it to someone else free of charge). Yes, that’s the reality of doing business with WordPress, but the ThemeForest license offers a middle ground that has resulted in developers and designers who would have otherwise worked on non-WordPress projects. Offering a little leeway creates a far more vibrant community overall.
  • Lastly, this isn’t nearly the first time that the WordPress Foundation has found itself in this position. There’s a certain appearance that the organization is attacking underdog developers at this point. I hate to wish a court case on anyone, but it’s reached the point where I want to see the GPL go to court and receive a ruling, preferably several times over, so that there’s a set of case law based on legal judgments on the situation.

All of this adds up to a platform that I am less and less comfortable using in my business. I can’t recommend WordPress in good conscience to my clients right now, particularly because I usually add a suggestion to go to ThemeForest to pick up a design. I am reluctant to commit too many of my own resources to it because I don’t agree with the principles that are being promoted. I guess, in a way, that makes me willing to forego profit, just as Mullenweg suggests.

There are plenty of other content management systems out there. I’d rather do business with an organization that I know will be able to continue offering their product under the same rules a year from now, that goes out of its way to be easy to work with and that is willing to discuss problems in a rational way. I run my business with respect for the freelancers and other individuals I deal with; I want to be sure that the people I depend on to earn a living get treated right by everyone else, too.

A Personal Connection to Envato

Obviously, if I’m willing to write this long of an article about the arcane nature of open source software, I probably have a horse in the race. In fact, I have several. ThemeForest is owned by Envato, a company that I am proud to have worked with for several years. I’ve written for FreelanceSwitch for four years, as of next week, as well as for several other Envato-owned sites.

I haven’t bothered to ask the WordPress Foundation if taking Envato’s money disqualifies me from speaking at WordCamps. Since I don’t sell any themes or plugins through ThemeForest, I should technically be in the clear, even though I get payments from the same source as people who have been informed that they’re not welcome to speak.

But I’m choosing not to speak at such events for the near future. I haven’t decided if I’ll refrain from attending entirely, though I’m seriously considering it. My reasons for doing so come in two parts. First, there are some great people I’ve had the opportunity to work with who are effectively banned from WordCamps and I’d rather not be a part of a community that chooses to think in terms of excluding those individuals. Second, the only reason that I don’t sell anything on ThemeForest is because I don’t have anything to sell. I’m bad at development and while I’m working on getting better, I’m not focusing on learning PHP. ThemeForest is an incredibly useful marketplace for both developers and designers, though, and I would be proud to be a seller there if I ever get decent enough.

I still think WordPress is a good platform and I expect to watch it thrive in the future. It’s far too late to even consider a different license for WordPress and I wouldn’t expect the WordPress Foundation to attempt it. Unless there’s a change in how the license is enforced, however, I’m taking this situation as a sign that I need to at least consider moving on.

Image by Flickr user Michael Dorausch