GPL and the Wordpress x Thesis theme issue (Why Chris is right)
fseek.meIt looks like quite a bit of GPL code is used in Thesis http://drewblas.com/2010/07/15/an-analysis-of-gpled-code-in-...
looks like one api function is used with normal naming
For some historical context: The debate over whether using the publicly advertised functions of a GPL library makes your code GPL too is an old one, the best and early example of this was the CLISP v.s. FSF debate, which the FSF won: http://clisp.cvs.sourceforge.net/viewvc/clisp/clisp/doc/Why-... in particular Stallman said:
I say this [that using the readline API makes your code GPL too]
based on discussions I had with our lawyer long ago. The issue
first arose when NeXT proposed to distribute a modified GCC in two
parts and let the user link them. Jobs asked me whether this was
lawful. It seemed to me at the time that it was, following
reasoning like what you are using; but since the result was very
undesirable for free software, I said I would have to ask the
lawyer.
What the lawyer said surprised me; he said that judges would
consider such schemes to be "subterfuges" and would be very harsh
toward them. He said a judge would ask whether it is "really" one
program, rather than how it is labeled.
Later, Linux under the direction of Linus Torvalds did the opposite
the other way by looking the other way when nVIDIA and others
distributed binary blobs that directly interfaced with the
kernel. Some people now point to this as an example of why this sort
of thing is just fine by the GPL, but in fact it's a very grey
area. It's likely that if the Linux kernel had been run by the FSF
that nVIDIA's actions would have resulted in a lawsuit.However, as pointed out by others this doesn't appear to be a case of using a public GPL API at all, but rather case of code being copied. See http://drewblas.com/2010/07/15/an-analysis-of-gpled-code-in-... specifically this comparison: http://drewblas.files.wordpress.com/2010/07/diff.png
Regardless of whether or not Thesis and other WP themes are actually legally required by the GPL to be distributed only under the GPL, if one believes at all in the concept of copyright, it's ethically, if not necessarily legally, important to consider the intentions of the developers of WP in using the GPL.
It's clearly the case that both Wordpress and the FSF believe that programs which link or include GPL-ed works are derivative works. Even if they're wrong, isn't it somewhat unethical to agree to an agreement and then violate what the other side of that agreement have told you from the beginning they believed it means?
It's hard to judge this without understanding how a theme integrates with WordPress and I suspect the author of this post thinks this is just a mater of calling an API or two.
The way it works is by overriding the behavior of WordPress, both integrating in internal filtering of input/output, reacting on actions/events, integrate with the admin interface of WP and calling APIs.
If this is not a derivate work, nothing is.
Though I'm not familiar with Wordpress and it's theming system, this argument has indeed puzzled me. This article is spot on: why would a theme be beholden to the software's license?
That said, maybe Wordpress themes are much different than normal themes, and are much more tightly coupled? That WP would pursue this if not puzzles me.
maybe Wordpress themes are much different than normal themes, and are much more tightly coupled?
They can be made to be tightly coupled, but they're not necessarily intended to be. A lot of themes override core WordPress functions via a functions.php in the theme root directory. You don't have to include any core WP code in your theme, but WP provides an easy way to do it if you need to.
That WP would pursue this if not puzzles me.
IMHO, Mullenweg comes off looking like a brat in this whole mess. Regardless of the legality of the whole thing, this seems to be a straddling-the-line kind of situation, which makes it feel like there's some kind of ulterior motive at play.
Edit: This link from elsewhere in the thread totally changed my opinion. http://drewblas.com/2010/07/15/an-analysis-of-gpled-code-in-... Seems like Thesis should pretty clearly be GPL.
I was unconvinced by that one, if only because I don't really agree that just because it calls your functions, it's a derivative work.
I feel like interpreted code is pretty hard to make derivatives of, honestly, though it seems like a fairly large number of people agree with you on this one.
> Why would a theme be beholden to the software's license?
Well, because there is WP PHP code in it. Once you do that you become a "derivative" and you take the license.
> why would a theme be beholden to the software's license?
A theme is not beholden to the software's license. However, Thesis is more than just a theme.
I just wanna point out that Matt Mullenweg used to have a much more logical, awesome, and superior stance before he decided to go all Richard Stallman on the non-GPL developer community.
To summarize:
Thesis integrates with Wordpress, it is not derivative from it. Same way Linux modules integrate with the Linux kernel (and many of them are closed source).
If someone is using a public/open API, and not distributing any part of the software, it means they are not based on the other.
The comparison with Linux modules is problematic. Many people consider Linux proprietary modules illegal.
See for instance: http://www.oreillynet.com/linux/blog/2006/08/why_binaryonly_...
If that API is under the GPL then isn't use of it a derivative work? If the API is a GPL implementation of a standard API, e.g. the JDBC API, then it wouldn't be a derivative work, not sure if Themes call a wordpress specific API or not though.
I think that's a great question, and one that could probably spawn a ton of interesting legal/logical arguments.
At what point does dynamic linking make something a derived work - and how is dynamic linking fundamentally different, than, say, a remote procedure call (or SOAP or REST or whatever) over a network? The interface is different, but the principle is the same.
Also - the GPL does state that it's okay to link against things that are "standard parts" of the target system....
Realize you posted this before the above post was made, but apparently thesis is using Wordpress code, and not just the API.
http://drewblas.com/2010/07/15/an-analysis-of-gpled-code-in-...
Ahh. Well, nevermind my other comment in this thread. If he's ripping off WP core code, then yes, Thesis should definitely be GPL'd.
Isn't this whole issue why the LGPL exists?
That depends entirely on the goals of the original author (Matt and the Wordpress team, in this case). Judging from Matt's reaction, I suspect the LGPL would have produced the opposite result they were looking for.
You miss the point. The LGPL was created to allow people to do what Chris wants to do. The GPL was created to prevent people from doing the same. If Chris is actually right, the GPL and LGPL are equivalent. In that case, damn! I should have used GSL instead of rolling my own numerical methods for a closed source project. And I should sell a GUI frontend that links against GNU Octave.