[development] Modules that integrate non-GPL PHP apps violate the GPL.

Darren Oh darrenoh at sidepotsinternational.com
Mon Sep 3 15:04:17 UTC 2007

Sometimes my first attempt to express my thoughts confuses people.  
For those who are still confused, I hope this is clearer:

The viral nature of the GPL means that an app that uses Drupal is  
automatically licensed under the GPL, whether or not the developer of  
the app says so. That's exactly what we want, and it's the reason  
Drupal is distributed under the GPL. This discussion has established  
the illegality of attempting to circumvent the GPL. It would be  
against the spirit of the GPL for a developer to write an app  
designed to work only in the presence of Drupal, integrate it using a  
module, and claim that the GPL applies only to the module. I see no  
reason why we would want to enable developers to do this.

Based on the evidence presented in this discussion, it would not be  
against either the spirit or the letter of the GPL for a developer to  
distribute a module that integrates an existing third-party app that  
does not use Drupal and to which the developer does not own the  
rights. (Of course, the app can't be distributed with Drupal, but we  
already prohibit third-party apps from being included in Drupal's  
repository.) Therefore, it is incorrect to say that "if  
debug_backtrace() can ever include functions from both Drupal and an  
external program," the external program must be distributed under the  
GPL. That test is applicable only if the developer also owns the  
external program. And remember, if the external program uses Drupal,  
it is already under the GPL.

I repeat, this discussion has been a case of right answer, wrong  
question. Module developers can stop worrying and go back to making  
Drupal better.

On Sep 3, 2007, at 4:47 AM, Jeff Eaton wrote:

> On Sep 2, 2007, at 9:43 AM, Darren Oh wrote:
>> So far this whole discussion seems to be a case of ask the wrong  
>> question, get the wrong answer. I have seen no evidence to suggest  
>> that one cannot write some code that depends on non-free software,  
>> release it under the GPL, and have the GPL apply to that code.  
>> What would be against the spirit of the GPL would be to write code  
>> that depends on GPL software and to release only a compatibility  
>> layer under the GPL, keeping the main functionality non-free.  
>> Since 1) the third-party apps that are being integrated do not  
>> depend on Drupal and 2) the module authors do not own the rights  
>> to the code in the third-party apps, this issue is irrelevant to  
>> the situation under discussion.
> I used to take this position as well, but it's apparent after quite  
> a bit of research that this is based on loose use of the phrase  
> "depends on" to define the terms of the discussion. The GPL doesn't  
> use those words. It doesn't recognize a difference between a piece  
> of software that *uses* a library, and the library that *is used  
> by* another program. It simply sees those two programs being  
> combined to form a single work if they interoperate in certain ways.
> As such, if they do not share compatible licenses, they can't be  
> distributed together. And if one component is clearly designed to  
> work *only in the presence of the other component* it is an  
> implicit violation of the GPL. (According to the FSF).
> That's their official interpretation.

More information about the development mailing list