Earnie Boyd skrev:
Quoting Thomas Barregren <thomas@webbredaktoren.se>:
Could you please explain this "legal difference".
LGPL libraries allows for use of the binary version of that library by other binaries without infecting the using binary with the GPL while GPL libraries (static or dynamic linked) force the GPL on the binaries using the library.
True. But there is no need to make a distinction between static and dynamic linked libraries.
...
I find it amusing that a discussion of "non-GPL *PHP* apps" is ensuing because PHP itself isn't L/GPL. I would almost label this thread as an example of oxymoron.
:-)
But, however, my use of the Drupal API (a CMS library covered by a version of the GPL license) requires that my source also be GPL.
No, you are free to *use* the Drupal API without your source being GPLed. But you are not allowed to *distribute* your source under another license than GPL if it make use of the Drupal API. It is important to keep this distinction clear, since much of the confusion in this thread comes from people erroneous believing that they cannot use Drupal with non-GPLed program, or help other (e.g. on consultant basis) to do that, when GPL in fact gives this right.
If my code can be used without the Drupal library then that requirement doesn't fit and I am free to license as I please.
True, *if* your code make no use whatsoever of Drupal or another GPLed software. But, if your code make reference to objects, functions, arrays or other internals of the Drupal API (or another GPLed software), then it must be distributed under GPL even if it works without Drupal present.
If my source requires another library that isn't GPL but still requires Drupal (a GPL licensed library) then I am still forced to cover my source with GPL.
True *if* your code make reference to objects, functions, arrays or other internals of the Drupal API. But, if your code don't make use of objects, functions, arrays or other internals of the Drupal API, but just requires Drupal to provide HTML or XML or JSON or similar over HTTP, your code can legally be distributed under another license other than GPL. (Although it might be against the spirit of GPL.)
My use of the non-GPL licensed library does not force Drupal to the license of the other library.
Of course not, since nobody than the collective owners of Drupal's Intellectual Property Rights can distribute Drupal under another license than GPL.
My use of the non-GPL licensed library along with Drupal doesn't force my code to be covered by the other library either unless it is ``copyleft'' as well in which case I'm screwed.
You are only "screwed" if you want to distribute a work derived from a GPLed software and another software which is under a license not compatible with GPL.
All-in-all, I can use Drupal along with all of the other programs I use.
True.
Drupal CVS can store contributed modules even if it includes non-GPL modules without affecting Drupal since the contribution isn't required to execute Drupal.
Completely wrong! For a a contributed module to be meaningful, it must implement at least one hook, and probably also call some function or use some data-structure provided by Drupal. Thus, the module is a derived work of Drupal. Since Drupal is provided under GPL, it follows that the module cannot be distributed under any other license than GPL. Now, if the module is stored in Drupal's CVS, anyone can check it out, and thereby making Drupal.org a distributor of the module. Consequently, the Drupal CVS should not store contributed modules which can't be distributed under GPL. Please, notice the wording in the last sentence. If an identifiable section of the module is not derived from Drupal (or another GPLed software), and obviously is a separate work, e.g. a library, then that part doesn't need to be under GPL to begin with. But, when that section is distributed as part of a module, GPL applies to it as well. That is the reason why third-party libraries and similar must be under a license compatible with GPL. Thus, from a legal perspective, it is okay for a module to contain non-GPLed parts, e.g. libraries, as long as (i) they have nothing to do with Drupal (or another GPLed software) and (ii) they are under a GPL compatible license, e.g. BSD, MIT or LGPL. However, Drupal.org doesn't allow this.
No one can force me to not use GPL alongside non-GPL or force me to not use GPL on Windows or any other proprietary system.
No one can force you to use GPL, but... "However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it." See ยง 5 of GPL v2 Regards, Thomas