[development] Modules that integrate non-GPL PHP apps violate the GPL.
earnie at users.sourceforge.net
Fri Sep 7 11:58:55 UTC 2007
Quoting Karoly Negyesi <karoly at negyesi.net>:
>> 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. 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.
Yes, but you could also be breaking a clause in the GPL (the most
likely scenario). Yes, you must compare both licenses to determine if
they fit together.
> 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."
I don't buy into it. The GPL and the LGPL are the same except that
LGPL gives others the right to use the binary version of your API
without GPL viral infection. If you provide no API then the exception
is worthless. And the statements of the GPL state that you must GPL
the combined work so you can't just apply the LGPL exception to your
module because the Drupal license doesn't allow for it.
> 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.
The license of the Drupal core license is the one that rules in this
situation. Since I must use Drupal API I must GPL accordingly. The
only option is that the Drupal core license provide exceptions for the
use of third party libraries. Note the LGPL here isn't sufficient
(check out the FSF libstdc++ exceptions) since *source* code for the
API must actually be included. The LGPL exception is for the *binary*
use including the declaratives for the API but not code that is
included by other files such as you might find in a C++ header or a PHP
include file. It's not L'ibrary'GPL it is L'esser'GPL.
Earnie -- http://for-my-kids.com/
More information about the development