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

Thomas Barregren thomas at webbredaktoren.se
Fri Aug 31 15:52:14 UTC 2007


Laura Scott skrev:
> On Aug 31, 2007, at 6:05 AM, Thomas Barregren wrote:
>
>> The issue original brought up by Jeff Eaton was about the fact that 
>> it is not permissible to write modules that bridge software with a 
>> license not compatible with GPL.
>
> This interpretation is tragic for GPL applications, imho. It makes GPL 
> toxic to other non-GPL applications out there. IANAL. I speak only to 
> my perception of how such reasoning can effect the adoption of GPL 
> throughout the world.

You surprise me. GPL has been around for *18 years* and this reciprocity 
(a.k.a. "copyleft") is the very heart of the license.

I don't think the reciprocity has any negative effect on the adoption of 
GPL. Look at GNU/Linux, MySQL, Java and many more high profile 
projects.  They don't look hampered to me. On the contrary! I believe 
GPL actually foster new generations of Free and Open Source Software 
(FOSS) contributors. As support for this opinion I plead the fact that 
GPL is the most used FOSS license. "As of August 2007, the GPL accounted 
for nearly 65% of the 43,442 free software projects listed on Freshmeat, 
and as of January 2006, about 68% of the projects listed on 
SourceForge.net," says Wikipedia. The numbers talk for them self.

>>> I write this as a GPL advocate and a big believer in open source. 
>>> GPL open source software is greatly advantaged to dominate the 
>>> software world eventually, but trying to force that through legal 
>>> ownership assertions strikes me as a great way to undermine the 
>>> whole movement.
>>
>> The beauty of GPL is that is doesn't fight the copyright laws. Quite 
>> the opposite! GPL leverage on the copyright laws to protect your 
>> freedom to
>>
>>    * to run the program for any purpose.
>
> --except to integrate with any non-GPL application.

Wrong. You are allowed to integrate GPL-application with any non-GPL 
application.


>>    * to study and modify the program.
>
> --unless, of course, you want to bridge it with a non-GPL application, 
> apparently.

Wrong. You are allowed to study and modify the program for any reason, 
including for the purpose of bridging it with non-GPL application.

>>    * to copy the program so you can help your neighbor.
>
> --unless, of course, you want to help your neighbor integrate a GPL 
> application into his non-GPL universe.

Wrong. You are allowed to give your neighbor a opy of the GPLed program, 
and you are allowed to help him to integrate it into his non-GPL universe.

>
>>    * to improve the program, and release your improvements to the 
>> public, so that the whole community benefits.
>
> --unless, of course, you software doesn't, in effect, ignore the 
> non-GPL world.

If you modify the GPLed program it becomes a derived work. You are free 
to distribute it under the same license as you obtained it in the first 
place. Do you consider it unfair?

> Suddenly there are caveats in there.

Yes, there are caveats in GPL v2. For an example Tivoization 
<http://en.wikipedia.org/wiki/Tivoization>. But I assume it is not that 
kind of caveats you allude to. :-)

>> GPL allows you to use both GPL:ed and non-GPL:ed API:s to bridge 
>> different applications. GPL also allows you to distribute the 
>> derivative work which emerges thereby. But to make sure that *you* 
>> don't deny the receiver the same rights as you got, GPL requires you 
>> to distributed the derivative work under GPL. Therefore I think this 
>> reciprocity of GPL (a.k.a. "copyleft") is something very good.
>>
>> The reciprocity prevents *distribution* of works derived partly from 
>> a third-party software with a license which is not compatible with 
>> GPL. Normally, this is also something good. As is said on the GPL FAQ:
>>
>>    "If we permitted company A to make a proprietary file, and company B
>>    to distribute GPL-covered software linked with that file, the effect
>>    would be to make a hole in the GPL big enough to drive a truck
>>    through. This would be carte blanche for withholding the source code
>>    for all sorts of modifications and extensions to GPL-covered 
>> software."
>>
>>    See
>>    
>> http://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.html#TOCMoneyGuzzlerInc 
>>
>>
>>
>> But, as this discussion is about, this can also pose a hindrance for 
>> situations where it can seem reasonable to include software with 
>> license not compatible with GPL.
>>
>> For an example, imagine someone who has put in a lot of effort to 
>> write code that integrates a popular but proprietary software with 
>> Drupal. So far it is okay under GPL. But now he wants to share his 
>> effort with the community. Since the integration code calls functions 
>> and share data structures with both the proprietary software and 
>> Drupal, it is not allowed.
>
> That's the problem, isn't it? Suddenly "free" does not mean what it means.

Free in the "Free Software" sense can be compared to Free Speech. You 
are free to do/say what you want as long as you don't do/say something 
that threatens the very same freedom.

> That also seems to mean that proprietary systems need not try to 
> integrate with Drupal, even if they want to offer such integration to 
> the community under GPL. According to the reasoning at the top of this 
> thread, GPL prevents them from doing that. That is a shame because it 
> could seriously hinder or prevent the adoption of Drupal and other GPL 
> software throughout the business world (where I argue it could do a 
> lot of good).

In my experience, as a software developer and entrepreneur, GPL is very 
business friendly compared to many of the proprietary software licenses 
I have encountered. Obviously, I am not alone of thinking so. Consider 
all companies doing business with help of GPL, e.g. Red Hat, MySQL, 
SpikeSource and many more. And both your and my companies are good 
examples on companies that prosper thanks to GPL.

Being President of pingVision, a company that obviously makes money on a 
GPL software, you are surprising ignorant of the license under which 
your company are operating.

>> Fortunately, there is a solution. As long as you don't revoke any 
>> rights granted by GPL, you can add your own terms and conditions. 
>> This can be used to allow integration with software under a license 
>> incompatible with GPL. Two examples on this:
>>
>>  * 
>> 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 
>>
>>
>> So, to solve the problem that the licensing of Drupal currently force 
>> us to "dumbing down" or "bypassing of established application 
>> methodologies", I suggest that the Drupal licensing is supplemented 
>> with an exception for module developers linking through hooks.
>
> All we need to do is track down everyone who has contributed code to 
> the Drupal project and get their okay, right?

Yes, that is how the copyright law works. But I am sure that it should 
not an insurmountable difficulty.


Best regards,
Thomas


More information about the development mailing list