[development] Modules that integrate non-GPL PHP apps violate the GPL.
Thomas Barregren
thomas at webbredaktoren.se
Sat Sep 8 15:42:43 UTC 2007
Karoly Negyesi skrev:
>> That alone makes the module a derived work of Drupal.
>>
>> But if your program and the other program are linked, even if it is done
>> only at runtime, and make function calls to each other and share data
>> structures, your module is a derivative work of the other program as well.
>>
>
> AAAAAAAAH! Finally somebody explained this whole situation clearly.
>
> So if I am writing a bridge to run with Drupal that's GPL because of Drupal and because it's considered a derivative of some non-GPL code that means I am breaking some clause in the *other* code licence and we know there is such a clause *because* it is non GPL compatible.
Correct.
> So the issue looked cloudy because we know the bridge breaks some rule but it can not be told what without studying the other licence. This makes sense to my obsessed-with-math-logic mind. For the first time, this debacle makes sense even if not a pleasant one.
>
> However, there seems to be an escape! http://forum.joomla.org/index.php?topic=190545.0 this ends with "the LGPL would allow someone else to derive code based on it without any restriction you can make a LGPL bridge to buffer your proprietary extention (such as SMF) to a GPL program."
>
There is no "escape". Since the module is a derived work of Drupal which
is licensed to you under GPL, you must license your module under GPL as
well. It is not allowed to use LGPL.
The discussion in the J! thread is about integrating a third-party
software which is licensed under LGPL. That is perfectly legal since
LGPL is compatible with GPL.
> So, if this holds up then we should allow LGPL code in our repo and ask the bridge module authors to LGPL their code. This is a ton easier than, say, changing the licence of Drupal core.
>
Sorry, it doesn't hold up
However, if your module contains a large portion of code which is
independent of Drupal, you could release that part as a library with a
GPL compatible license, e.g. BSD, MIT or LGPL, and then use it with your
module. Your library can now be distributed on its own under any
license. But as part of your module, it will be distributed under GPL.
Best regards,
Thomas
More information about the development
mailing list