I'm seeking some advice around licensing for my software and Drupal. Thanks in advance to those who offer their opinion!
1.) I created and own a standalone, commercial, script. It can run as a php web application in its own right (no linking to any 3rd party software).
2.) A while ago, I created a "platform" extension. It's purpose was to enable me to bridge my script with 3rd party software, such as Drupal, without having to maintain multiple versions and/or re-write code to accommodate the different platform formats. It gives the script the ability to run as a plugin / module / addon, as well as a standalone script, by analysing its current environment when executing.
3.) Given the way it's structured, I licensed my script accordingly - the core / standalone elements fall under my own commercial license, with all files falling in the "platform" directory subject to the license of the 3rd party software it supports (in the case of a Drupal bridge, GPL).
4.) I've had a growing number of requests to write a bridge for Drupal (i.e. making it work as a Druapl module), but have yet to do so.
Having seen very divided opinion amongst developers / users of other software (e.g. WordPress and GPL), I'm trying to discover what the Drupal community's stance on what I've described above would be?
I've read the licensing FAQ and see that "all PHP code that interacts with [Drupal] must also be under the GPL or GPL compatible". I understand that this is Drupal's interpretation, rather than something based on legal precedent (as far I'm aware, no precedent exists for software derivatives under GPL), however it's the interpretation I'm interested in.
Comments
My belief is that it depends
My belief is that it depends on how tightly coupled the standalone script and Drupal are. You've taken some steps to separate them, but some would say they are still closely integrated since Drupal's code and your code will be in the same call stack. If you want to make it really clear that there is separation you'll need to make the bridge code more loosely coupled - e.g. make your script code accessible by a web services API or command line interaction instead of direct php calls.
As you say, this is more of an opinion rather than clear cut fact, but it is a fairly common belief in the Drupal community among those interested in these matters.
knaddison blog | Morris Animal Foundation
Thanks for the reply, I
Thanks for the reply, I figured that might be the more commonly held belief.
I know that Drupal doesn't use GPL v3, but it's interesting to see where the license has gone with better defining derivative works (I think they refer to them as "covered works" now). This assumes IBM's assessment of the license is correct:
"GPLv3 adds more clarity with regard to what constitutes a derivative work. For example, GPLv3 states that if the program is "specifically designed" to work with a GPL-governed library, then the library is considered part of the overall work and the entire application is governed by the GPL. However, if one could swap out the GPL library for another library (i.e., if the application wasn't "specifically designed" to work with the GPL library), then it's not part of the overall work and would not be governed by the license."
If it's the case that GPL v2 doesn't adequately define the term "derivative work" (which seems likely to me, given all the debate I've seen), then maybe the next best thing is to look at what (one could assume) was the intented definition, using its next incarnation?
Actually a license doesn't
Actually a license doesn't get to define what a derivative work is, copyright law does. The GPL only gets to decide who is allowed to distribute the software that it licenses.
Here's the US definition of a derivative work:
Out of: Title 17 Chapter 1 § 101 "derivative work":
And § 102(b):
That's it. The courts have repeatedly ruled that a work being "specifically designed" etc. are not grounds to call something a derivative work: http://groups.drupal.org/node/84834
FWIW, I would probably side
FWIW, I would probably side with you on the thread you've linked to. In my own case, I fail to see how a standalone application, linked to GPL'd software via a module or plugin, could ever be a derivative work (especially when looking at the definition above). I'm also unsure as to whether "regular" modules would automatically be considered derivatives by a court of law.
However, I'm aware that the prevailing perception of what is right is just as important (whether we like it or not), which is why I'm trying to find out what accepted routes there are for commercial modules as far as the Drupal community goes.