Quoting Karoly Negyesi <karoly@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/ -- http://give-me-an-offer.com/