Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

To put it like this:

I have created a WordPress theme for myself which consists of the following:

  • PHP code - GPL v2 licensed like WordPress
  • CSS files - All rights reserved
  • JS files - All rights reserved
  • image files required for the theme - All rights reserved

As far as I understand I can copyright all non PHP files in the theme, so my question is:

  1. Does this licensing scheme (for file groups) violates the WordPress license?
  2. Do I have to publish the PHP code of the theme so it is available to everyone?
  3. If I were to make a WordPress powered website with my theme (with the same licenses as above) for someone else (who pays for the service), do I have to publish the PHP code of the theme so it is available to everyone, just the buyer, or anything else?
share|improve this question
This may be a silly question for some, but I am lazy and impatient to understand all the "legal" of all licenses I encounter, so all help from someone who already went trough this is very helpful. –  Miljenko Barbir Dec 21 '10 at 21:21
(You have copyright to your PHP files too, but you'd need to license them under GPL vX.) –  KajMagnus Jun 3 '12 at 7:06
add comment

4 Answers

up vote 7 down vote accepted

Does this licensing scheme (for file groups) violates the WordPress license?

No, only the PHP code needs to be GPL'd. A popular example is Thesis: http://mashable.com/2010/07/22/thesis-relents/

Do I have to publish the PHP code of the theme so it is available to everyone?

You don't have to publish it if your intention is to use the theme only for yourself. The GPL licence applies only when you distribute the theme to others.

do I have to publish the PHP code of the theme so it is available to everyone, just the buyer, or anything else?

Just the buyer.

share|improve this answer
You need to make it available to just the buyer, but under the terms of the license the buyer is free to redistribute it to anyone. –  ShreevatsaR Dec 22 '10 at 9:42
@sorich87: As for the PHP and other code, even only partially based on derivates, it's not that easy. According to the license: If the theme is distributed as one work even non-derivate works are made part of the whole work which contains GPLed (PHP) code, then "the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it." - §2 / gnu.org/licenses/gpl-2.0.html#section2 -- you can circumvent that by using physical media in distribution (as for GPL2). –  hakre Dec 22 '10 at 17:28
@hakre: I don't understand how I can circumvent the "that" by using physical media in distribution. Can you explain please? –  Miljenko Barbir Dec 22 '10 at 20:18
@Miljenko Barbir: Basically this is written in the license text and because media is of physical nature. Only placing multiple files next to each other on media for distribution does not mean they form one work. In contrast to actually form one work under copyright for distribution in which it contains some GPL'ed part, the whole work needs to be distributed under GPL even if it contains works that are not derivates. See §2. The way of distributing things makes a difference. I just wanted to point to that in specific. –  hakre Dec 22 '10 at 20:32
@Miljeno Barbir: It is as important as everything else in the license. For the "Just the buyer" I'm pretty sure sorich87 was refering to this part: "... any work that you distribute or publish ... to be licensed as a whole at no charge to all third parties under the terms of this License". Third party is the buyer or any one else who perpetuate the license (first party was the distributor of the wordpress package, second party the theme author). –  hakre Dec 22 '10 at 22:24
show 3 more comments

A: 1. Does this licensing scheme (for file groups) violates the WordPress license?

I'll try to answer that below as it is not that easy.

A: 2. Do I have to publish the PHP code of the theme so it is available to everyone?

As you wrote that PHP code is licensed under GPL you need to go conform with the license. In §2, §3 you can read about the different forms (there are three) to pass along the source code of your work with the work. Its not that you need to make it available to everyone, just to those who you pass your work to and for a certain amount of time.

A: 3. If I were to make a WordPress powered website with my theme (with the same licenses as above) for someone else (who pays for the service), do I have to publish the PHP code of the theme so it is available to everyone, just the buyer, or anything else?

That's basically the same as your second question. §§ 2,3 of the GPL should contain most you need to know about how to pass the sourcecode with your work. As you license the PHP under GPL, the GPL applies. Please read both paragraphs in full and compare it with the analysis of the SFLC.

A: 1. Does this licensing scheme (for file groups) violates the WordPress license?

This can't be said that easily because it's not based on the file-type but on the license terms. I try to explain why. A key point is the type of work in the meaning of being a derivative work under copyright law and how you distribute your theme.

I first concentrate on the derivate topic.

Wether or not your theme - in full or in part - is a derivate or not depends on the work or the works in concrete.

The suggestion given that PHP falls under GPL but CSS and Images do not (to which as I assume you refer to somehow when I compare that with your file-type sheme) is more a generic one on wordpress.org. It might well apply to the concrete themes it was given about, but in the end it always depends what you are creating as things can differ with your theme. I make this differentiatioon beause I think it's valid and to ensure if you read that document that you can understand the scope of it.

And additionally, it's also a easy explanation why it is not possible to answer your question with yes or no. You just didn't provide enough information. And, in my opinion, doing so would not work well with a site like this one. But let me share my thoughts just AS-IS.

I'd like to motivate everyone to learn about the rights they have with free software. Wordpress is GPL, so read the license terms that ship with wordpress first, because those define which rights you have with the software. It is a kind of contract you can accept to gain usage rights under that license. You find it in a file named license.txt that is part of the wordpress package you have downloaded as well. Just to proof that it is actually the license text of the wordpress software package.

I also assume that you like to distribute your theme. Because if not, well you do not need to really worry about the GPL. Most of it only applies if you distribute, copy or modify the code. So I assume you want to redistribute your theme and you therefore tell others about your theme and you pass files.

If you next to wordpress based your theme on some other works, please see the license terms of those works and learn if all licenses in your work are compatible to each other as well. Depending on how many "sources" you have, this can be quite some work. But do it first, because you really benefit if you know your ingredients. As I don't know about that for your question, I continue on wordpress license only which is the GNU GPL as your theme might be a derivate work of wordpress. And you wrote it yourself, at least the PHP you want to consider being licensed under GPL.

Regarding derivate, there are two fragments in the license I find worth to quote for the moment:

1.) The GPL license applies to the work (wordpress plus most certainly the theme you based your theme on if any in concrete) itself "and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you"." (in §0).

