views:

41

answers:

2

I'm looking at building a MySQL client plugin for a proprietary product, which would violate the GPL as discussed in the FAQ at http://www.gnu.org/licenses/gpl-faq.html#NFUseGPLPlugins

However, according to the MySQL FOSS License Exception ("FLE"), discussed at http://www.mysql.com/about/legal/licensing/foss-exception/, you can license an open-source product built with the client with many alternatives. The oursql library (https://launchpad.net/oursql) is BSD-licensed.

Is this a valid way around the GPL? By my reading of the FLE, the only clause that refers to downstream uses of derived works is section 2.e:

All works that are aggregated with the Program or the Derivative Work on a medium or volume of storage are not derivative works of the Program, Derivative Work or FOSS Application, and must reasonably be considered independent and separate works.

This is the case for our product: it is not a derivative work of oursql, and in fact accesses it only via a plugin-driven interface.

So is this a valid loophole?

A: 

You really should talk to a lawyer about it. It sounds to me like you'd be OK, since oursql is BSD licensed and not GPL...but eh. IANAL. The GPL infests code, and can be a pain to get rid of.

You could ask Sun, as well...i kinda doubt they care too much, as long as you're not linking statically (read: putting their code into your app). Sun is the only one you have to worry about, so their opinion on the matter would mean a whole lot more than the FSF's.

cHao
Considering Sun is now owned by Oracle, it's probably Oracle you'd want to ask.
Michael Madsen
I actually assumed there'd be someone from Sun/Oracle reading this. Maybe it's that I don't live in the valley, but the IP lawyers I do know haven't impressed me with their depth of knowledge in this area.
Eric
A: 

Is this a valid way around the GPL?

Nope. oursql includes C code that links to libmysqlclient, and FSF ‘believe’ (and traditional practice agrees) that this makes anything with oursql and libmysqlclient in it a ‘collective work’ subject to GPL. So linking your app to oursql yourself also subjects you to GPL.

oursql is BSD-licensed; this is more traditional than GPL in the Python world. But although this does have some practical upshot as to what you're allowed to do with it, that doesn't stretch to negating the GPLness of libmysqlclient.

It is arguable what ‘aggregation’ might mean under GPLv2 and GPLv3, but precedent is that linking ain't it.

(Not legal precedent. IANAL.)

bobince