Then are you saying CiviCRM is wrong and that it is a license violation to distribute modules that allow Drupal to be combined with CiviCRM? A clarification of the claims you are making would be helpful. In a previous message I tried to sum them up: 1. You cannot use a GPL-incompatible license for an app designed to be used with Drupal or a Drupal module. 2. You cannot use the GPL for code designed to be used with a third- party app unless a) you are allowed to combine your code with the third-party app and distribute the combined work under the GPL or b) you add an exception clause giving up claim 1. Does this summary fairly represent what you are claiming? If not, please clarify it for the benefit of the rest of us. On Sep 10, 2007, at 9:02 PM, Thomas Barregren wrote:
Darren Oh skrev:
In that case, Drupal modules that do not include third-party code are legal, since they merely allow Drupal to be combined with "separate and independent" programs. No work derived from the third-party code is being distributed.
No, it is not as simple as that.
Suppose we develop a module that bridges Drupal with another program. If that is accomplished by just "using" the program, that is invoking the program's main function with some options and waiting for it to return, for instance by using pipes, sockets or command-line, then the module is not a derived work of the application. But, if the module "know" things internal to the program, that is the module links to the program, invokes functions and shares data structures, then the module and the program, as a whole, is a derived work of the program.
Since the module and Drupal, as a whole, is a derived work of Drupal, GPL requires that the whole combined program has to be released under the GPL. That is why I think the license of the other program must be compatible with GPL if (but only if) the module "know things" internal to the program.
I know it's repetitive, but this discussion has been answering the wrong question. The really question, as I see it, is whether d.o. should continue to expose itself for the risk of being challenged in court for copyright infringement, or do something about modules that link to third-party programs with licenses not compatible with GPL. I suggest the latter. We can either follow J! and cease the distribution of contaminated modules, or add a FOSS Exception, Linked Under Controlled Interface Exception or something similar, or both.
I think I have said everything I can in this issue. So I should really "rest my case" now. Seeing is believing. :-)
Best regards, Thomas (IANAL)