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

Thomas Barregren thomas at webbredaktoren.se
Sat Sep 8 16:35:06 UTC 2007


Angela Byron skrev:
>
> On 8-Sep-07, at 5:51 AM, Thomas Barregren wrote:
>
>> Angela Byron skrev:
>>>
>>> IMO, the only thing we can do is exactly what Joomla! did:
>>>
>>> - Do not fork the GPL by creating our own interpretation of it 
>>> (adding exceptions, etc.).
>>
>> We should definitely *not* fork GPL. That would be committing hara-kiri.
>>
>> But adding a "FOSS Exception" or "Linked Under Controlled Interface 
>> Exception" is *not* forking. On the contrary! It is a proper way to 
>> solve situations like the one we are discussing. The technique is 
>> proposed and fully described with template and everything on 
>> FSF/GNU's web site:
>>
>>    * 
>> http://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.html#GPLIncompatibleLibs 
>>
>>    * 
>> http://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.html#LinkingOverControlledInterface 
>>
>>
>>
>> In fact, it *might* be necessary to add a FOSS Exception for the 
>> PHP-license. Why? The PHP-license is not compatible with the GPL. 
>> That itself doesn't prevent PHP-programs to be distributed under GPL. 
>> But since Drupal *make use* of GD and other libraries distributed 
>> under the PHP-license, it is possible to argue that Drupal in part is 
>> a derivative of GD and the other libraries. If this cannot be deemed 
>> to fall under the platform exception in GPL, it is not possible to 
>> distribute Drupal under GPL without adding a notice saying that it is 
>> okay. Again, adding a such notice is not forking GPL.
>
> Fair enough. It still feels a bit "dirty" to me, though -- the fact 
> that GPL doesn't have these exceptions written into "out of the box" 
> it is definitely "by design," not an oversight.

You are definitely right. :-) RSM and FSF/GNU want everybody to use GPL. 
But they are also realists, and therefore provide these means to use GPL 
in conjunction with software not compatible with GPL.

>>> Adding exceptions anyway is a physically impossibility; you'll never 
>>> find all of the copyright holders of Drupal to sign off on it, and 
>>> many of us would oppose such an action.
>>
>> I am not completely convinced that it is a "physically 
>> impossibility". After all, it is a limited number of people who have 
>> committed code to the core. I suppose most of them are still members 
>> of Drupal.org, and hence possible to get in contact with. Why not 
>> try? Likely, a vast majority of all core contributors will accept a 
>> "FOSS Exception" and possible also a "Linked Under Controlled 
>> Interface Exception" for a "Module Programming Interface" (e.g. hooks 
>> and some utility functions).
>
> Interesting. So the act of committing code transfers authorship?

No. I didn't said that.

> My offering up code and saying, "Please commit this to core" is 
> synonymous with "I hereby abandon all rights I have as the author of 
> this code, and trust that the core committers will not someday do 
> something silly with it?"
>
> That's something I didn't know before. It was my understanding that 
> copyright was retained by each individual who has contributed code to 
> the project, regardless of who actually pulled the "commit" trigger.

It was not my intention to imply anything similar to what you say. Of 
course the author of the code keep the copyright. I should have written 
"contributed" instead of "committed" in my reply.

BTW, remember that not all contributions is "copyrightable". It must 
have a certain level of creativity. For an example, a patch that just 
correct a simple spelling error (or similar) is probably not protected 
by the copyright laws. Furthermore, ideas are not protected by 
copyright, only their expression as code.

>> BTW, something similar has been done before, and in much larger 
>> scale, namely BSD.
>
> True. I don't argue that it _can't_ be done. I do argue that it might 
> take much more time/resources than we want to spend on it. ;) 
> Especially when we have a workaround (just boot the code from contrib 
> that attempts to create a derivative work).

I agree that we first of all should boot code that links to code and 
call functions and share data structures with another code which has a 
licnse not compatible with GPL. But we should of course not boot code 
that use another code using GPL compatible license (e.g. BSD, MIT and LGPL).

The second most important thing we can do is to use GPL v3 instead of 
GPL v2. By doing so, many more licenses, most notable Apache, is 
compatible with GPL.

But somewhere down the road I think we really should try to track 
contributors very much like how Linux kernel does.


> However, your point about Drupal making use of GD and such is a good 
> one that bears further investigation

That is one of the things I suggest Drupal Association bring up with a 
lawyer.

> Thanks a lot for your helpful contributions, Thomas. I've learned 
> quite a bit from your interactions in this thread.

I am glad to be any help. :-)


Best regards,
Thomas


More information about the development mailing list