Why WordPress Themes are Derivative of WordPress

In the past few days, WordPress has become entangled in a debate about WordPress theme licensing. It was specifically centered around Thesis, one of the last notable proprietary theme holdouts. Chris Pearson, who develops and sells Thesis, refuses to license Thesis under the GNU General Public License that applies to WordPress and all WordPress-derived code.

There are many aspects to the ongoing WordPress vs. Thesis brouhaha. Things like respect, copyright, freedom, GPL, ownership. There is no doubt that Thesis lifted lines of code, and even whole sections of code, directly from WordPress. The Thesis developer who did some of the lifting confessed to it (much to his credit).

Some people have changed their opinion on the matter when they learned of that wholesale code copying. That is, they changed their mind about Thesis specifically. But those revelations happened later in the fray, after Chris Pearson and Matt Mullenweg’s discussion on Mixergy about the matter. It is the position of the WordPress core developers that themes cannot be considered wholly original creations even when they don’t copy large sections of code in from WordPress. Theme code necessarily derives from WordPress and thus must be licensed under the GPL if it is distributed.

What is a WordPress theme?

WordPress themes are a collection of PHP files that are loaded together with WordPress and use WordPress functions and access WordPress core data in order to deliver HTML output. A theme may (and almost always does) include CSS files, JavaScript files, and image files. Note that WordPress theme PHP files are not “templates” or “documents” in the way that most people think of those words (though the word “template” is sometimes used, it is not strictly accurate). They are PHP script files that are parsed and run on the same exact level and by the same PHP process as all the core WordPress files.

Is a theme separate from WordPress?

There is a tendency to think that there are two things: WordPress, and the active theme. But they do not run separately. They run as one cohesive unit. They don’t even run in a sequential order. WordPress starts up, WordPress tells the theme to run its functions and register its hooks and filters, then WordPress runs some queries, then WordPress calls the appropriate theme PHP file, and then the theme hooks into the queried WordPress data and uses WordPress functions to display it, and then WordPress shuts down and finishes the request. On that simple view, it looks like a multi-layered sandwich. But the integration is even more amalgamated than the sandwich analogy suggests.

Here is one important takeaway: themes interact with WordPress (and WordPress with themes) the exact same way that WordPress interacts with itself. Give that a second read, and then we’ll digest.

The same core WordPress functions that themes use are used by WordPress itself. The same action/filter hook system that themes use is used by WordPress itself. Themes can thus disable core WordPress functionality, or modify WordPress core data. Not just take WordPress’ ultimate output and change it, but actually reach into the internals of WordPress and change those values before WordPress is finished working with them. If you were thinking that theme code is a separate work because it is contained in a separate file, also consider that many core WordPress files work the same way. They define functions, they use the WordPress hook system to insert themselves at various places in the code, they perform various functions on their own but also interact with the rest of WordPress, etc. No one would argue that these core files don’t have to be licensed under the GPL — but they operate in the same way that themes do!

It isn’t correct to think of WordPress and a theme as separate entities. As far as the code is concerned, they form one functional unit. The theme code doesn’t sit “on top of” WordPress. It is within it, in multiple different places, with multiple interdependencies. This forms a web of shared data structures and code all contained within a shared memory space. If you followed the code execution for Thesis as it jumped between WordPress core code and Thesis-specific code, you’d get a headache, because you’d be jumping back and forth literally hundreds of times. But that is an artificial distinction that you’d only be aware of based on which file contained a particular function. To the PHP parser, it is all one and the same. There isn’t WordPress core code and theme code. There is merely the resulting product, which parses as one code entity.

But it’s still in separate files!

I don’t think that matters. Linux Kernel Modules likewise are in separate files, but they’re considered by most to be derivative. If that argument doesn’t convince you, then note that the vast majority of themes derive from the original WordPress core themes. How they load different PHP subfiles, loop through posts, and get and interact with WordPress data is all covered by the original WordPress core themes, which are explicitly GPL. But I don’t think we need to resort to that argument, because of the way that themes combine with WordPress to form a modified work.

On APIs

WordPress has many external APIs that spit out data. Interacting with these APIs does not put your code on the same level as core WordPress code. These APIs include Atom, RSS, AtomPub, and XML-RPC. Something that interacts with these APIs sits entirely outside of WordPress. Google Reader doesn’t become part of WordPress by accessing your feed, and MarsEdit doesn’t become part of WordPress when you use it to publish a post on your WordPress blog. These are separate applications, running separately, on separate codebases. All they are doing is communicating. Applications that interact with WordPress this way are separate works, and the author can license them in any way they have authority to do so.

This is a wholly different model of interaction than with themes. Themes are not standalone applications. They are scripts that become part of WordPress itself, and interact with WordPress on the same level that WordPress interacts with itself.

Not just our opinion

Drupal and Joomla, both GPL PHP web publishing applications, have come to the same conclusion. To quote from Drupal:

Drupal modules and themes are a derivative work of Drupal. If you distribute them, you must do so under the terms of the GPL version 2 or later.

The Software Freedom Law Center did a specific analysis of the WordPress theme system and determined that WordPress theme code must inherit the GPL.

The PHP elements, taken together, are clearly derivative of WordPress code. The template is loaded via the include() function. Its contents are combined with the WordPress code in memory to be processed by PHP along with (and completely indistinguishable from) the rest of WordPress. The PHP code consists largely of calls to WordPress functions and sparse, minimal logic to control which WordPress functions are accessed and how many times they will be called. They are derivative of WordPress because every part of them is determined by the content of the WordPress functions they call. As works of authorship, they are designed only to be combined with WordPress into a larger work.

This is also the interpretation of the Free Software Foundation, which wrote the GPL. Here is what the FSF has to say in the GPL v2 FAQ. They wrote the license, so you should consider carefully what they have to say when trying to determine the spirit of the GPL:

If the modules are included in the same executable file, they are definitely combined in one program. If modules are designed to run linked together in a shared address space, that almost surely means combining them into one program.

The bolded part is how themes work in WordPress. The fact that themes don’t come bundled with WordPress is merely a result of WordPress’ flexible plugin/theme architecture and how non-compiled scripting languages like PHP work. The PHP opcode is compiled on the fly, so you can distribute portions of a WP+Plugins+Theme application piece by piece, and they’ll dynamically combine into one application.

FAQs

What about making money?

The GPL does not prohibit developers from charging for their code! The overwhelming majority of premium theme developers sell their themes under the GPL (and are making quite a lot of money doing it).

My JS/CSS/Images are 100% original. Do they have to be GPL?

No, they don’t. If they aren’t based on GPL’d JavaScript, CSS, or images, you are not forced to make them GPL. What you could do is offer a theme under a split license. The PHP would be under the GPL, but other static resources could be under some other license.

Won’t people just take my theme without paying for it?

You don’t have to offer it as an open download to everyone. You can put it behind a  pay wall. With regards to people getting it from a friend, or a torrent site, etc — this would happen even with a proprietary license. Do a Google search for “{proprietary theme name} torrent download” and you’ll see what I mean. What people are not able to get without paying is your support. This is a huge part of why people pay for premium themes — they have a knowledgable resource to call on if something goes wrong. That’s something that is irreplaceable, because no one knows the theme better than you do!

What about a developer license?

Theme PHP code must be GPL. You could do a split license on the CSS and JS and other non-GPL static resources. You can license those elements to one site, but let people with a developer license use them on multiple sites. Or, you could have an affiliate program that is only open to people with a developer license. You could seed betas to developers early. You could offer an exclusive developer forum. You could offer enhanced support. There are tons of possible models. The only thing you can’t do is restrict how people can use the GPL-derivative code.

Does this mean that the custom theme I developed for a client is GPL?

No. The GPL is triggered by distribution. Work-for-hire for a client is not distribution. In this case, they would have the copyright on the code. Distributing it would be up to them. As long as they didn’t distribute it, the GPL wouldn’t kick in. Your clients needn’t worry.

Can my employees take my custom theme and distribute it?

No, allowing access to GPL’d code by an employee is not distribution, and the company would have the copyright on the code. A company is considered one entity, so transferring the theme within that entity is not distribution.

What about plugins?

Everything in here applies to plugins as well as themes. The only difference between the two is that you generally have one theme active, but might have multiple plugins active. As far as interactions with WordPress go, they work the same way.

Conclusion

Theme code combines with WordPress code in a way that makes them one functional unit. This is what makes WordPress themes so powerful and flexible. Themes cannot stand by themselves, and are dependent on deeply integrating their code with WordPress core code in order to function at all. They cannot reasonably be considered original works. As such, theme PHP code (and any CSS/JS code that is derived from GPL’d code) must be licensed under the GPL if it is distributed.

If you refuse to abide by that licensing requirement, you forfeit your right to distribute WordPress extensions (themes or plugins). WordPress is copyrighted. If you do not accept WordPress’ license, you still have to respect our copyright. There are other platforms that do not have this licensing restriction (Drupal, Joomla, Movable Type Open Source, and Textpattern are all GPL, so you’d have the same issue with them).

Discussion

Please remember that this is about copyright and respecting the license that the WordPress copyright holders have chosen. It isn’t about money. Premium themes are fine. It is non-GPL themes (a.k.a. proprietary themes) that are the issue. Also realize that WordPress cannot change its license. It is forever locked to the GPL (version 2). Arguments along the lines of “WordPress should allow proprietary themes because of X,” are pointless. We are as much bound by the license as theme developers!