What is a derivate and what is not? This is defined by copyright law. It can be only decided based on concrete works, here your theme and in context of the software you potentially based it on. And if you read the suggestion given on wordpress.org, it is based on concrete themes as well: The “classic” and “default” themes included in 2.8-RC1.

The question what a derivate is or not can be problematic, as it can make the difference. But keep in mind, that there is a very positive side: If you are sure that you created a derivate, you have actual usage-rights for it already because of those licensing terms.

2.) If you didn't made a derivate in the sense of copyright? This is the other case. The license differs for non-derivate works, which are basically works on their own: "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." (in §2).

To make this visible to the fullest extent: If the CSS and Images of the wordpress package would not have been licensed under GPL as they could be independent works as the SFLC suggested, then you need to contact the copyright holder regarding usage rights of those works prior use.

This is hypothetical, I only write it for demonstration purposes. In fact, everything in the package made by the WordPress project is licensed under the GNU GPL as most of the core developers do not get tired to announce. So if you based your work, be it PHP, images, or CSS some GPL'ed works, then you actually need to license them under GPL as well.

Only if you can divide the work reasonable into works on their own, you can decide for those works. With an exclusion: If you you distribute explicitly a work as a whole out of a GPLed derivation and additional works that can stand on their own, all works fall under the terms of the GPL. If you distribute them on their own, this is not the case. §2 is about that case as well and this is done "to exercise the right to control the distribution of derivative or collective works based on the Program". If you feel this is unfair because it's related to your works, just read the paragraph in full, because it's possible to distribute multiple works along with each other w/o the need to trigger this. But you should understand as well the intention of the license. Otherwise you can not actively make use of the GPL for your software. So don't think too much if you must do something, but turn that over into something that you want to achieve and look for tools that are helpful for your aims.

To come back to derivate or not. Both is possible: If you created a work reasonable on your own, it's not a derivate and the GPL does not apply regardless in which language a file is written or which type it is. You own all rights because it is your work in full, so you can reserve all rights to your own. Or as you wrote it in your question: All Rights Reserved.

If all files are a derivate of some GPL'ed software, then you need to conform with that GPL for all.

As you can see, the actual file-type in your theme is not what makes the difference, but the actual licensing.

