Wordpress - What does exactly GPL license mean for my WordPress theme?
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/
http://markjaquith.wordpress.com/2010/07/17/why-wordpress-themes-are-derivative-of-wordpress/
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.
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.
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.