182 thoughts on “Why WordPress Themes are Derivative of WordPress

  1. I think the point about themes interacting with WP the way it does with itself is the coupe de grace here. They are privileged and enabled to do anything the rest of wp is able to do by calling the same functions, including plugin functions. (In fact as you know any script that includes a particular required file or two is automatically enabled into such a state.)

  2. This is the most thorough, and yet understandable info on the issue. As a theme – creator – for hire, I am relieved by your comments on my works not be ‘for distribution’. Albeit still a little unclear on what ‘distribution’ is. If I SELL a theme to a client, it is derivative work of WP, so still needs to be GPL. Doesn’t that mean that my client is free to distribute it?

    Thanks for the objective comments on the issue – at least it appears more objective than most to me. 🙂

    1. If you sell a theme to a client, what are you selling? If not the copyright to it, then what? If you maintain that you hold the copyright, then it isn’t work for hire, and it is distribution.

      Work-for-hire: they get the copyright, they decide whether or not to distribute.

      License: you retain copyright, but license it to them (with the PHP, at least, being GPL).

      The vast majority of cases are work-for-hire. A company would be foolish to not own the work their contractors create for them.

    2. Note that whether or not copyright in ‘work-for-hire’ situations is automatically transferred depends on your country’s copyright law. For example, in the USA your client automatically gets the copyright of the work if it’s not in the contract, while in many European countries the copyright only gets transferred when it is explicitly mentioned in the contract.

    3. Remember to specify a jurisdiction when you raise a point like this.

      For example in France, there’s no copyright in the US meaning. If you create something, you don’t have to do anything, you own it (I summarize).

      So unless specified, by default when I’m hired to do something, it’s mine. When I send it to my client (in exchange of money), it’s distribution under the GPL.

    4. @Hay
      How copyright law applies for cross-country work?
      Example – Client is in US, Designer is an European Country.
      Now contract doesn’t mention anything about copyright or there is no contract at all.
      What will happen to copyright ownership in this case?

    5. @Mark,

      Thanks for your thoughts and explanation regarding why Wordthemes are derivative works.

      I thoroughly enjoyed this post and the attached comments, however, your response to Cathy confused me. I hope you can clarify.

      In your work-for-hire example I do not see how a developer who customizes a WordPress Theme can sell the copyright to the client, simply because it is not theirs to sell.

      Copyright covers the right to copy, distribute and adapt the work. In this example, surely the client is afforded only the right to adapt the software so it is a limited copyright.

      And the client can only have this limited copyright over the paid customizations but the not the Theme or WordPress itself.

      Clearly if they want to distribute the customized theme to a separate business entity then they must give up the limited copyright and the entire work falls under GPL.

      Also if the developer then sells the same customized theme to another client then this is surely a distribution and hence no copyright can be offered to the client.

      In summary I don’t understand why that just because a client pays for work, it would necessarily grant him/her copyright on software that is derived from GPL software.

      Or are you saying the the Work-For-Hire rule makes the GPL void, surely not?

    6. In your work-for-hire example I do not see how a developer who customizes a WordPress Theme can sell the copyright to the client, simply because it is not theirs to sell.

      Sorry, I wasn’t clear. The copyright for the new code. The code they wrote.

      And the client can only have this limited copyright over the paid customizations but the not the Theme or WordPress itself.

      Correct, but the GPL allows them to use it for any purpose. I don’t see what the problem is.

      Clearly if they want to distribute the customized theme to a separate business entity then they must give up the limited copyright and the entire work falls under GPL.

      If they’re selling their stake in it to the other entity, then the customizations are no longer theirs to use. If they’re distributing it, then yes, it must be distributed under the GPL. There is a difference between transfer and distribution.

      Also if the developer then sells the same customized theme to another client then this is surely a distribution and hence no copyright can be offered to the client.

      The developer doesn’t have that right to do that, unless the company grants it to them. Besides not being their right, it’d be a really bad business decision!

      Or are you saying the the Work-For-Hire rule makes the GPL void, surely not?

      No, it means that it is the company’s code. It is not distributed from the consultant to the company. It is created for the company by the consultant. The consultant doesn’t own that code.

    7. @Rahul: good question. Inter-country copyright laws are always pretty difficult and sometimes open to interpretation of a judge. In any case, i would always explicitly mention who gets the copyright over the work in the contract, so that you don’t need to mingle in difficult international copyright territory.

      @Jérémie: ‘automatic copyright’ has been available in the US since 1976: if you make something you always get copyright assigned automatically. Before 1976 you needed to register works at the copyright office.

  3. Hi Mark,

    Thanks for the clear up on WordPress/GPL etc. I think it is important to have a clear and concise statement such as this.

    I did read with interest on Twitter the debate and tweets between Matt & Chris. I think your words will help clear up confusion on WordPress GPL and Theme creation for those who do not understand what all the fuss is about!.

    I for one was a little confused but glad you have taken the time to explain how it applies to WordPress.

    Great post and thanks

    Kind regards

    Ben

  4. Best explanation and resource I’ve seen on this issue all week. Thanks for taking the time to do this, Mark!

  5. Like Matt, this reads as a reasonable, measured response to a logical debate. Pearson’s response to the matter reads like someone exploring every possible avenue before simply admitting they made a mistake and will do whatever is in their power to make it right.

  6. There are many aspects to the ongoing WordPress vs. Thesis brouhaha. Things like respect, copyright, freedom, GPL, ownership.

    You forgot to mention one important issue: For days in the first half of July 2010, the officially distributed Thesis files contained malware. Up to now, Chris Pearson has not informed his customers about this issue. From this perspective, the GPL-etc. debate looks like a welcome red herring for Chris.

    In the German blogosphere, some bloggers wrote about the malware issue, for example http://www.thesisworld.com/virus-in-thesis-1-8-beta/

    1. I didn’t mention it precisely because it is a red herring. Nor did I mention that Thesis is highly insecure. It’s not about quality of code.

    2. Martin, you’re bordering on libel. Thesis had malware from about noon on Monday July 12th to Wednesday July 14th. He tweeted about it and emailed all of the customers that were affected. Plus, he’s helping each customer that was affected individually handle the issue. Please be informed before you make irresponsible comments next time.

    3. I never received an email and I was a paying customer. I’ve since moved on personally but I have recommended it to a few clients and without any notification I was unable to notify them. Reflected poorly on myself. Just saying.

    4. @Jon I believe Chris only notified those affected. From what I’ve read the compromised code was only available for a short time & only impacted the few people who downloaded the files during that window.

      If all of that is accurate, it would make sense that most Thesis clients didn’t receive any notification.

      @Derek, I would be remiss if I didn’t point out that your accusation of libel is exactly the same type of accusation I take issue with from the other side.

    5. @Ben thanks for the response. It still would have been nice to get a notification so I could notify my clients. I’m guessing Chris just sent emails to people that were logged in and clicked the download link?

    6. @Derek
      I got to know about thesis malware just now.
      I never got any email, neither my clients.
      What is shocking to me that how malware can be present in official release of thesis?

    7. The notification Chris sent out was to all customers. At least, I got one, and I haven’t downloaded Thesis for quite some time (save for the post-attack download to see just what was fixed).

      As it turns out, the theme itself is secure, but there was an attach on his website which allowed someone to modify the download files.

  7. Excellent and convincing post. This is the first one written by someone who truly understands the internal interaction and who can communicate that to the rest of us. Good work!

  8. I educate my clients on the GPL and have a clause that allows me to retain the right to release code under the GPL when so complied. I have never, and will never sell my client’s secret sauce (or the whole composite work that I sold them the copyrights on), but many a “generic” plugin has been released to the community because I took the time to explain to my clients how the GPL works, why its a good idea, and what their rights and responsibilities are underneath the license.

    Great write up Mark.

    1. That is actually a great thought. I retain a great many code snippets I create for various uses, including other themes, development work, and plugins. I’ve not specifically educated my clients in this, but I will be sure to explain the advantages of retaining rights to my code in parts but not in whole.

    2. @Eric
      We are doing same for our Buddypress media component project at http://mediabp.com/
      Everytime we get client work, we explain them GPL and how releasing codes in open-source will do good for which they pays alone.
      Till date, none of our client is objected. 🙂

  9. Mark, while I think you lay out your argument quite well in this post, I don’t think it makes the issue any more black and white.

    I think there are compelling legal arguments that can be made for the other side of this issue as well.

    What is bothersome to me is the complete intolerance for any disagreement on this matter. Outside of this post, the issue is not presented as “here’s out opinion on the matter and here’s why we’re confident we’re right.”

    It’s if you don’t agree with us and don’t act according to our opinion on the matter, you’re breaking the law. Unfortunately, that goes against the fact that we’re innocent until proven guilty (at least in the US) and no-one that I know of has been convicted of anything.

    While you’re absolutely right to cite both the SFLC and the FSF, just because they wrote the license doesn’t mean it does exactly what they want it to do. Laws often leave loopholes or don’t work the way lawmakers intended them to.

    I know you’ve asked me on Twitter whether any license is valid without being proven in court, and I would say it’s only as valid as long as people are willing to abide by it.

    After that, it needs to be enforced to have any real implications.

    Any law (or license) that is unenforced might as well not exist.

    I think a perfect example of this would be trademark infringement. If you don’t take actions to defend your mark, you eventually lose it.

    Now legally, licenses might not become invalid without enforcement but in all practicality and application, they do.

    People have been blatantly breaking your interpretation of the GPL for years and nothing has been done about it.

    In my opinion, that makes the GPL pretty much a moot point until it’s enforced.

    1. People have been blatantly breaking your interpretation of the GPL for years and nothing has been done about it.

      In my opinion, that makes the GPL pretty much a moot point until it’s enforced.

      Lots has been done! Pretty much every other premium theme developer has been convinced to switch to the GPL, without threat of lawsuit. Thesis is a holdout, and is notable in how Chris is flaunting his complete lack of respect for WordPress and its license and the rights of WordPress copyright holders to determine how derivative works are licensed.

      I hope it doesn’t come to a lawsuit. If that’s what needs to happen to resolve the question, I guess that’s what will happen.

    2. Mark,
      I would argue it obviously took the threat of a lawsuit to get Headway to switch over, and there are still other premium themes out there that aren’t GPL although granted, they don’t have huge audiences.

      I think your second sentence illustrates what bothers me so much about this whole debate. There absolutely SHOULD be room for reasonable disagreement about whether themes automatically inherit the GPL, without accusations of “not respecting WordPress” or “going against the spirit of the platform” as has been claimed in the past.

      It’s not disrespecting the rights of WordPress copyright holders to determine how derivative works are licensed, it’s simply a debate of what constitutes a derivative work.

    3. There absolutely SHOULD be room for reasonable disagreement about whether themes automatically inherit the GPL, without accusations of “not respecting WordPress” or “going against the spirit of the platform” as has been claimed in the past.

      You can disagree. But you’re disagreeing with the people who determine the direction of the WordPress core and are largely the people who own the copyright. As such, it is our job to promote the view of the license that we believe is correct and best respects the rights and wishes of the people who created WordPress. Eventually that has to come to a head. “Agree to disagree” isn’t a sustainable solution. For what it’s worth, I hope it can be a cordial disagreement, at least!

  10. Heya mark, this is an extremely valuable write-up that should hopefully clear this up in a lot of peoples minds, however I won’t hold my breath.

    I do however have a question regarding forking and the GPL.

    If a software like b2 is forked, and almost completely re-written, as WordPress has been, won’t that then make WordPress an entirely different entity and no longer a fork?

    This whole GPL issue has been fought in different communites around all kinds of software and in a certain community I was once a part of we came to the conclusion that once a fork had been at least 90% re-written it then became it’s own entity and could therefore be re-copyrighted/licenced in its own right, under any licence that was deamed by the author of the fork/new entity.

    Jay..

    ps: please forgive any spelling issues, I’m currently posting from a phone 🙂

    1. If a software like b2 is forked, and almost completely re-written, as WordPress has been, won’t that then make WordPress an entirely different entity and no longer a fork?

      WordPress forked b2. And then WordPress continued, as GPL. In order to relicense, we would have to get the sign-off of every single copyright holder (or rewrite the sections of people we couldn’t find/contact). This is thousands of people, many only known by pseudonym. It is effectively impossible to do without starting from scratch. We’re not inclined to try.

  11. I honestly don’t see where the folks at Thesis can argue any differently. I’ll be honest, as a developer I won’t touch Thesis. Their licensing is terrible for developers. Sure I understand they want to make money, but if I had to pay a fee every time I used Photoshop to do design work for a different client, I wouldn’t touch it with a 10′ pole.

    If they really want proprietary software, then they need to make their own platform, not let the community make an amazing platform that is constantly getting better.

    I’m all for commerce, and have developers licenses with many premium themes and plugins. They are better products and save me time. Most include great support as well. They also give back to the community so I’m happy to support them.

    I just can’t say the same for Thesis. I’m not bothered by their licensing, the platform really isn’t made for developers. I have no use for that personally or for my business.

    Anyways, I think this is a great and well thought article on the issue.

    1. Nick, maybe I’m just inexperienced in this area (I don’t do much WP client work) but $40 a) is a cost I usually pass along & b) isn’t much to swallow if you are getting paid by your client.

    2. Yes, it is a cost I would pass along but not one I’m willing to pass along when there are much better license options out there. Like I said, they can charge what they want but I’m not spending $ on a developer license and then pay a client fee on top of that.

      If I have a client that insists on thesis (which hasn’t happened) then I’ll pass along the single license fee.

    3. I turned down 2 clients recently that wanted Thesis sites. I’m not impressed with Chris Pearson’s never ending refusal to go GPL in the face of thousands of developers who built WordPress for Open Source. The cost of the Thesis developer license has a per seat fee of 40 bucks per additional client which goes down slightly if you buy a 5 or 10 pack. For a developer, those additional costs are huge and can’t be justified when compared to the developer licenses from some other Premium Theme vendors that are GPL compliant. Lastly, the so called “footer attribution” grade school trick… Thesis appears to make it a legally binding contract if you purchase a single license that you must provide them with a “do follow” link to their homepage. Wow. With the developer lic you are allowed to legally remove the footer link (to quote their website “even on clients’ sites!”). Duh, do I want to pay someone for a Theme and then be legally forced to give them a valuable do follow link on top of that? Draining the hard earned PageRank link juice I made to give to someone who flaunts the spirit of the GPL in the face of the community that gave their time freely to build it? Not in this lifetime. But you can see part of the attitude driving Thesis is to take advantage of people that just don’t know any better. There are lots of better premium theme options that are GPL compliant, cheaper to roll out to clients professionally, and actually a whole lot more robust in terms of functionality and artistic potential.

    4. Mal, if $40 per client is huge for you, I think you need to up your prices.

      I mean how much did turning down the two clients cost you?

      I can understand not wanting to use Thesis for philosophical reasons. I disagree with them, but I at least understand it. Complaining about $40 per client site though doesn’t make much sense to me.

    5. @ Ben Cook:

      I was not told that the $40 Client Options didn’t get access to the Thesis Forums. It’s not in their TOS and it’s not in bullet point 3 on this page (http://diythemes.com/plans/). DIY Themes withholds this information from their customers.

      When I asked about this on the Thesis Forums and asked for help finding this language on their site. I was told: “It’s not printed anywhere on the site (other than various forum answers, as you’ve noted) that the Client Site Options do not come with forum access. But then again, it’s not printed anywhere that they do come with it, either. ;)” http://diythemes.com/forums/diythemes-discussion/28844-client-site-option-support.html

      My reply is that If I would have known the client site option did not have access to the forums before hand I would have simply purchased the dev option for my client and saved myself $180. Why not let people know this before they make their purchase so they actually get what they want?

      I asked Girlie (the forum moderator) if this was the official DIY Themes position, she replied “I don’t have access to that page, so I’ll ask Chris if he wants to add something there himself or not.”

      That was 04-27-2010, I still have not heard from Mr. Pearson. At this point I assume he will not contact me and could care less. I have hesitated to call this a scam, but the longer it goes without a response from DIY Themes the more I think they not only know about this but are actively withholding information about their product in order to drive sales.

  12. The argument that somehow themes are independent from WordPress amazes me. How can anyone think that they would actually run independently from WordPress? What would they display outside of error messages? How is it not obvious that themes are a kind of derivative code? How could a developer actually make that claim with a straight face?

    I know it’s not what Matt wants to do, but I honestly think that a suit would prove, finally, once and for all, that the GPL is not only enforceable but actually quite clear. A test case may not be a popular move in the short-term, but I think history would remember it honorably.

    Thanks for sharing your clear, well-reasoned thoughts on this topic.

    1. If you take the HTML of a standalone webpage, and replace the body text with , it’s now a WordPress theme. Does adding that one line to 1000 lines of HTML and CSS, and 40 images, make it a derivative work of WordPress?

  13. I think the main point is understanding that you’re building on top of another piece of software. No matter what you say about it, it requires that piece of software to work as intended. Sure, you could modify it to make it work independently, but that’s not the point, the point is you’re building on an open platform licensed under the GPL and it requires you to license your PHP code under the GPL too. It’s as simple as that.

  14. By far the best explanation I’ve read. The part about themes interacting with WordPress the same way WordPress interacts with itself is something I’ve been trying to articulate all week. Thanks!

  15. Derivative work (from the verb meaning ‘take, receive, or obtain especially from a specified source’) would only clearly include themes if they used code from WordPress itself. (As in this case.)

    If the additional ‘shared address space’ criterion is the one that trumps this particular argument, then that’s fine. Perhaps this was not sufficiently clear to the offenders.

    But isn’t it possible to build a theme that does not violate any of these extra criteria? A static HTML/Javascript page that remotes the loop logic using RSS, for example? If so, “all themes are GPL” is not truly watertight.

    Anyway, hopefully a court of law will settle this particular case quickly, and the propaganda will stop clogging up my tubes 🙂

    1. You don’t need to use RSS, you can just query the database directly.. ask the users for the db config info and go to town building your own php theme. Making it work within the actual wordpress theme framework might be tricky though, i.e. making it switchable from the admin area

    2. I meant you could have a single index.php file in your theme diretory that simply emitted HTML (no PHP snippets in it at all) and which would just call back to the server it came from to get the syndicated data required to present a styled blog.

      Even if a PHP-less .php file falls under the ‘shared address space’ clause, then you could GPL a small PHP spooler file, and have an HTML file right next to it that it simply wrote out.

      The HTML file (containing JS, and from there, all of the ‘theme’ and its appearance) could enjoy an entirely different license.

      [PS I’m not out to make a menace of myself or annoy the good WordPress folks… just trying a thought-experiment to understand whether you could emulate ‘theme behavior’ without having to constrain your choice of license.]

    3. The question is whether such a theme would still qualify as ‘linking’ in GPL terms, because WP might still search through the style.css in the theme to get the theme name, use the index.php file to serve it to a user, etc.

      Of course, such a theme could never be a viable solution to a ‘real’ WordPress theme because you could not use WordPress the way a normal client would do.

      One ‘solution’ could be to build a complete stand-alone website that directly queries the database, that you can still edit using WordPress (with the default theme, for instance). In that case it probably wouldn’t qualify as linking.

      Of course, such a ‘solution’ would be very unfriendly to the end user.

    4. James & Hay: exactly, there are definitely various ways to get the data out the system while maintaining a clean break between WP’s php functions & your own php as far as ‘including’ files is concerned. If Chris Pearson was as committed to his ideological position on this as he seems to be and skilled at development he can do it although it might take a LOT of work.

    5. But isn’t it possible to build a theme that does not violate any of these extra criteria? A static HTML/Javascript page that remotes the loop logic using RSS, for example? If so, “all themes are GPL” is not truly watertight.

      At that point, it isn’t a WordPress theme — it is a standalone RSS-parsing application. You could do that, sure. But it’s a ton of work for an inferior result. You’d be losing a lot of what makes WordPress WordPress, and creating a much higher maintenance burden. At that point, you could just write your own platform, or choose another platform.

    6. I believe a theme could be built this way which was more or less indistinguishable for a user or a WP administrator.

      If I was a premium theme author who wanted to protect my distribution, this is exactly the sort of thing I would do. I could even expose some more HTTP-based APIs (with a GPL plugin) to fill in any gaps.

      Unless you are saying: “if it’s not required to be GPL, it can’t be called a ‘theme’ ” … in which case the argument has gone circular, and I admit defeat 🙂

    7. @James: i highly doubt you could make it ‘indistinguishable’ to the end user. For example: you could not make the theme show up in the themes section because that would mean linking your code to WP. Like Mark said the closest you would get is make some kind of ‘RSS reader’ site, where every data source is coming from API’s.

      If you would sell something like that to a client as a ‘WordPress theme’ i would feel pretty cheated. Even though the GPL says nothing about trademarks and the phrase ‘WordPress theme’ is probably not trademarked.

  16. The SFLC has already looked at the issue and would side with WordPress. In business you have to adhere to the license given or get sued. I can’t believe Matt is allowing this license violation to go on for this damn long. The GPL relating to WordPress is turning into a joke because it is not being enforced. Submit a GPL violation notice to the SFLC and get this issue settled.

    I believe that every Thesis themed site is in violation of the GPL license and I think the owners should be informed of the possible legal issues surrounding their themes non compliance.

    Thesis and other developers that don’t want to abide by the GPL license should contribute code to the furthest along web framework they can find with a BSD or similar license and use that.

    1. Patrick, you might believe that every Thesis themed site is in violation of the GPL but you’re absolutely wrong.

      The GPL has to do with distribution, not use.

      Your comment (and others like it) are simply FUD trying to drive users away from Thesis.

    2. I believe that every Thesis themed site is in violation of the GPL license and I think the owners should be informed of the possible legal issues surrounding their themes non compliance.

      No, this is not correct. The GPL intentionally does not regulate usage of works that are (or should be) GPL. It only kicks in with distribution. If users were redistributing Thesis, then they would be at fault. But merely using Thesis, while not in the interest of respecting the WordPress license and the work of the WordPress community, is not itself a violation of the license. Our license disagreement is absolutely not with users. They have no legal liability. It just makes us sad pandas when they choose a theme with an invalid and restrictive license. 🙂

    3. Mark, I really wish you or Matt would help broadcast the message that Thesis users don’t face any legal liability. I realize it might help prompt people to switch but seriously, the FUD on this topic that’s being spread (as evidenced by Patrick’s comment) doesn’t do anyone any good.

  17. Good breakdown post, simple, straight, back to fundamentals. Thanks for making these points public, they were quite already but this last issue clearly showed some people still didn’t get it.

    As far as to “what’s next”, I think the logical step when your license is breached and when _much_ effort in diplomacy, discussion, openness, willingness to resolve amicably the issue has gone into the drain… well, it’s to sue.

    Chris Pearson asked for it, in a very aggressive and brutal way. Well, this issue (derivative of GPL claimed not under GPL when, of course, they are and have to be) is once again raised here, let’s put it to bed once and for all. Automattic have the weight to handle the legal case, and of course they’re right and have the law on their side, so it’s in a bizarre way perfect. Sue them to the eleventh generation, and be done with it 🙂

  18. I create premium themes and premium plugins for WordPress, and all are under GPL license, and I have no problem about it.

    But this debate has gone for far too long, and it’s clear that either sides will not let go, so the only way to decide who is right is by someone not directly involved, and that is court. Avoiding that and repeating same arguments each day without any resolution is pointless.

    I, and many others are tired from all this, and definitive decision about this is really needed and will end the debate once and for all.

  19. Mark, thanks for that great explanation.

    However, I’m having a little trouble understanding your very last three sentences, about changing the license (not specifically in a WP context though, just in a general context):
    If you are the copyright holder, why can’t you decide to (e.g. with the next major version) switch to a) a different “Free Software” compatible license or b) a proprietary license? Would that mean you would violate your own license? But would could/would sue you? (Versions up to that decision would of course need to remain GPL.)

    I’m not exactly sure on this (nor do I have sources to share), but haven’t there been open source projects that have changed their license at some point?

    Thanks, Tobias

    1. If you are the copyright holder, why can’t you decide to (e.g. with the next major version) switch to a) a different “Free Software” compatible license or b) a proprietary license? Would that mean you would violate your own license? But would could/would sue you? (Versions up to that decision would of course need to remain GPL.)

      The copyright is held by each individual contributor. There are thousands of WordPress copyright holders, all who have shared their contributions under the GPL as they are required to do. It would likely be an impossible task to get a license change signoff from every copyright holder. For all practical purposes, we are locked in to the GPL v2, forever. That’s why I said that we are as much restrained by our license as people who extend WordPress.

    2. @Mark, Wikipedia also has millions of users, and didn’t they undergo a licensing change by vote (not full consensus) a few years back?

      I guess the major barrier is the licensing of b2. Is it so totally impossible to ask the b2 contributors for permission to use another license?

      I’m not suggesting that a license change is necessary, especially after a few core contributors expressed resistance to using GPLv3, but this matter isn’t… entirely practically impossible, is it?

    3. Good explanation, Mark, thanks. So, in the WordPress case, the license change likely fails due to so many contributors. Got that. 🙂
      And of course that’s a good thing 🙂

      But, assume, I’m the only developer/contributor in a OSS project, and thus the only copyright holder. Do I then have the right to change the license?
      (I’m just wanting to make sure that I understood that copyright vs. license thing 🙂 )
      Thanks!

  20. So you all know that the works of Shakespeare are public domain right? You know that bookstores have been making money reprinting and selling books like The Complete Works of Shakespeare” for years right? You know that cliff notes which get sold include and re-use large portions of Shakespeare right? You know that they sell books with analysis and interpretations of Shakespeare with the entire works included with them right?

    You may have a belief about how you want or think GPL should work, but that doesn’t make it work that way no matter how much you want it to.

    1. Michael, as usual, you hit the nail on the head.

      Just because a lot of people, even the SFLC BELIEVE that’s how the GPL should work, doesn’t mean that’s how it works legally.

      No one knows how the GPL works legally in regards to WordPress themes because it’s not been enforced or tested in a court of law.

      We can spout on all day (as I am prone to do) about the topic but it doesn’t mean squat until a judge settles it.

    2. Michael, great comparison. It’s time for more people to actually be thinking about the issues instead of just believing what they are told.

    3. Unfortunately, this is not quite an appropriate analogue. Public domain means, quite literally, no copyright, so nobody can control distribution and use. As a result, it doesn’t take a court to resolve the issue that public domain content can be used in whatever way without limitation, because that’s codified in law.

      But the GPL is a license, which affords its copyright owners a certain amount of protection — and rights, which they are entitled to execute, thanks to what is also codified in law. The dispute here is about interpretation of what is not in the law, but is in a document; such questions of law have to be decided by a court — a judge.

      I do agree with your last paragraph. A court decision is needed.

    4. The Shakespeare argument is not comparable to the GPL debate at all. Shakespeare didn’t give a specific license to his works, his works simply went public domain and people can do everything they want with them, even relicense them under the GPL. Of course, somebody else could relicense them under normal copyright, sell them for a hundred bucks, but that doesn’t take away your right to do whatever you want with PD works.

      The whole “this hasn’t been tested in court” argument is debatable. WP themes are linkable PHP code that is executed together with a GPL licensed software package, and cases of ‘linking code has to be GPL’ have been tested many times in court, see http://gpl-violations.org and the Wikipedia page about the GPL.

  21. I like when people put everything in one place for easy consumption. Thanks for taking the time to educate the masses. Curious to see how this all plays out.

  22. OK, Let’s be clear I’m coming from a completely independent position, so nothing I say here should be considered as definitely pertaining to the specific case at hand.

    If I write some php code independently, that does not copy from existing GPL’ed code, and only makes calls into WordPress, in my reading of the law it’s *not* derivative of WP, so doesn’t have to be GPL’ed.

    I find it difficult, actually, to harmonize the attitude toward PHP code in themes with the FAQ at the end.

    The PHP code creates output. To say that the javascript in a theme is less dependent upon the output from the theme’s PHP functions than the theme’s PHP files are dependent upon the output of function calls within WP seems disingenuous. If the theme’s php files are required to be GPL because of their dependency, then the javascript and css files would seem no less dependent.

    Please, before you start to argue this, consider: Yes, the CSS file could be applied to completely different files. But the PHP files could also be applied to something completely different, that did something completely different from WP but just happened to have the same function names and arguments, just as the html files the CSS would be applied to would have to have the same elements and class/id names.

    Themes clearly depend upon WP for its execution (I wouldn’t dream of arguing that a theme isn’t “dependent” upon WP; I would only argue it’s possible for it not be “derivative”). In similar fashion, WP is wholly dependent upon the PHP interpreter and support libraries for its execution, yet the PHP license (positing that it were different than the current license) could not be used to prevent WP developers from licensing WP how they see fit.

    This difference is well-known in the world of intellectual property.

    If the only “common” code between a theme and WP are the actual function calls, and nothing else, it should not be considered derivative, and thus not automatically controlled by GPL. (GPL applies to derivative works, not dependent works.)

    Yes, this is contrary to the SFLC opinion, but let’s also remember this: a lawyer’s opinion is (and rightly should be) biased in favor of his client. It’s not a legally binding declaration; it’s just an assertion that he would be willing to argue that point in court and have some finite expectation of success.

    There is no definitive precedent here, you’ll find as many lawyers wiling to argue one side of the opinion as the other. I’m actually looking forward to a judge clarifying this issue. (I suspect, from other information, though, this particular case won’t make a good test case. But we need one, to dispel the FUD surrounding it.)

    And I’ll freely admit my evaluation of this could lose when argued in court. The area isn’t nearly as cut and dried as these opinions might seem.

    And yes, to answer another question that’s been floating around, I *do* believe that the only enforceable opinion on what a license says is a judge. If the parties themselves agree what it means, they will act accordingly, the judge isn’t necessary and there is equally no necessity for their mutually agreed upon interpretation to be in harmony with reality. But if they disagree, only the judge’s opinion matters.

    1. If I write some php code independently, that does not copy from existing GPL’ed code, and only makes calls into WordPress […]

      It either makes external API calls into WordPress, and is thus a separate application, or it combines with WordPress to form one application, run in the same process, in the same shared memory space. “Calls into WordPress” isn’t an appropriate characterization for themes, any more than it would be appropriate to say that WordPress makes “calls into WordPress” to perform its core functions. Remember that both themes and WordPress core interact with WordPress core in the same way, on the same level. You can’t distinguish the functionality of one from the other, because they are incorporated together into one process.

      I find it difficult, actually, to harmonize the attitude toward PHP code in themes with the FAQ at the end.

      The PHP code creates output. To say that the javascript in a theme is less dependent upon the output from the theme’s PHP functions than the theme’s PHP files are dependent upon the output of function calls within WP seems disingenuous. If the theme’s php files are required to be GPL because of their dependency, then the javascript and css files would seem no less dependent.

      The output of WordPress isn’t GPL! It is the code that generates it that is GPL. Theme JS works on the output, not the PHP code. Same with theme CSS. Ergo why split licensing is possible.

      You also seem to be talking about dependency a lot. That’s not my argument. My argument isn’t that because a theme depends on WordPress, it must inherit the license of WordPress. You could write a WordPress-specific XML-RPC application that only works with WordPress, but it is a separate application, and wouldn’t inherit the license. My argument is that themes combine with WordPress to form one application, where theme code and WordPress code are on equal footing. It isn’t WordPress ←→ Theme. It is WordPress+Theme = modified WordPress.

  23. @Michaelagray,

    You seem to have a misunderstanding that Word Press is in the public domain. If Word Press were in the public domain then there would be no issue with people distributing it or creating derived works under any license they chose as long as the didn’t try to keep other people from doing the same. Word Press is not in the public domain and it does not have an expired copyright. As long as it is being actively developed it will remain under copyright.

    @Mark
    This is an excellent summary of the issue. The only caution I would have is on the use of the term API–you are careful to speak of external APIs but at times people who are not as deep in development confuse the idea that an API like RSS sends data out in a form that can be used anywhere with the idea that all APIs do that.

  24. Not sure if serious.

    Dependent and derivative are not the same. Firefox.exe is dependent on Windows, but not a derivative A theme making a function call to WordPress does not mean that theme is a derivative work. If it were, that means Firefox.exe is a derivative of Windows, and Windows is a derivative work of the software hardcoded into the physical hardware for the computer.

    “Themes cannot stand by themselves, and are dependent on deeply integrating their code with WordPress core code in order to function at all. They cannot reasonably be considered original works.”

    Firefox.exe is dependent on deeply integrating their code with Windows API functions in order to function at all. So you’re saying Firefox.exe can’t reasonably be considered an original work?

    1. That’s not my argument. My argument is that they form one work. Firefox runs on Windows, in a separate process. Themes and plugins combine with WordPress and are parsed together as one application.

    2. @lulz, it seems that there is still some misunderstanding about how WordPress plugins and themes, or Linux kernel modules, or Drupal/Joomla plugins, execute as they compare to software applications that run on an operating system.

    3. Mark,

      You stated a WordPress theme was derivative of WordPress. On what basis?

      In the eyes of the law, dependent and derivative are different, and integrating together to form “one work” isn’t legal grounds for calling something a derivative work.

      Frederick, and what’s your point? If I photocopy a book under copyright and sell it, I’m probably in violation of copyright law. And if I write my own book and read it in the same place someone is reading a copyrighted book, I’m not. What does this have to do with the issue?

    4. Also, Firefox most certainly does not run as a separate process on the lowest level.

      My ethernet card doesn’t care (or even know) what application packets are coming from or too, my graphics card only knows to display some orange and blue pixels in the shape of a fox at a specific location on the screen, etc.

  25. @Mark Great analysis and nice writeup. However, I’ve been following this issue as a 3rd party and AFAICT your analysis does not appear to be valid for the issue at hand. A large part is the difference between what the supporters of the WordPress’s position want to be true and how the law would interpret it if in the hands of a judge (with the caveat that IANAL.)

    Before I go any further, be aware that I would like to see the WordPress position prevail but I believe it best to solidify all legal arguments rather than simply circle the wagons.

    The legal precedents I’ve seen[1] indicate that even though code is called by WordPress it doesn’t make it derivative. The positions by SFLC or FSF are simply that, positions; they are not legal precedents. In every single court case every presented there are (at least) two positions but the law only finds for one of those positions.

    Further, quoting SFLC and FSF on this issue is like quoting the LDS Church as an authority on gay marriage; it rallies the troops but it doesn’t help to build support for your position among “moderates” on the issue. And while the GPL has FAQs on the subject but they are also merely positioning statements, they are not legal precedent.

    Frankly, I’d really like to see this go to court because it would finally put a stake in the ground regarding this issue. Thus far the arguments I’ve seen on both sides have been mostly blindly supportive of their own position. It reminds me a lot of the current political debates in the USA; everyone’s taking sides but nobody really involved is willing to be objective if it means giving something to the other side.

    Want to win me over with a legal opinion? Get the ACT[2] to give an opinion in favor of the position you state above. If they’d provide an opinion that “WordPress Themes must be GPL” then it would hold a lot more water than if the SLFC or the FSF did.

    What might be even better than arguing a position is to do one or two of the following: 1.) generate a new GPL-derived license that unambiguously requires Themes to be released under the same license (if this is even possible) and/or 2.) implement a new theming system in v3.1 that requires themes to copy a portion of code distributed with WordPress in order to operate thus ensuring that themes would be a derivative work.

    Please don’t shoot the messenger; I would like to see you be right on this but I am also one to point out when it seems to me that the emperor has no clothes.

    [1] http://drewblas.com/2010/07/16/beyond-thesis-does-the-gpl-go-too-far-and-what-makes-a-derivative-work/

    [2] http://en.wikipedia.org/wiki/Association_for_Competitive_Technology

    1. generate a new GPL-derived license that unambiguously requires Themes to be released under the same license (if this is even possible)

      It isn’t, in this case.

  26. Mark,

    Your article does a detailed job of describing your opinion. I truly appreciate hearing your point of view.

    That said, I can’t help but notice that you don’t mention which part of GPLv2 you’re basing this opinion on. I think it’d be helpful to the readers to see what part of the license brings you to your conclusions.

    Cheers,
    Gil

    1. The crux of it, to me, is this:

      These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works

      I do not consider themes independent and separate works. They form one work, when combined with WordPress, and necessarily contain WordPress code and WordPress-derivative code.

    2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program…

      Line one of section 2 seems to define “work based on the Program”, aka derivative works, as a copy or modified copy of existing code (Program).

      A framework / theme / plugin can be created & distributed without distributing a single line of existing WordPress code, or modified WordPress code.

  27. Mark,

    Interesting article and I agree as applied to Thesis because the distributed GPL code, but if a party doesn’t distribute any GPL code then a distribution license doesn’t apply.

    As you point out, the GPL doesn’t cover usage, it covers distribution. If I distribute a set of files that has no GPLed code and a user installs it, I haven’t done anything to violate the GPL. It doesn’t matter if I call GPLed APIs, because I am not distributing the complete work. Forming a single work is only a problem if I distribute GPLed code.

    1. It doesn’t matter if I call GPLed APIs, because I am not distributing the complete work.

      There’s not really such thing as a “GPL’d API.” There are APIs that work by integrating your code with GPL code, which is what happens with themes. And then there are APIs that allow you communicate with a separate application (like piping from one application to another in Unix).

      That you don’t distribute the complete work is merely an artifact of how PHP code is parsed dynamically, and you don’t have to distribute a combined binary. It would be no different from distributing a replacement file for wp-includes/functions.php with non-copy-pasted replacement functionality (that interacts with WP) and then claiming that it isn’t GPL because you’re not distributing the rest of WordPress. You’re using the separate distribution of the files that make up the application to try to skirt the licensing requirement.

  28. This whole conversation is ridiculous. Take this to court and see how it plays out.

    Consider: How deeply does a commercial piece of software like, say, the Oracle or DB2 database, or a virtualization product like VMWare, or a device driver, interact with an OS like Linux? And (as long as no significant actual code is lifted from the other entity) does that really “infect” the commercial package with the license of the open source package? Of course not. (If you think it does, try taking one of the big companies to court.)

    Short of actual transcription of WordPress code (i.e. from “behind” the published APIs WP is designed to expose, documents etc.) none of the mechanics of how the two pieces of code interact (in-process, out of process, etc.) should have much if anything to do with how the licenses interact.

    1. This whole conversation is ridiculous. Take this to court and see how it plays out.

      That’s a disheartening attitude. Shouldn’t parties try to resolve disputes outside of courts before rushing off to hand millions of dollars to a bunch of lawyers? I certainly think so.

    2. What’s disheartening is the sanctimonious attitude that says, “Nobody has to go to court if they just do what we want them to.”

      Millions of dollars? This case would presumably cost nothing for WordPress, as the SFLC defends its members on a pro bono basis.

      So, effectively, GPL compliance just became voluntary. Because WordPress would rather discredit you than take you to court, presumably because WordPress would lose.

    3. It’s merely an attitude of avoiding the court system if possible. That’s all. We’ve been able to convince almost everyone else in the industry that GPL is the right move, without any threat of a lawsuit. If Chris won’t budge, then it probably should go to court.

      My only worry is that WordPress would win based on the fact that Thesis contains code lifted directly from WordPress, which would leave the nuances of the GPL and extensions which (in my view) combine with the core to make a new derivative work as open questions.

  29. I used to believe plugins and themes had to be GPL. I don’t anymore since well the arguments against that GPL applies are better than those for.

    People should really read this:
    The GPL and Derivative Works
    by University of Washington School of Law
    The GPL: Understanding the License that Governs Linux by Matt Asay Director, Linux Business Office & Open Source Review Board
    Novell

    GPL, legally speaking (PDF) by Lawrence Rosen is attorney for Open Source Initiative

    Also
    So the Plugins API is actually not an API?
    Why is it called Plugins API then?

    1. Strictly speaking, no, it isn’t an API. It’s how WordPress itself is written! “X API” in this sense loosely means “WordPress core functions for purpose X.”

      It is not “an interface implemented by a software program which enables it to interact with other software.” It’s just functions. The use of API in this case is technically incorrect, but it’s become common parlance, at least in the WordPress community. The incorrect label doesn’t change my view of how plugins, themes and WordPress core form a single application, as explained above.

      I’ll give those links a read.

    2. If you call it an API I would say it is an API. (The WP world seems to alter the meaning of a lot of stuff, like frameworks *shudders*). Its not what we meant is not really a good argument.
      Check the codex for what seems to be the official meaning of Plugins API.

      Hooks are provided by WordPress to allow your plugin to ‘hook into’ the rest of WordPress

      http://codex.wordpress.org/Plugin_API

      Wikipedia:An application programming interface (API) is an interface implemented by a software program which enables it to interact with other software.

      Also the GPL v2 does not deal with runtime integration and the nature of scripting languages. WP+themes/plugins is not a “combined” work until its run. They are also not distributed together and you can write a theme/plugin and never look at any actual WP core code.

    3. If you call it an API I would say it is an API.

      It’s just a name. It doesn’t change what it actually is.

      Hooks are provided by WordPress to allow your plugin to ‘hook into’ the rest of WordPress

      Note that it says “‘hook into’ the rest of WordPress.” Not “to communicate with WordPress.”

      you can write a theme/plugin and never look at any actual WP core code.

      How would you know how to do anything if not by looking at WP core code or documentation based on that code (our Codex is also GPL)?

    4. Note that it says “‘hook into’ the rest of WordPress.” Not “to communicate with WordPress.”

      That is just semantics. You can use the Twitter API to hook into Twitter.

      How would you know how to do anything if not by looking at WP core code or documentation based on that code (our Codex is also GPL)?

      So just by writing the theme header in the CSS file the CSS file becomes GPL if I first saw it on the Codex page? Hmm I guess the CSS has to be GPL also. SFLC was wrong and only images can be split licensed and CSS files other than style.css if they are not imported into style.css.

      Nice going Mark, you just invalidated Matts stand on this issue ;).

    5. Using the Twitter API does not make your Twitter client part of Twitter. They remain separate applications.

      And I hope your winky-face meant you were being facetious. I made the “CSS doesn’t have to be GPL” argument years ago. No, simply naming your theme using style.css doesn’t make original CSS derivative of WordPress.

    6. Using the Twitter API does not make your Twitter client part of Twitter. They remain separate applications.

      That’s not what I wrote. I was referring to your distinction between hook into and communicate which was just semantics. The words can be used interchangeably in this context.

      And I hope your winky-face meant you were being facetious.

      Yes and no.

      No, simply naming your theme using style.css doesn’t make original CSS derivative of WordPress.

      Thats not what I wrote. In my example GPLed CSS code is combined with other CSS code in the form of the header. So where does WP reps draw the line? Including CSS code is fine but PHP is not? What about class names etc. Given the nature that even hook names seem to be GPL.

  30. “I didn’t mention it precisely because it is a red herring. Nor did I mention that Thesis is highly insecure. It’s not about quality of code.”

    Q: Are you stating here that you think Thesis is highly insecure and you didn’t mention it – or – are you stating that you are not making an opinion on the status of Thesis from a security standpoint.

    Thanks!
    AJ

    p.s. Sorry you are having plumbing issues – had my own $10K nightmare last year – not fun

    1. Q: Are you stating here that you think Thesis is highly insecure and you didn’t mention it – or – are you stating that you are not making an opinion on the status of Thesis from a security standpoint.

      I’m saying that Thesis is highly insecure, per my own direct (and authoritative) observations and tests. I’m sorry that I can’t go into detail. I’m not willing to help develop and advance Thesis, as I’d be contributing to its disrespect of WordPress’ license. That wasn’t an easy decision. I’m not the originator of this information, by the way, I’ve seen reports about Thesis insecurity floating around. I’m merely confirming.

      Thanks about the plumbing condolences. I’m hoping it’ll be much less than a $10k ordeal this time around!

    2. Mark: That is an bad choice really.
      You are basically letting thousands of WP users be hacked then. Also saying stuff is insecure and not providing a single shred of evidence to backup the claim is bad moral.
      Personally I haven’t read much about Thesis insecurities. Where are these places where you have read about it?

    3. I didn’t write the code. I didn’t chose the incompatible license. I don’t have a moral obligation to help fix Thesis. I do feel that I have an obligation to stand up for WordPress copyright holders and not contribute to a theme that disrespects their copyright. I understand that people may doubt the veracity of what I say because I’m not backing it up with evidence. And that’s fine. I’m depending on the trust that I’ve built up within the community. If someone doesn’t trust me and wants to see evidence, I don’t hold that against them. I just can’t provide that evidence.

      That’s not going to be a satisfying answer, but it’s the only answer I can give in this awkward situation. 😦

    4. What you are doing is defamation. Provide evidence or don’t say anything about it.

      Also I’m a WP copyright holder, a very small one but one nonetheless and I don’t agree with you so no reason to feel obliged on my behalf ;).

      PS
      Incompatible license is a matter of opinion. Read the pages I link to in my first comment on this post they are really good. (the comment is stuck in your moderation queue it seems).

    5. What you are doing is defamation. Provide evidence or don’t say anything about it.

      I didn’t have the first mention. I merely confirmed for those who were questioning the original reports. But you’re right, I probably shouldn’t have said anything if I was unwilling to proceed beyond acknowledgement of the holes.

      In any case, what’s done is done, and the truth is a defense to an accusation of defamation. I’ll use it if I have to. But Chris’ time would be better spent finding and fixing the security holes than suing me for saying something that a cursory examination would reveal to be objectively true.

  31. Mark,

    Thanks for taking the time to explain how themes work. This is drastically different than I’d assumed / thought before, since I’m not an engineer nor had I ever delved in at the code level. I honestly assumed themes really were just a layer on top, interpreting data. The interdependence you describe really puts it in a different light.

  32. The GPL is the GNU _General_ Public License, not the ‘GNU Public License’.

    The GPL does actually prohibit you for charging for source code (other than a reasonable fee) to all of those people that you have distributed binaries to. This is rarely going to be an issue with PHP, but as stated it is blatantly false.

    The copyright situation of code or whatever else developed as for people is complex and actually probably is not given to the client. Talk to an actual lawyer.

    1. The GPL is the GNU _General_ Public License, not the ‘GNU Public License’.

      Doh, thanks. Fixed that flub. That’s what I get for composing this at 5am.

      The GPL does actually prohibit you for charging for source code (other than a reasonable fee) to all of those people that you have distributed binaries to. This is rarely going to be an issue with PHP, but as stated it is blatantly false.

      Sure. I simplified for this case, because there are no PHP binaries. When you get the PHP code, you also have the source, because they’re one and the same. But noted, for anyone reading this from a general standpoint and not a WordPress- or PHP-specific standpoint.

      The copyright situation of code or whatever else developed as for people is complex and actually probably is not given to the client. Talk to an actual lawyer.

      Agreed. Consulting contracts would do well to make this issue unambiguous. Regardless, even if it isn’t unambiguous, I’d never take code developed for one client and give it away without them signing off on it. But that’s just common decency and trust. As for companies, they’d do well to make it clear in case their consultants don’t have such a view.

  33. An ironic thought has come to mind.

    The characteristics of a theme that customers probably feel they are choosing and purchasing (layout, style, interactivity) are *not* the parts that are dictating its license.

    It’s the simple, common – and frankly dull – parts of the theme (PHP calls to do the looping, the sidebar declarations, and a few other well-known tricks) that do.

    I wonder what a free-market economist would make of this: a non-physical product for which the parts valuable to a customer come without constraint, but for which a few commodity parts mandate all the cost (in the form of a restriction on its use).

    1. That’s an interesting point, and one which Matt Mullenweg has made before. The look and feel of a theme is determined by CSS/JS which doesn’t necessarily have to be GPL. It is the theme functionality that inherits the license.

  34. There are plenty of things to discuss from this article and the comments that follow it, but for the moment, I will restrict myself to one: the combination of WordPress and a WordPress theme at runtime. If that is sufficient to consider the two a single unit subject to a single license, what if the content management system were distributed under a different license—the MIT license or the PHP License, for example—and the theme were distributed under the GPL? Would the two be incompatible? Would the GPL prevail? In the event of a violation, who would be responsible? The user who triggered the runtime combination? The content management system distributors?

    1. MIT license is more permissive. You can combine an MIT work and a GPL work into a GPL work. In essence, the MIT license gives you the right to relicense the work under the GPL.

      P.S. I fixed your e-mail address typo, so your Gravatar would show up!

  35. Thank you Mark… you explain it in a way I could not do. I am glad I am not bonkers when I start my soapbox routine.

    Too bad GPL is not allowed to be talked about at WordCamp…huh? lol.

  36. @Mark
    Look at this not-so hypothetical scenario…
    Woo-themes n many alike premium themes are GPL.
    Now say a persona, named Bob, who is a not-so-famous wordpress theme developer also…
    1. Registers a domain “wordpresspremiumthemes.com”
    2. Buy many GPL powered premium themes
    3. Upload them on “wordpresspremiumthemes.com” with price tag as low as you can imagine as compared of original premium theme price.
    4. Being developer, offer premium support also at much lesser price like $5/hour!

    Now can Bob is allowed to do above business under GPL?
    If yes, will it be considered good outcome of GPL?
    Don’t worry about profit, Bob can become million dollar baby if law doesn’t prevent him doing above because of GPL!

    1. Can’t have wordpress in domain name but everything else is correct. If he modifies the themes he can’t call them their original name etc I think.
      So yes you can buy GPLed themes and give them away for free if you want or charge or whatever.

    2. The CSS, Javascript, HTML and images are not GPL, so you can’t give that away, except if those are licensed under the GPL too.

      But if these themes are indeed fully GPL licensed, than yes, you can do all of the above. People have been doing exactly that for years with Linux distributions.

    3. Andreas and Hay got it right. And people could be doing this right now with all the GPL premium themes out there. But a large part of what makes premium themes valuable is that you get support and access to the people who made it. This is why so many businesses pay for Red Hat GNU/Linux instead of just using the zero-cost alternative CentOS. Red Hat is a six billion dollar company based on this model!

    4. @Mark

      I was under the imporession if you hold the trade mark for the theme name, e.g. “Thesis x”, then someone else can not redistribute it under the same name, as you hold trademark, or that not true?

    5. @Joe Hoyle that would mean you wouldn’t be able to resell any products you ever buy since you cant write what it is your selling ;). This week half price on yoghurt but we cant say which brand or name. Think it comes under fair use.
      If you don’t change anything at all it is a StudioPress or WooThemes theme. If you change the theme its no longer a StudioPress or WooThemes theme.
      I’ve not come across any writing that only BMW can sell the car Z4 Roadster. If I buy a bunch of Z4 Roadsters I’m in my right to sell them as Z4 Roadster and say that they are BMW. I can’t however make a new car and claim its a Z4 Roadster etc.

    6. @Andreas

      Ahh yeah, thanks for pointing that out, feel stupid now 😛 I misunderstood what Matt was saying on mixergy (taken from transcript):

      Matt: Sure. That would be a marketing issue. That could be a trademark issue. Let’s say I was going to download Thesis. Let’s say Thesis was GPL, and I was going to create Antithesis and sell it on my site. I wouldn’t be able to call it Thesis because Chris still has the trademark

    7. I was under the imporession if you hold the trade mark for the theme name, e.g. “Thesis x”, then someone else can not redistribute it under the same name, as you hold trademark, or that not true?

      That is indeed true. That is why CentOS is named differently.

    8. @Mark Bad example. Red Hat has a licensing agreement that prevents the use of its trademark names and logos for modified and non-modified work. CentOS is also not Red Hat EL. It only strives to be 100% Red Hat EL compatible.

      @Joe
      More correct answer. You can do as I wrote as long as the license agreement for the product etc doesn’t state otherwise. But I’m not a lawyer just a googler =).

  37. There are things that are said and there are things that are unsaid, so if I may humbly suggest, the core team needs to be clean on their intent:

    When someone begin to think on the lines of themes, and intent, one can read through and connect it to wordpress.com the commercial derivative of the open source work. At some point of time, Automattic took themes, cleaned it up for purpose to be used on wordpress.com. Now having done this much before you actually announced that themes were indeed derivative, it makes people think that you had to go this way to avoid future problems. Reads a bit like a conflict of interest—even if this looks like a mere speculation.

    Functional calls, using data structures, using intertwined PHP, as Matt clarified to my comment on his site earlier, still looks like communication and a method of calling the data stored in a database in my view, not necessarily derivative if the theme does not use any bit of code from the WordPress package. So I remain unconvinced.

    But you’re disagreeing with the people who determine the direction of the WordPress core and are largely the people who own the copyright.

    I greatly respect the stand Core developers have taken in this regard; hence the need for more clarity. Also, since you do not use an altered version of GPL or any other license, but use GPL verbatim, the stand Core developers take is still subject to the allowances of the GPL in a court of law.

    [To give you a bit on where I’m coming from, this discussion has given me an insight into GPL a great deal than it did back last year when it was announced that themes were GPL too. Pure academic interest—if you will.]

    1. When someone begin to think on the lines of themes, and intent, one can read through and connect it to wordpress.com the commercial derivative of the open source work. At some point of time, Automattic took themes, cleaned it up for purpose to be used on wordpress.com. Now having done this much before you actually announced that themes were indeed derivative, it makes people think that you had to go this way to avoid future problems. Reads a bit like a conflict of interest—even if this looks like a mere speculation.

      I am not an Automattic employee. I am not involved with WordPress.com. I have no financial stake in their company. I just work on WordPress.

      Functional calls, using data structures, using intertwined PHP, as Matt clarified to my comment on his site earlier, still looks like communication and a method of calling the data stored in a database in my view, not necessarily derivative if the theme does not use any bit of code from the WordPress package.

      Themes don’t query the database (well, they could, but in practice, they don’t). They tap in to WordPress data (not the database, directly) and ask WordPress to tap into its data. They run in shared memory space, and can access and modify all of that data, even change WordPress core code. It is most assuredly not “communication” any more than how WordPress works is “communication.” It’s code.

    2. Just curious as how exactly a theme could possibly alter WordPress core code by other means than actually altering the code in the core PHP files themselves. Which as far as my experience goes no theme does. And thats only because they are on the same server and has read/write priviliges (which they shouldnt have).

  38. I would’ve honestly thought that developers would just automatically KNOW that a theme is just a bunch of additional scripts that WordPress utilizes in order to create the site you look and feel you make.

    For example, say you have a laptop, and a battery to run it. Without the battery can’t run laptop, but battery is useless without laptop. Stupid analogy but whatever.

    I don’t really even consider myself a Professional, or highly experienced Php developer, or theme dev for that matter, but even I know that it’s all the same stuff, just another folder in the file structure of WordPress.

    Great post though. Should clear things up, hopefully…

    1. You would be surprised at the obvious things people ignore because they were not CLEARLY told from the beginning.

      This problem is even worse in the case of “Thesis” developers as they admitted to lifting code directly from WordPress.

  39. Thanks for this article, I create custom wordpress themes for clients, and I was a little concerned over the whole GPL issue. It’s really cleared things up and I feel its wholly fair that themes are bound to GPL.

    I’m not so sure it fits well with all plugins, as a whole lot of functionality can be added from scratch, and only a small part of the code is used to communicate with wordpress.

    Fortunately I’m not really affected by the issue, as I haven’t created anything so far for distribution, but it is very interesting to know for future business developments.

  40. Hi Mark,

    I really enjoyed your blog post. However, I want to be clear that in general I don’t think a wordpress theme is a derivative work.

    Your post cites the FSLC and the GPL who clearly say themes and plugins are derivative. But the GPL may be significantly overreaching in terms of what copyright law allows. If your plugin is totally original code and you aren’t distributing any GPL’ed code (therefore the code only combines by the end user’s hand), then there is a serious case for exceptions here.

    I wrote details on an additional post: http://drewblas.com/2010/07/16/beyond-thesis-does-the-gpl-go-too-far-and-what-makes-a-derivative-work/

    1. There is some room for exceptions. With plugins, say, there is a way to do it that could skirt the GPL. You could have a GPL WordPress plugin that interfaces with WP (much like WP’s XML-RPC API interfaces with WP), and your actual application, which runs separately, could use that plugin to get the data it needs. You could even write a “theme” like this, though I think it’s a lot of extra work for an inferior result.

      I’ve never seen a theme that does that. I’ve seen plugins that do it. Akismet, for instance, has a GPL plugin, but a proprietary service. They could distribute the Akismet service source (if it doesn’t use GPL code), and sell it under a proprietary license. Sort of a “run your own Akismet” thing. And the GPL wouldn’t affect the Akismet service portion, because it is a separate work.

  41. Thanks, Mark for this very informative writeup. Appreciate the perspective.

    Some of the ingredients of this debate are not going to change, some can be.

    At the end of day, I love both WordPress and Thesis. So I’d rather see a solution that makes both Mark and Chris happy – not a compromise!

  42. I entire discussion of this topic is pointless until the parties go before a court and a ruling is given.

    Thus, the only reason to push the issue is to spread FUD and throw mud at one another in an attempt to gain support for forcing each other to comply. The results of doing this are character scars and a loss of customer/user respect for you and/or your brand.

    A few potential outcomes of Automattic/WordPress and Pearson pushing the issue are listed below. Feel free to add to it as there is nearly an infinite number of potential consequences.

    If Automattic/WordPress continues to either threaten a lawsuit or continues to spread FUD:

    1. Alienation of some WP developers and the loss of developers to other platforms that don’t care how they license their software.

    2. Damage to WP/Automattic owner(s) and employees’ personal character and WP/Automattic brand resulting in some or no loss of support from the community and/or clients.

    3. Fuel to support a rival software solution that’s very similar to WP but uses a more flexible, developer-friendly license.

    If Pearson continues to throw mud and challenge WP/Automattic:

    1. Potential character scars and loss of respect from customers/users

    2. Potential loss of friends/customers in WP community that side with WP/Automattic

    If a lawsuit is filed and WP/Automattic wins:

    1. Potential loss of X number of commercial developers and the potential innovation it may bring.

    2. It may provoke the non-GPL followers to launch a rival, more developer-friendly platform that doesn’t dictate how you license your software

    If a lawsuit is filed and Pearson wins:

    1. WP/Automattic can no longer pressure developers into releasing their code

    2. WP contributions to source code may diminish

    Regardless of what happens in a court of law, the court of public opinion may be more damaging to both parties involved.

    It’s probably in the best interests of both parties to drop the bickering altogether. By not enforcing the issue WP/Automattic gets the best of both worlds in terms of commercial development that drives innovation and free source code for WP. If Pearson stops pushing the issue, he won’t incur the financial costs of a lawsuit and the business risks associated with it.

    1. entire discussion of this topic is pointless until the parties go before a court and a ruling is given.

      We were able to convince almost every other theme creator that this was the right thing to do, without any threat of lawsuit. I’m rather proud of that. It shows that, on occasion, adults can settle their disagreements without resorting to the strong arm of the law. I only consider lawsuits a method of last resort.

  43. “How they operate” is still not a relevant analysis under copyright law, no matter how many times you repeat it. Operation is a question of patent law; the content of the PHP files on the disk is the only relevant question for copyright law. If a PHP file contains “copy pasta” from someone else’s protected code, then it’s most likely -but not absolutely – a derivative work. If it simply “interacts the same way” then you’re already past the point in time where a copyright analysis would have concluded.

    Of course the authors of the GPL are advocating an expansive definition; that’s their purpose. It unfortunately taints their analysis. You’ve become one of the leading proponents in the community for this “runs at the same time” red herring and ultimately, it’s harmful to the community because it’s just not correct.

    Focus on the code, which is your specialty.

    1. I regard their operation as key to determining whether or not they form one work, or remain two separate works that merely communicate.

      I realize that this is likely a moot point as far as any legal action is concerned, as “copy pasta” of entire blocks of code is far less nuanced a ruling, and we’d likely win on those merits.

  44. None of the legal aspects matter here. The more each party pushes the issue the worse off they both are. It’s still in both parties best interest to drop the whole thing.

    “By not enforcing the issue WP/Automattic gets the best of both worlds in terms of commercial development that drives innovation and free source code for WP. If Pearson stops pushing the issue, he won’t incur the financial costs of a lawsuit and the business risks associated with it.”

    Another thing to consider is the potential innovation WP may lose if it alienates non-GPL developers. Of course, WP/Automattic will promote the fact that many successful premium WP theme development companies are already GPL. However, what they fail to see is that most, if not ALL, of those developers that are now GPL compliant started out non-GPL.

    So the question is, would all those commercial non-GPL development companies chose to develop their businesses based on WP if they had to be GPL-compliant to begin with? Starting a business is risky enough but putting your faith into people to essentially do the right thing and not freely distribute your livelyhood may just be too much risk for a new business owner. Hence, if WP files a lawsuit or continues to force the issue, potential WP developers may simply choose another platform to secure the afforded protection of a non-GPL license.

    1. So the question is, would all those commercial non-GPL development companies chose to develop their businesses based on WP if they had to be GPL-compliant to begin with?

      It might have been a risk, but the first person to take it would have reaped the rewards! And now, it is a clearly proven business model.

    2. Mark, how did I know you would say that? =)

      Again, those are existing companies and you’re only counting the ones that chose to take that risk.

      How are you QUANTIFYING the number of new business owners that choose NOT to develop on WP because of the GPL?

    3. How are you QUANTIFYING the number of new business owners that choose NOT to develop on WP because of the GPL?

      I’m not. I’m just pointing at the ones who have, and are making money, to say that it is possible. Their business decisions are up to them, so long as they respect our copyright and license.

      If that’s not acceptable, I’d encourage businesses to choose another platform or just write their own. That’s not necessarily bad for WordPress. Competition is good. Keeps us on our toes.

    4. @Mark Jaquith

      No, you’re pointing out business that already existed as non-GPL WordPress development companies that later changed to be GPL compliant.

      There is a clear difference Mark.

      You take this to court or continue to press the issue and I guarantee that 1) developers will start using GPL-compliant workaround plugins/themes that serve no purpose but to skirt the GPL and 2) less commercial businesses will develop off of WP. Either way it’s bad for WP. How do you not see this?

  45. Why don’t you just leave this issue alone and say “We don’t care how you license your theme but we’d prefer you choose GPL because of these benefits…” And those benefits include whatever you dream up (i.e. inclusion in premium theme directory, etc.).

    If WP/Automattic took this stance there would be no debate and it immediately remove the potential consequences brought to WP/Automattic’s brand by engaging in a lawsuit or mud slinging.

    Again, I don’t see why you don’t want the best of both worlds. That is, (1) attracting new business owners to drive innovation and evangelize WP, (2) maintain WP’s adoption of free source code that’s built by GPL compliant developers.

    1. @James: I gotta say that this is the most logical and intelligent positions I’ve heard on the subject in 2+ days of reading over 1000 comments on the topic. It would of course require Matt & team to about-face and accept something they have held as gospel, i.e. that all themes and plugins must be GPL. I hope and Matt, Mark and others are not above considering.

      Yet it’s not an accepted *fact* that themes and plugins must be GPL as evidenced merely by all of the debate on the subject. Reasonable people can disagree and thus there is still room for interpretation. If Matt & team took the position that themes and plugins did not have to be GPL then I doubt many if any would challenge it. Imagine if you will what that might look like, at least for a moment please.

      Rather than position GPL as a requirement for plugins and themes (i.e. use of “the stick”) I agree with James that it would probably be better for all involved if WordPress instead offered “the carrot”; i.e. if WordPress poured effort into helping those companies who GPL their offerings financially succeed and provide no similar help to those who do not GPL their offerings. Matt constantly talks about how people can make money off GPL but from what I’ve seen he nor the team have taken many (any?) proactive steps to help ensure that people who are building on the GPL can be profitable, with potentially the rare exceptions being the existing market leaders like WooThemes and StudioPress.

      Mark, your assertion that all other theme vendors moved to GPL besides Thesis without need for the courts may be true, but is it also not true that the threat of the stick was used against some of them i.e. the threat being to rally the community against them if they did not? We don’t know for sure with the others but that did happen in the case of Thesis. Any while frankly I do think Chris had it coming to him, that’s just my reaction to his arrogance and unprofessionalism, not my opinion on the validity of the challenge against him.

      With v3.0 WordPress really has the potential to become “a” if not “the” defacto web platform for business. The problem is many businesses will choose not to build plugins on top of the WordPress “platform” if they know they will be subject to the GPL and that potential could well be still borne. Would Oracle choose to build on top of WordPress? Probably not[1]. How about Apple, Adobe, Microsoft, SAP, Intuit, etc. etc.?

      Case in point: I have a client who has a lucrative business selling web content management systems to an client base that is willing to pay handsomely for them. I’m building a set of plugins that, combined with WordPress, will replace their 10 year old custom content management system they have been selling (and I envision lots of other company might well do the same.) I’ve billed over 200 hours on the project so far and I wouldn’t be surprised if I didn’t get 500 billable hours or more in total before I fully meet their needs.

      But as it turns out about 80% of what I’m doing is generic, I’m coding it as such, and I plan to release that functionality to the community. Why do I mention this? Because at one point they asked me about the GPL and I told them if they didn’t release the code to their clients they didn’t have to worry about their clients distributing it. For them they decided they will continue to run the websites for their clients so it wasn’t an issue for them, but if they had planned to distribute the code they would have halted the project at the beginning and built for another platform. And all those 160+ hours of work that will eventually get contributed to the community would simply never happen. IOW, we were lucky in this one case but how many other cases will be unlucky, as James questions?

      Any company whose customers pay them a lot of money (one example, in the financial industry) will almost certainly never build on a platform that requires GPL yet closing the door to all that development could be a huge opportunity lost to the innovation that could be freely contributed back to the platform.

      In summary I ask that the Matt and WordPress team seriously reconsider the “the stick” position of “it must be GPL” for themes, and especially for plugins. Take “the carrot” position instead that the community values GPL for themes and plugins and that if GPL then you will do your best to help those companies be profitable on a collective basis.

      I know it’s a lot to ask considering the entrenched positions taken on the subject thus far but I would posit the question: Isn’t it the “right” thing to do for the platform and for value that can be added to the user base at large to have companies pouring money into development who will not otherwise do so if GPL is a requirement? It would even give a leg up in getting companies to build on WordPress instead Drupal and Joomla from that respect.

      (Note that I’m advocating for this but if WordPress doesn’t change it’s position I’ll continue to support WordPress the best I can, I’ll just lament what could have been.)

      JMTCW.

      -Mike

      [1] http://mail.opensolaris.org/pipermail/ogb-discuss/2010-April/007767.html

    2. You make excellent points Mike.

      As I suggested, there is NOTHING that requires WP/Automattic to ENFORCE the GPL.

      It is in WP/Automattic’s best interest to entice developers, through additional benefits (i.e. inclusion in premium theme directory, etc.), to adopt the GPL rather than forcing it down their throats. This way they don’t lose the chance to evangelize those innovators that want to develop on WP through non-GPL licenses. It’s really a win-win solution for everyone involved.

      As it sits, Chris Pearson or Matt Mullenweg need to put their pride aside and be the bigger man by taking that first step towards finding an agreeable solution. Adopting the agree to disagree position by both parties would suffice. Both should also apologize for any harsh words and drop the whole thing. The consequences of not doing so are harmful to all businesses and parties involved.

    3. Its not up to WP how the GPL works. They chose to operate under it and so they have to adhere to it. WP can’t tell anyone creating derivative works to maybe just “consider using” the GPL, because the conditions of being under it at all means that all derivative works must also be GPL. You should be asking that question to the FSF not WP.

    4. @James Beardmore:
      Again, just because they claim the GPL, “there is NOTHING that requires WP/Automattic to ENFORCE the GPL”.

      It’s actually better for WP if they don’t enforce it. You can catch more bees with honey than you can with vinegar my friend.

    5. This. They already bullied all the other major premium theme developers into embracing GPL, why can’t they just rest on their laurels and leave this guy alone?

      If I were in the market for a premium theme I’d look at Thesis before I looked anywhere else, purely because they’re casting it as such a major threat to all its GPL-ed competitors. I’d be thinking: why do they care so much about this one theme when there are forty zillion others out there? What makes it so special that they have to launch this holy war against it? It must be much better than the alternatives if they’re making this much fuss. And so on. I mean, I could release a CC-BY theme tomorrow and apart from not letting it in the theme directory nobody would give a crap. All this debate does is make Thesis sound better and more important than every other theme that exists. It’s fabulously counter-productive.

    6. I don’t see why you don’t want the best of both worlds. That is, (1) attracting new business owners to drive innovation and evangelize WP, (2) maintain WP’s adoption of free source code that’s built by GPL compliant developers.

      Business innovation isn’t incompatible with the GPL. And I don’t like what the WordPress ecosystem would look like with our blessing of incompatible licenses. Have you seen DIYthemes’ license for Thesis? The only way I can describe it is blatantly hostile to the user. It tells them how they can use it. I don’t want a WordPress ecosystem where users pay for the privilege of having someone else tell them what content can go on their site.

      The GPL has users as a primary focus. That is also the primary focus of the WordPress developers. We’re stoked that businesses are profiting while developing on the platform, but that’s not the reason we make WordPress. So I’m not going to shed a tear about all the hypothetical businesses that would be developing on WordPress if only WordPress was okay with them binding WordPress users with their user-hostile licenses.

      Rather than position GPL as a requirement for plugins and themes (i.e. use of “the stick”) I agree with James that it would probably be better for all involved if WordPress instead offered “the carrot”

      It’s been 100% carrot until now. Every proprietary theme developer that has switched (and it’s most of them) did so not under threat of lawsuit, but because they thought it was the right business decision or they thought it was the right thing to do. And we’ve been promoting them as encouragement to others who were on the fence. The stick is a lawsuit. The stick has only been threatened, not actually used. And in between the carrot and the stick, there is persuasion. Rallying people isn’t a stick, it is bulk persuasion.

      Would Oracle choose to build on top of WordPress? Probably not[1]. How about Apple, Adobe, Microsoft, SAP, Intuit, etc. etc.?

      Microsoft has released WordPress plugins. They have a site and a blog dedicated to their WordPress development efforts. Ones of the reasons they listed was “smart business.”

      A quick search found this Adobe blog post pimping a plugin an Adobe employee had written to help WordPress users moderate comments (it communicates with a standalone Adobe Air app).

      Apple has used WordPress publicly in the past, and I had it whispered to me that they’re currently using it internally.

      I love that they’re using or developing on WordPress, but my position on the GPL is not influenced by that, and the lure of more big business involvement wouldn’t get me to change my position. It’s not about that.

    7. @that girl again

      Exactly.

      This is ALL about RESPECT as Mark pointed out but it’s not respect for the license as Mark so simply proposes. Matt Mullenweg and Mark Jaquith feel personally disrespected by Pearson’s comments and their too young and full of pride to man-up and work towards a solution like responsible adults. They’re all (Pearson included) shooting themselves in the foot by promoting this nonsense. They’re all backing themselves into a corner where they’ll be forced to take legal action. It’s completely childish and harmful to everyone involved.

    8. @Mark Jaquith

      Why are you writing this post?

      It makes no sense unless you are trying to drum up support to put the squeeze on Pearson?

      Why not man-up, be the bigger man and resolve the issue by agreeing to disagree like responsible adults should?

      Either that or you stop promoting this nonsense and file a lawsuit.

      Until then you make your case for the license appear VERY weak.

      The smart thing to do is drop it as everyone would benefit more for doing so.

    9. Why are you writing this post?

      It makes no sense unless you are trying to drum up support to put the squeeze on Pearson?

      Why not man-up, be the bigger man and resolve the issue by agreeing to disagree like responsible adults should?

      I wrote it to explain the position. There were a lot of faulty arguments floating around for why Thesis should be GPL, and I wanted to clarify my reasoning.

      Chris’ disrespect for WordPress as software doesn’t really bother me. I can only laugh at comments like “All [WordPress] does is deal with front and backend database rights and reads.”

      His disrespect for all the work that WordPress copyright holders have done is the issue. It isn’t an ego thing at least for me (it does seem like it is for Chris — read the Mixergy transcript).

      “Agree to disagree” means that we’d be turning a blind eye to Thesis’ blatant copyright violations. There are some thing you can ignore, but having someone violate your copyright (and flaunt it) is not one of them.

    10. @Mark “Business innovation isn’t incompatible with the GPL.”

      Correct, it absolutely isn’t. But like all salmon are fish but not all fish are salmon there are many businesses who cannot or will not be able to make a profit given GPL. That in large part was James’ point, I think.

      @Mark “And I don’t like what the WordPress ecosystem would look like with our blessing of incompatible licenses.”

      There are other ways than the stick to get people to support GPL; provide them value they can’t get with propritary licenses as James elaborated.

      @Mark “Have you seen DIYthemes’ license for Thesis? The only way I can describe it is blatantly hostile to the user. It tells them how they can use it. I don’t want a WordPress ecosystem where users pay for the privilege of having someone else tell them what content can go on their site.”

      Clearly Thesis is a bad actor in the community, but they are an outlier. Rather than target the entire community because of the behavior of an outlier address it different. Rally the community to build a “Freethis”; I’m sure many will help. That’d be a lot less user hostile than forcing Thesis customers to have to move to another incompatible theme if Thesis doesn’t switch to GPL. Remember most people don’t care about WordPress, they just want WordPres to meet their needs. This is probably an esoteric and annoying debate for 98% of WordPress users.

      One of the problems with the GPL is that we don’t have many serious companies suporting WordPress, only companies that started as design studios who grew into offering products to the WordPress community. What we don’t have are any companies (besides the obvious hosting companies) that offer anything for sale to WordPress users that have any other business besides supporting WordPress. And that’s probably because of the shadow that the GPL casts.

      @Mark: “It’s been 100% carrot until now.”

      Was Headway converted by carrot, or stick? My understanding (admittedly from hearsay) was that they converted because they didn’t want to be lynched in public like Chris was lynched (if I am wrong about this I’m sure Grant will correct me?)

      @Mark: “The stick is a lawsuit. The stick has only been threatened, not actually used. And in between the carrot and the stick, there is persuasion. Rallying people isn’t a stick, it is bulk persuasion.”

      I think you’ll find that the perception of “stick” vs. “persuasion” is completely dependant upon who is wielding said incentive. In less civilized times, at least in the US, said bulk persuasion was knowm as a “lynch mob.” You may not see how it comes across to those who are being “persuaded” but if they don’t want to be persuaded then I can guarantee you they see it differently.

      @Mark “Microsoft has released WordPress plugins. They have a site and a blog dedicated to their WordPress development efforts. Ones of the reasons they listed was “smart business.” A quick search found this Adobe blog post pimping a plugin an Adobe employee had written to help WordPress users moderate comments (it communicates with a standalone Adobe Air app.) Apple has used WordPress publicly in the past, and I had it whispered to me that they’re currently using it internally.”

      My bad, I should have been more clear; I meant “significant” contributions to the core. The anecdotes you mention are trival to the level of insignificant for the WordPress community at large.

      — Microsoft’s site[1] does not promote enhancements for WordPress, it’s frankly their desperate attempt to keep their platforms relevant in a world where WordPress runs perfect well on LAMP instead of Windows Server + IIS + SQL Server (and Azure) and increasingly doesn’t need their expensive platforms anymore. Microsoft doesn’t add anything of value to the ecosystem save allowing people to run WordPress on the Microsoft platform, which anyone who has every tried it knows is a real PITA (and this from someone who ran a business that revolved around Microsoft developer tools and their 3rd party vendors from 1994 to 2006.)

      — Adobe pimping a plugin that an employee wrote? I assume this is what you are talking about?[2]. This is one employee writing a trivial component to support something[3] out of Adobe Labs. Not exactly groundbreaking value for the WordPress community at large.

      — Apple has used it interally? How much good has that generated for the WordPress community? Has Apple contributed even one plugin to the repository?

      Your lack of significant contributions from these companies actually speaks volumes.

      @Mark: “I love that they’re using or developing on WordPress, but my position on the GPL is not influenced by that, and the lure of more big business involvement wouldn’t get me to change my position. It’s not about that.”

      Let me propose a different scenario from the three you quoted above. Let’s envision:

      — Microsoft decides to build a SharePoint alternative based on WordPress for smaller companies and sells for $99. And like with jQuery, they contribute back many of the generic components they develop to the community.

      — Adobe decides to build an advanced image management plugin for WordPress (something we badly need), offers it for $49/server, and they contribute some of the lower-level yet advanced image managment functionality back to WordPress.

      — Apple decides to offer a $49/server set of plugins that allow you 1.) to take pictures with your iPhone and have them immediately posted to your WordPress blog, 2.) to upload your iPod library info and listening history to your blog for display, 3.) a calendar component that syncs with Mobile Me, and 4.) A contacts module that allows you to use your WordPress site as a contact manager that syncs with Mobile Me. And Apple being Apple, they won’t contribute anything back to WordPress but at least they’d offer the paid software which is something we don’t currently have. 😉

      And none of these companies are likely to do any of this if they have to do it as GPL.

      BTW, this opportunity to embrace business needs is a natural evolution of a platform (at 47 I’ve seen the eb and flow several times in my past.) We are at the cusp with WordPress and now is there is a rare and huge opportunity to embrace more business interests, and even do it in a manner that is reasonably compatible with the values held by the community. Do it and WordPress will thrive far beyond what it is today. Don’t do it and WordPress will hover close to where it is until something willing to embrace business interests catches up.

      I fear your answer is that you don’t care about business. If so your view really saddens me because that would mean you’d be willing for the community to miss out on these benefits because of an belief in an abstract concept that doesn’t necessarily have to apply. I really think that being slightly less “black and white” on the issue and just a bit more pragmatically you’d see a lot more positives from the community than less.

      @Mark “The GPL has users as a primary focus. That is also the primary focus of the WordPress developers.”

      The GPL’s focus is on a selected set of users who hold a certain set of beliefs; not all users. The GPL actually has an ideology as its primary focus. I’m pretty sure if you could query a representative sample of WordPress users you’d find more would be in favor of commercial non-GPL solutions than for it.

      Note I’m not completely against the GPL; hell I argued *for* the GPL here[4]. But I’m a pragmatist who thinks every situation is unique and many deserve tailored solutions (IOW, I don’t just carry a hammer and think everything is a nail.)

      So I think the GPL rocks for WordPress itself and that is no question that the GPL it applies to anything in core. And Thesis’ copying of code definitely applies.

      But I question if it’s in the best interest of WordPress to exert community pressure on all themes and all plugins to be GPL (and you can see my opinions change over the course of this weekend in my comments as I learn more about the issue.) Forcing the issue will by definition forgo all potential investment from companies who will not invest in GPL. I am coming to believe that will be a huge opportunity lost cost for the WordPress community if the WordPress team persists with its crusade against non-GPL themes (and plugins.)

      @Mark “We’re stoked that businesses are profiting while developing on the platform, but that’s not the reason we make WordPress.”

      Good point. It would probably be helpful for everyone involved in this debate for you to spell out explicitly what the reason is you make WordPress so that everyone potentially involved can make their own decisions if their goals are parallel or counter to yours. (I have found over my years that the two main things people fight over are resources and incompatible values. Without “laying our values on the table” we all will just constantly argue past each other.)

      My goals and what I value? I’d love to see WordPress become a *defacto* platform for apps on the web. We’d see all manner of businesses built on it as a platform and give us functionality and features we could never have without a “standard” platform, i.e. when we were in a world of custom web apps or CMS with <2% marketshare.

      Said a simplier way, I'd like to see WordPress become the web software equivalent of the 2+1 pronged electrical outlet standard that we have in the US (maybe Joomla and Drupal would be like what they have UK and in Germany, respectively. 🙂

      If we can achieve this level of business support then we as WordPress users will experience orders of magnitude more choices than we see today. But we'll never achieve that if profit-focused businesses cannot invest in the platform with any resonable expectation of protecting their core functionality from direct competition and if you can filter out all his bluster that appears to be Chris' main issue with the GPL.

      FWIW.

      -Mike

      P.S. Yes some smaller businesses can make a profit with GPL, but only with a very small number of business models which doesn't a thriving economy make.

      [1] http://wordpress.visitmix.com/
      [2] http://forums.adobe.com/thread/472135
      [3] http://labs.adobe.com/technologies/wave/
      [4] http://nathanhangen.com/blog/mullenweg-gpl-marxist-utopia/

    11. The GPL’s focus is on a selected set of users who hold a certain set of beliefs; not all users. The GPL actually has an ideology as its primary focus.

      No, the focus is on all users who use GPL software. It grants them unlimited rights to use it. That’s the point. Read Mark Pilgrim’s Freedom 0 post (which is what tipped the scales for me in favor of WordPress instead of something proprietary like ExpressionEngine).

      It would probably be helpful for everyone involved in this debate for you to spell out explicitly what the reason is you make WordPress so that everyone potentially involved can make their own decisions if their goals are parallel or counter to yours.

      Per the bio on markjaquith.com: “My personal goal is to bring intuitive, low-cost web publishing to everyone who has anything to say.”

  46. Outstanding write up Mark.

    One question, which is more just thinking out loud…

    If a template was created with it’s own functions and API’s that could be used by theoretically any PHP powered application, could that template be a different license than say, the bridges required to make that template function within the PHP applications using it?

    So I make a template called “Foo” and say it works with Joomla, WordPress, Drupal, and phpBB. To make this template work, you would need a bridge to wrap Foo’s functions to WordPress’s functions. Can “Foo” be a difference license, even though the bridge would need to be GPLv2?

    I realize the silliness of this question, since the amount of work it would take to do this would be huge and most likely not worth the time or effort, but thought I’d ask since we have lots of eyes and opinions here. 🙂

    1. Exactly correct, and it wouldn’t necessarily be a lot of work. Let’s take existing examples included in WordPress core and wrapped for use in WordPress:

      – SimplePie, Services_JSON and the Inutio XML-RPC Library are BSD licensed.
      – PHPMailer, Snoopy, Text_Diff, and CodePress are LGPL licensed.
      – SWFObject and ThickBox are MIT licensed.

      Plus there’s are even more self-contained libraries included with WordPress that are not GPL licensed and including them does not “infect” them with GPL in any way.

      So it’s not an issue of it taking that much more effort to code, it’s a matter of are you creating independent functionality that can be called by any PHP application. If you are, then writing a plugin or theme wrapper would be completely reasonable and not take “extra time” nor would it “infect” the code with GPL (with the caveat that reasonable people can still disagree if plugins or themes are actually required to be GPL licensed or not.)

      Of course if you had something that was nothing more than a WordPress add-on (i.e. a widget showing top posts) then you’d clearly be coding separate functionality in order to sidestep the issue.

      P.S. Of course, IANAL so this is all just my opinion. 🙂

    2. @Mark Jaquith:
      Are you opposed to agreeing to disagree with Pearson? Can you rise above your feelings to resolve the issue with Pearson if he agrees to disagree and promises to halt all harsh comments related towards the issue and apologizes?

      I challenge you to address my question:
      “How are you QUANTIFYING the number of new business owners that choose NOT to develop on WP because of the GPL?”

      Enticing people to adopt the GPL (via inclusion into premium theme directory, etc.) is better than forcing them to adopt it. Again, you’ll catch more bees with honey than you will using vinegar Mark.

    3. @Mark Jaquith

      Here’s another challenging question:

      If you don’t ENFORCE the GPL what’s the worst that could happen?

      Say you agree to disagree with Pearson and you add more benefits to going GPL. Why isn’t that a better solution than slinging mud and threatening lawsuits?

    1. @James: “If you don’t ENFORCE the GPL what’s the worst that could happen?”

      Worst case scenario is that WordPress can be taken to court for contributory infringement. By publicly stating that a theme has breached the copyright license, publicizing said theme through multiple public channels, then not doing anything about it, WordPress leaves itself exposed to risk.

      The only people who can take action against an apparent breach of the GPL are the copyright holders. Every person who has ever contributed code to b2 or WordPress, whose code still exists in the core (or which was modified but not completely eliminated from the core) is a copyright holder. So, if one of them takes issue with the GPL not being enforced they have the right to take action against both the theme developer AND WordPress for contributory infringement.

      Caveat – IANAL, but that’s my understanding.

    2. @Elpie

      Who in their right mind would spend the $ to do that? Nobody.

      The benefits are practically nothing. It would be tied up in the courts forever anyway.

      The court of public opinion can be much worse than any legal decision that’s handed down.

  47. Mike,

    Including GPL compatible but not GPL libraries in the creation of an application (as a builing block) is a very different thing than extending a GPL application. Only GPL compatible libraries can be used in a GPL application because they can redistributed under the terms of the GPL without violating their licenses. All of those licenses allow users to run, study, share and improve their code just as the GPL does. What they don’t do is require that distributors give the same rights to those receiving the code.

    1. @Elin: “Including GPL compatible but not GPL libraries in the creation of an application (as a builing block) is a very different thing than extending a GPL application”

      You are correct, and I didn’t write anything to the contrary.

  48. @John James Jacoby
    I’ve been doing this for some time and, while creating a bridge is time-consuming initially, it has some real benefits in time-savings further down the line. Sometimes it’s the only practical way to build a unified output & appearance for a site.

    A bridge may or may not need to be licensed under the GPL. It’s wise to use GPL if it contains a lot of reused code. However, because the original code you write is all that is used in the theme/template you can then license the theme in any way you like.

    @Mark – good article but while it makes the WordPress POV clear, it doesn’t settle the GPL debate. To be fair to everyone who takes sides on this issue, I don’t think arguments over GPL v.2 can ever be satisfactorily resolved. One of the reasons for this is that GPL v.2 is subject to different legal interpretations depending on jurisdiction. Open the debate in an international convention of IP attorneys and you will not see them reach any consensus. The GPL is a copyright license and must be interpreted along with the overarching copyright laws of the jurisdiction the work is distributed to.

    The argument that all WordPress themes must be GPL because of x,y,z is interesting, but not law. You can find just as many arguments (some even made by lawyers) saying that simply linking to an API or including unmodified code does not create a derivative work and is therefore not required to be licensed as GPL.

    Anyone who distributes themes or plugins should seek legal advice for their jurisdiction and any others they may distribute their code to.

    The GPL argument for WordPress is harder because it just cannot be an absolute. WordPress is distributed worldwide & American developers getting legal advice that is applicable to the US, over a copyright license that was written for US law, cannot be expected to understand how the license will be interpreted in other countries. All WordPress can do is say how it will enforce it’s license.

    That’s the real kicker, because the WordPress GPL is NOT being enforced.

    Continued GPL arguments are the bane of any FLOSS app that has been licensed under the GPL. They will continue to be so as long as people waste time and energy arguing, instead of focusing on what the GPL intended to achieve – free code with no ownership. If the goal of WordPress is to be the most-used, most popular, blogging platform in the world with a reach of millions then why is anyone getting knickers in a twist over Thesis? It reaches how many? A few thousand people? Pfft – peanuts and completely irrelevant to the majority.

    Unfortunately, taking Pearson/DIY Themes to court would only settle one thing – whether Thesis breaches the copyright license. Unless other themes use the same code in the same way then any judgment is irrelevant to other themes.

    I personally see ongoing GPL debates as destructive to open source communities and I’m not sure anything has been gained by WordPress developers engaging in yet another one (or is this the same one that’s been going strong for the past three years? I lose track ;))

  49. What burns me up about this whole thing is the public flaming and an unwillingness to act.

    This needed to be kept between the two parties, instead of making it public, where everyone drums up support for the side they are on.

    It is a very simple issue to resolve. Matt needs to enforce the license or just shut up. If Pearson is in breach, then take it to court. But that goes for all others breaching this license.

    As for the pricing structure of Thesis, I don’t hear anyone complaining about Semiologic’s(Denis de Bernardy) outrageous price for his theme($295 to purchase and the $175 a year there after to receive upgrades). And Semiologic is also in breach of the WordPress license. Or is it because Denis is an outstanding coder, who always helps WordPress by cleaning up all the bugs to make it work, because(notoriously) it was released to early? It was he who cleared up over 400 bugs, by himself, in the last bug squash marathon.

    This whole sordid affair can be fixed easily. Either enforce the license, or shut the hell up.

    1. And Semiologic is also in breach of the WordPress license.

      As long as I’ve been aware, Denis has sold Semiologic Pro under the GPL. When he launched it, Matt Mullenweg linked it in a WP-Hackers post and then wished him luck. Some people brought up questions about his right to charge money, and I set them straight.

      Matt needs to enforce the license or just shut up. If Pearson is in breach, then take it to court.

      He says he’s working on it.

  50. Thanks everyone for the discussion. Really impressed with its mostly respectful tone, and we covered a lot of ground here.

    I need to get back to my family, so the conversation will have to continue elsewhere.

    P.S. Go see Inception — great movie!

Comments are closed.