views:

132

answers:

2

Our company releases a software (A) under a dual license: GPL and a commercial license.

The commercial license allows users to link in closed source plugins (B).

Now, a third party has developed a plugin (C) under GPL. My question is if a client who has our commercial license may load plugin (B) and plugin (C) at the same time. (C) will then derive the work of (A) under GPL, while (B) will derive the work of (A) under our commercial license.

There are two scenarios:

  1. The plugins (B) and (C) are independent (i.e. (C) does not know about any functionality in (B) and never calls it.)

  2. The software (A) defines an interface and a factory which may lead to a usage of functions between (C) and (B).

Is any of these two scenarios a violations of the (C)'s GPL license?

Any insight in this is appreciated.

  • Kristofer Tingdahl
A: 

A violation of (C)'s license would have to involve modifying (C), distributing it, and not sharing your source code.

If you are not modifying (C), and not distributing it, then its license in no way applies to you.

The license is not a restriction on use, but a granting of privilege to redistribute someone else's copyrighted material. "Violating the license" is losing the right to redistribute, by not honoring the circumstances in which redistribution is permitted.

Justin Smith
So, using (function calls) from (B) to (C) is not derivative work, as long as the interface is down in (A)?I read that dynamic linking is debated whether that's derivative work, but then that does not apply to this setup as (B) never links anything to (C), but only to (A).
Kristofer Tingdahl
If the people who ship (A) also ship (B) and (C) bundled with it, there may be an issue, depending on the details. I would ask the FSF. If the people who ship (A) only ship either (B) or (C) and the user gets the other on their own volition, the people who ship (A) have absolutely not infringed the license, as long as they distribute (A) and (B) together in a way that works with (B)'s license, and ship (A) and (C) together in a way that works with (C)'s license.
Justin Smith
A: 

As has been said by someone else the only catch is with the redistribution of C as part of package with A and B.

If you have a license for A (dual-licensed) and B (commercial plugins) and you want to use these in combination with C (GPL-only), that is not a problem.

However users of the A+B+C system will not be allowed to redistribute the "bundle" because it would be a violation of C's license (GPL).

So a company could use A+B+C internally, but not redistribute it.

In any case C would probably not be the only issue, as most commercially licensed software (such as B here) often does not allow redistribution.

If redistribution of A+B+C is required then the only solution is:

  • Contact the copyright holders for C and request an alternate license.

Quite a few authors of GPL-licensed software are open to these dual-licensing schemes.

Laurent