Hacker News new | ask | show | jobs
by powertower 3976 days ago
The last time I looked into the WP theme GPL issue, by some of the mentioned logic, every PHP script ever written and distributed would end up being a derivative work of the PHP engine.

One way to get around some of it, is to use WP as a data store and management layer, with your own 2nd layer on top of it, that does use WP's functions to pull that data out, but is not a theme that has to be installed nor activated.

Which is a actually what I've done with my website - but that's not why... It's basically a mini-cms that first checks the file system for the page, and if not found, calls into wordpress.

3 comments

> The last time I looked into the WP theme GPL issue, by some of the mentioned logic, every PHP script ever written and distributed would end up being a derivative work of the PHP engine.

Running code through an interpreter or compiler has never in the past been held to create a derived work under the GPL. Linking with a library is pretty much the definitive example of what the GPL views as a derived work. I'm not sure how you see this case as particularly odd.

> Running code through an interpreter or compiler has never in the past been held to create a derived work under the GPL.

That's true, but the article mentions an interesting twist that might not be so clear. The key statement (which, AFAIK, is a direct quote from the FSF) is: "Subclassing is creating a derivative work." In certain programming languages (Java is the example given in the article), you can't write code without subclassing one of the classes built into the language (in Java, you have to, at a minimum, subclass Object), so if subclassing is creating a derivative work, you can't write a program in such a language that isn't a derivative work of the language. Even in languages that don't force you to subclass to write a program at all, there can still be a large set of programs that can't be written without subclassing (for example, in Python 3 any time you use the class statement you are subclassing, at a minimum, the built-in object class).

I don't think the FSF's intent was to make any Java program a derivative work of Java, or any Python 3 program that uses the class statement a derivative work of Python. But if so, they need to qualify their bald statement about subclassing being a derivative work.

But as noted above, python is not copyleft.

The (now obsolete) GNU implementation of the java class libraries was GPL licensed, and had a special exception just for this, called the "classpath exception": http://www.gnu.org/software/classpath/license.html

The Sun Java implementation was not GPL until 2006/2007. And since Oracle successfully sued Google for making its own compatible function prototypes and class definitions and such ... well I'll agree that the java situation may in fact be a shitshow.

Also, did you know that the GPL has a system library exception? So you can legally dynamically link to OS X's libc or Windows' win32 as needed to run a normal process. https://www.gnu.org/licenses/gpl-faq.html#SystemLibraryExcep...

So really there's no language (except maybe sun's java, I dunno) where this is actually a problem.

You hit it on the head. IANAL, but I would argue that there are two good ways to go about arguing that a theme is not an infringing derivative work:

1. The parent class (more to the point, the interface which must be copied to be compatible as a theme) is not sufficiently specialized to be copyrightable in the first place.

2. Even if the code is derivative, the use and intent in copying is fair use because it was done to be compatible with the greater Wordpress system.

Sadly, because of the names involved (subclass, etc), I doubt that any judge without specific programming knowledge would rule that subclassing isn't automatically derivative.

My gut feeling is that those two idiots are on a collision course to sue each other. I'd say it'll be fun to watch the fireworks, but it's a bit hard to enjoy them when they're aimed at you.

It might, if PHP were distributed under a copyleft license that cared about such things. PHP is not (it's licensed under a BSD-style license [1], which permits redistribution under another license with attribution).

I'm actually having trouble finding an interpreted language (and accompanying standard library) that is licensed under a copyleft license. Python isn't (the PSFL isn't copyleft); Ruby isn't (it's dual-licensed under 2-clause BSD and a Ruby license that's their own); Perl isn't (it's dual-licensed under GPL and the Artistic License, with an explicit note by Larry Wall that scripts are not considered derivative works for GPL purposes).

[1] http://www.php.net/license/3_01.txt

Would guile [1] fit the criteria of a GPL'ed interpreted language?

[1] http://www.gnu.org/software/guile/

guile is LGPL, "dynamic" linking is allowed http://git.savannah.gnu.org/gitweb/?p=guile.git;a=blob;f=LIC...

(damn it's hard to find a reference to the license on the web site)

EDIT: found a related link; some extra/common libraries are also LGPL http://www.gnu.org/software/guile/gnu-guile-projects.html#Co...

With the WordPress API, you can do exactly that: http://v2.wp-api.org/

Which would completely decouple the front/back ends and therefore, you could have a separate license on each.

More importantly, if WordPress/Matt/Automattic wanted to fight that the entire API community would be on opposite side because of the implications.