With that in mind, it's quite well understandable why the wordpress plugin repository accepts themes only which are licensed under GNU GPL in full: As you must decide about the derivate character based on every concrete work, this would mean it must be decided for every theme on its own. This is not practicable at all, therefore a simple solution is to license everything under GNU GPL or a compatible license. Problem solved. This can make sense for your own themes as well, regardless if they are commercial or not. The additional benefit is, that every user who knows the GPL - which is the most popular free software license by far - automatically know about the rights he or she has. That's really great, not only as it saves you a lot of time to re-read software licenses again.

The best practice I can suggest in case you are unsure of what your rights with a work are is to contact the copyright holder(s) of everything non-trivial originating of your work and ask before use. Most often this solves a lot upfront and you can defer the details later. Openly talking with copyright owners has a lot of benefits. In case this does not turn out well, you can refer to your rights you have by general law / code civil or however you name it, regardless of the copyright holders opinion anyway. I just do suggest to talk first before taking the legal route. That's because once it is an issue between lawyers, you most often can not go back to "non-lawyer" mode that easy. Most often this step is a one-way route.

In my opinion theme authors should first read the license and then think about whether or not they really want to make use of or even contribute to a project. Decide what's in for you. Next to the license of wordpress and as long as you need to go conform with Matt Mullenweg's opinion, I think you can safely refer to the analysis by the SFLC for the moment (linked above). It's at least a decent legal opinion you get for free and you can transparently refer to. The folks @ SFLC know the GPL quite well to say at least, and even if you disagree in opinion, I'm pretty sure that it was not given to please because of personal preference. But keep in mind, that the SFLC wrote the analysis in a specific context. For example, they were told by Matt that wordpress is licensed under the GPL v2. That's not fully correct. It ships with the GPL v2 licensing terms, but you as user of that package can choose freely a version you see fit (according to the license text in §9) which adds more variance. And keep in mind, that the analysis was done regarding two concrete themes. You can however to a certain grade make assumptions based on the argumentation given. But first you need to understand what this is about.

And keep in mind (as others have answered as well) that as long as you don't pass along your changes to anybody else, the license of a GPL'ed program enables you to use it quite unrestricted. As in my general suggestion, read the license file in full first.

And now to make this even more complicated:

Passing your work to others might not be always subject to terms given by the original copyright holders, as there are special rights for special cases in copyright adoption, like so called fair-use in the US which naturally applies to GPL'ed software as well if you are subject to US law (but please contact the original copyright holder first and clarify if your use is under fair-use as the US copyright office suggests, because fair-use needs to be decided on the concrete use-case - not the type of work). And there are other circumstances like it's not you who creates copyrighted works but the one who is commanding and paying you is. If so, that entity needs to deal with licensing issues, not you. In that case you can't reserve rights either. But all these things heavily depend on copyright laws in your country and really is a detailed area. You should contact a lawyer if you plan to rely on anything like this, because most broad statements you find in the internet about it are mostly informative only and it can not be said if they apply to you. There are just too many variables, that even lawyers in their articles point to that.

So probably two more useful suggestions: Either contact the original copyright holder and clarify the terms of use if you are uncertain. Or get legal advice from a lawyer who has knowledge in the field of copyright and software licensing.

But don't expect too much. I doubt a serious lawyer would take any risk for you in a wordpress add-on thingy, because the licensing situation of the project is quite fragile. There are too many open questions, so a lot of the risk is on your own shoulders as long as you have not clarified this with the copyright holders.

If you ask me for a personal advice: As long as you distribute your code, expect it to be a derivate for the PHP part at least. Look for what you want and can share under the GNU GPL and stick to that license as the main project is based to it. Because the more terms you introduce, the more complicated this gets for your users which might expect your theme to be GPL in full because they know about the wordpress license, and your theme is only a small part of the work they use. And in the end it can be more beneficial for you to be openhearted then to get angry of those who will break your license whichever one it is.

IANAL, so I can only give personal suggestions you can't rely on as specific legal advice. So what do I do? I just publish my themes under GPL or compatible in full when this is Wordpress related for friends or customers. What drives me is that together you get better results. It's just that you can't get there alone.

I can understand that theme authors are actively looking for revenue of their work, but as long as you didn't wrote the whole software, you should respect the work of others. Not to say, that you should know your rights and make use of them to the extend you decide.

To learn about how to achieve GPL compliance, this document might be of use for you: A Practical Guide to GPL Compliance.

