Yet more on the GPL, WordPress themes, and the implications for MySQL storage engines
The debate I wrote about a few days ago over whether or not the WordPress theme called Thesis needed to be GPLed has been resolved in practice – it will be. More precisely, the parts that WordPress developers and the Free Software Foundation said need to be GPLed will be GPLed, while the rest won’t be, those parts being, in essence, the more “artistic” elements.
A consensus seems to have emerged that Thesis had actually copied beyond-fair-use amounts of WordPress code, which if true was Game Over. Beyond that, however, both sides of the strongly-viral-GPL debate scored some points.
- Public pressure, FUD, etc. in favor of the GPL clearly were successful.
- Mark Aquith carefully explained how tightly integrated WordPress and WordPress themes are. So we don’t necessarily have much of a precedent for more hands-off integration.
- Previous precedents were dredged up on both sides. More on that below.
- Once again, the claims about the GPL were not tested in court. Various open source developers and lawyers have stated their opinions as to what their rights are, but the courts were not given the opportunity in this case to (dis)agree on the core issue …
- … which everybody seems to be correctly agreeing is: “When is one software program a ‘derivative work’ of another one, in the copyright-law sense of ‘derivative work’?”
The pro-GPL argument on that last point would probably boil down, colloquially, to “Well, is it one program or two? If it’s one, then it clearly is derivative from the big part that’s copyrighted under the GPL. If it’s two, then the creator of the second one is home free — but c’mon, now, it’s really just one.” That, in turn, would be supported by Dan Weinreb’s point from a previous MySQL storage engine/GPL comment thread (which also has a lot of applicability to the WordPress theme case) — you really don’t want to make the user do two installs, so you really do want to include the GPLed code in your package. And by the way — so far the product packaging by the MySQL storage engine vendors* is in line with Dan’s observation.
*Infobright, Akiban, Tokutek, Calpont, et al.
One point I haven’t seen discussed much yet is this:
Suppose a MySQL storage engine vendor integrated with a forked, GPLed MySQL, and then didn’t obey the GPL. Who would have standing to sue them? It’s obvious that the developers of the forked MySQL would. But it’s not at all obvious that Oracle would. A derivative of a derivative of a copyrighted work is NOT necessarily a derivative of the original. (Think about it.) Unless Oracle could prove that the MySQL storage engine really did happen to be a derivative of MySQL Classic, I don’t know why Boogeyman Oracle would have standing to sue.
Finally, those precedents.
- A couple of comments on my earlier post point out that the Linux community tends to be pretty tolerant of proprietary code that links tightly into Linux. Oh, they may not like — but in most cases they neither do sue nor believe they successfully can.
- Wikipedia cites some cases in which the GPL has been successfully enforced.
- One of the earliest GPL controversies was over what sounds like a MySQL storage engine — Progress Software’s NuSphere, developed in connection with MySQL AB. Litigation ensued, and before the case was settled, the judge wrote “After hearing, MySQL seems to have the better argument here, but the matter is one of fair dispute.“
Comments
6 Responses to “Yet more on the GPL, WordPress themes, and the implications for MySQL storage engines”
Leave a Reply
[…] Monash at Monash Research pointed out some ongoing open source GPL issues for WordPress and the Thesis issue (Also […]
Curt, this and your prior thread on MySQL/GPL raise interesting questions. I will attempt to speak to some of the issues based on numerous discussions with some very well-respected IP lawyers.
On the definition of derivative work, the GPL itself is vague and inconsistent, but there do seem to be a few points of consensus among the legal experts. The first is that dynamic vs. static linkage is probably not a defensible argument in the “one program or two?” test. If the programs communicate across a network protocol, say through web service interface, then the coupling gets looser and confidence is higher. Even in the loosely-coupled configuration, however, there is a prevailing notion that programs exchanging “complex, non-standard internal structures” operate as a single unit.
The “non-standard” part of that argument relates to the point you raise about vendors who deliver proprietary solutions atop the Linux libraries. Since those are considered to be standard system libraries, programs that call them are not exposed to the GPL. In your prior thread, Barry Kiawans touches on this point, saying that he believes the use of standard interfaces like ODBC and JDBC offer good insulation from the GPL. There are some pretty good lawyers who would agree with Barry and say ODBC/JDBC are the RDBMS analog of Linux system libraries.
With regard to MySQL storage engine technologies, they 1) integrate with MySQL via an API that would probably not be considered a system interface, and 2) they exchange complex, internal structures. It seems pretty clear to me that MySQL storage engines are derivative works of MySQL. And I think the notion of wrapping the storage engine API with non-GPL’d code to create a GPL buffer is flawed – by definition the buffer code will be a derivative work, triggering flow-down of the license.
To your question of legal pursuit against someone who violated the GPL via a MySQL fork, I believe Oracle probably would have standing to sue as the original copyright holder. Again, I’m not a lawyer, but this would make sense to me. Oracle could alternatively ask the Free Software Foundation, which certainly does have standing to litigate open source license violations, to step in, possibly with Oracle underwriting the FSF’s legal expenses.
Looking up, I’ve just typed a lot of words! I hope some of them make sense and are additive.
Fred
Fred,
The point of the layer is to GPL part of your code, getting the original GPLed program to the point that the rest of your code can have a more APIish connection to the first (now altered) program.
Actually, that could be done either by adding to or subtracting from the original program, whichever made more sense. In the case of MySQL, it might be subtraction, using only the parts that provide connectivity to the rest of the world (BI tools and so on).
Curt,
You argue “I don’t know why Boogeyman
Oracle would have standing to sue”.
Oracle just happen to have plenty of
lawyers and enough cash to be able to
sue without standing. By the time the
dust clears there may be nothing left
of the company they sued.
Assuming rational behavior is clearly
unwarranted.
anonymous
As noted above, Oracle could fund somebody else’s suit. But the do have to find somebody with standing to back.
IANAL, and I’m not sure Oracle lacks standing. But if they lack it, they lack it.
And the deep pockets thing — e.g. through appeals to relitigate whether they have standing — could work on both sides of the case. Not everybody with deep pockets wants Oracle to have monopolist rights on a particularly popular piece of open source database software.
More Tips
Yet more on the GPL, WordPress themes, and the implications for MySQL storage engines | DBMS 2 : DataBase Management System Services