[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