share|improve this answer
add comment

The key word in the GPL is "distribute to". If you haven't distributed your theme to me, I've no right to see the slightest bit of its code.

If you give or sell it to me however, I'm entitled to the (php) source; and I can redistribute it as I see fit.

share|improve this answer
Yeah right, theoretically :) Look at woothemes, rockettheme etc... they don't give a rats ass about GPL rules... –  onetrickpony Dec 22 '10 at 4:46
@Denis: There might a a slight differentiation to this. The original author might not have distributed the theme to you but you got it from someone else. IIRC this entitles you to get the source from the original author. For PHP files this does not make much sense, so this is more for the sake of clarification. –  hakre Dec 22 '10 at 12:55
@hakre: That's only partially correct. If, say, A writes GPL code and distributes it to B, then B is fully entitled to license it to C under the GPL. If, however, B grabs the code without A's consent, then B has absolutely no right to license it to C under the GPL. Again, the key word is "distribute to". –  Denis Dec 22 '10 at 15:04
@Denis: IIRC the GPL does not talk about willing or unwilling distribution but only about distribution. So I'm not sure if that would be really an issue if the code in question is licensed under GPL by A. If it's not licensed under GPL (e.g. by creating a derivate that contains incompatbile code), then B can't re-license it under GPL. That's right. But if it's GPL, it should be okay for distribution as long as higher rights have not been harmed in the act. So to say: I expected all distributions to be in consent in my example. –  hakre Dec 22 '10 at 16:27
I personally don't care much if I sell the theme to A, and A sells it to B (both under the GPL). I got paid for my work, I "got" WordPress and made my theme because of what the GPL stands for. If a person B is to sell it under GPL it is only fair... As far as I care. Point of my question was all the hustle of making all of my code "public", and apparently I don't need to do this, I only need to publish it to the buyer under the GPL. –  Miljenko Barbir Dec 22 '10 at 20:28
show 1 more comment

GPL only applies to distribution of a product.

Since you're creating the theme for yourself and not distributing it (for free or otherwise) to anyone else, you're in the clear to use it however you want.

However, if you do publish your theme, list it in the theme repository, or sell it, then all PHP code must be licensed in a fashion compatible with version 2 of the GPL. This is because themes are, in fact, derivative works based on WordPress itself.

As I said, this is if the theme is just for you ... if the theme is for someone else (whether they pay you for it or not) you must extend to them the same rights you had while working on the software - i.e. you must grant them permission to develop derivative works and redistribute their wares to others.

share|improve this answer
in fact irked me, so... :) While themes being mandatory derivative of WordPress is an opinion highly propagated by WordPress core team, there are other opinions on the subject and there is no legal basis to support any of them. PS no need to tell me how wrong I am, heard all that from Matt already. :) Still not convinced. –  Rarst Dec 22 '10 at 7:20
@Rarst: Indeed, what a derivate is or not, is defined by copyright, not by the WordPress project. The GPL is explicitly referring to derivate in this copyright sense. So this is a case that needs to be decided on the work itself (here: the theme). The suggestion given on wordpress.org is a general good approach to the issue. In concrete, you should always ask the copyright owner(s) prior use first. E.g. if you modify the twenty ten CSS text published under GPL, you need to put your CSS under GPL as well. –  hakre Dec 22 '10 at 12:51
@Rarst, I agree there is some gray area here and a lot of disagreement over which parts of GPL enforcement constitute opinion and which parts constitute fact. Whenever I try to answer questions regarding the GPL, though, I try to tread as carefully as possible. If it turns out that themes are not "derivative" and be licensed otherwise, no harm done. If it turns out they are and I've suggested otherwise (and people have followed that advice) then both I and those who followed my advice are in trouble. Better to be safe than sorry. –  EAMann Dec 22 '10 at 13:57
@EAMann yep, I agree completely that sticking with GPL is solid and safe approach. I just don't think it's much of a fact that it is single possibility. :) –  Rarst Dec 22 '10 at 14:05
@EAMann: GPL applies to copying, distribution and modification (and there is more), that's not distribution only. Saying it applies to distribution only is wrong. gnu.org/licenses/gpl-2.0.html#section0 –  hakre Dec 24 '10 at 2:59
show 1 more comment

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.