I was searching around for licensing policy on Drupal, specifically, releasing patches and modules from copyright (into public domain). I came across http://drupal.org/licensing/faq#q7 where item seven states "Drupal modules and themes are a derivative work of Drupal" and additionally implies that this is true for all works, hosted by Drupal.org or not. The page gives "thanks to the Software Freedom Law Center" however I was unable to find any position taken by the Center on the issue, on their website http://www.softwarefreedom.org/ or otherwise, and on what basis the claims in the page were made. I have been told that "miles" of discussion has happened on this topic, though with numerous searches from Google and Drupal.org I was unable to locate anything substantial on this quote in particular (as opposed to the GPL in general, for instance).
Modules that Drupal is able to load, written for Drupal or otherwise, do not by that fact alone imply anything about a derivative work. To be linked together, operate in a shared code space, entirely depend on a parent program, etc, has no legal standing as a reason to call something a derivative work. From US statute:
A "derivative work" is a work based upon one or more preexisting works, such as a translation, musical arrangement, dramatization, fictionalization, motion picture version, sound recording, art reproduction, abridgment, condensation, or any other form in which a work may be recast, transformed, or adapted. A work consisting of editorial revisions, annotations, elaborations, or other modifications which, as a whole, represent an original work of authorship, is a "derivative work."
Additionally:
In no case does copyright protection for an original work of authorship extend to any idea, procedure, process, system, method of operation, concept, principle, or discovery, regardless of the form in which it is described, explained, illustrated, or embodied in such work.
So, an API by itself, or any interface necessary to integrate with another work, any method for carrying out a task, etc, is explicitly incapable of being copyrighted, as this is the sole area of the patent system.
Furthermore, the Digital Millenium Copyright Act expands on software in particular, and explicitly allows the sale of products that may be used to "circumvent a technological measure that effectively controls access to a work" that is otherwise protected by the copyright statute.
From what research I have tried to do, no court or law seems to have ruled on this issue in particular, however there are an almost limitless amount of very similar cases on what constitutes a derivative work in general: The court opinion in Lexmark v. Static Control ruled that producing something for the purpose of interoperability does not constitute infringement, and therefore would be exempt from licensing terms. The opinion goes as far to argue that copying code verbatim is acceptable if it is absolutely necessary to make a compatible, functional work (ink cartridges, in this case, a product integrated with a specific model of printer). Sega Enterprises Ltd. v. Accolade, Inc. finds that aspects of a program necessary to interoperate with another device is not covered by copyright, and code may be studied to satisfy a need to interoperate (if code may actually be copied from another program verbatim is another issue which that court found acceptable, especially cases decided after the passage of the DMCA, though not all courts have, for instance, Atari Games Corp. v. Nintendo of America Inc.). Computer Associates Int. Inc. v. Altai Inc. found that a clean-room rewrite of code is not a derivative work even though it implements the same API and logic. The legal opinion concludes (1) that programmers may receive appropriate copyright protection for innovative utilitarian works containing expression; and (2) that non-protectable technical expression remains in the public domain for others to use freely as building blocks in their own work. Sega; Lexmark; and Computer Associates Intern., Inc. v. Altai, Inc. have all agreeingly cited a report to congress maintaining "when specific instructions, even though previously copyrighted, are the only and essential means of accomplishing a given task, their later use by another will not amount to infringement." Lotus Development Corp. v. Borland Intern., Inc.: If specific words are essential to operating something, then they are part of a ‘method of operation’ and, as such, are unprotectable. In Huntsman v. Soderbergh the EFF submits an amicus curiae brief stating that "intermediate copying" of a program like a DVD (which they argue even includes computer memory) cannot violate copyright and is fair use. As I understand the "intermediate copies" argument was then dropped by the plantiffs, and the court case was later dropped with an act of Congress. In Lewis Galoob Toys, Inc. v. Nintendo of America, Inc., the court rules that a device that modifies underlying code cannot be a derivitive work by the nature it depends on or integrates with some other licensed work.
I am unable find any ruling or legal opinion based in legal precedent, statute, or natural law that merely interfacing or "sharing an address space" with a program, by itself, could somehow constitute a derivative work, considering it is still two distinct programs, or even that a copyright license has any legal standing to dictate such terms, particularly since I can write and distribute modules without ever agreeing to the GPL shipped with Drupal:
5. You are not required to accept this License, since you have not signed it. 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.
I could still make fair-use changes to the code under many conditions if I happened to need to; and I can (and have) written wrappers to execute modules neither containing any Drupal code, and could in theory write a compatible API with public domain code in which modules could be written then tested, profiled, debugged, or integrated into another platform entirely, in which case, compatibility with Drupal would be coincidental. Outside patent law, I unaware of any law that allows a license to dictate that newly written code is automatically licensed with specific terms just because it is able to do certain things.
Another unclear area has respect to licensing, while there is a statement to developers that their code will be packaged as GPL, I can't find any corresponding statement saying that code in a repository is GPL, to legally allow anonymous checkout/forking of modules, particularly from http://git.drupal.org where LICENSE.txt doesn't even exist (save the Drupal core). I understand this is made sufficiently clear in other ways (the FAQ says "all contributed files hosted on Drupal.org are licensed under the GNU General Public License, version 2 or later."), however I am not sure this is clear to all people, in particular I saw one comment speculating "code in CVS is NOT currently licensed under GPL."
To address my original concern: If I release my patches and modules from copyright, while you could (as I understand) re-license it under the GPL, it wouldn't mean anything, none of the restrictions will apply because you can simply revert back to public domain (for the unmodified work in question, later changes could copyright the work, as it creates a derivative work). I'm not seeing how it follows from this fact that you can force a particular license, in this case, if there is a version with no copyright owner and no license. So, what would the policy be for accepting such code?
How may the FAQ be written to clarify these points that it leaves open? In particular it would help to clarify that this is only a policy of Drupal.org in order to host modules; and to clarify if code checked into a Drupal.org repository is covered by GPL, or if this only happens after it is packaged thereby making it unlawful to fork Drupal from CVS/Git.
Anyone who would like to help with these points would be most welcome, thank you.
Comments
My layman's understanding
The Drupal.org Licensing FAQ was developed by the Drupal Association, working with lawyers from the Software Freedom Law Center who looked at the ways that Drupal modules interact with the core codebase. The opinions it expresses on what constitutes a "derivative work" are consistent with not only with those of the FSF (the writers of the license) but also those of other similar projects, such as Joomla! and WordPress. While IANAL, the case law you cite does not address code licensed under the GPL, and would thus likely have only limited applicability.
My understanding is that public domain code can be used in conjunction with GPL'd code, however doing so does not make the GPL'd code public domain, nor does it make the public domain code GPL'd. All code hosted on drupal.org should be GPL'd; if it is public domain code or code released under a different license, it should be hosted elsewhere. A bridge module that is designed to integrate with public domain or other GPL-compatible code could be hosted on Drupal.org; however, the code for that module would be GPL'd, and the non-GPL code it integrates with should be hosted elsewhere.
Whether or not the code is in a CVS or Git repository should make no difference as far as the GPL is involved. I'm not sure who is telling you otherwise, or on what grounds they're making that assertion.
If the code you're writing is standalone and doesn't rely on Drupal to operate, then it doesn't need to be licensed under the GPL or a compatible license, unless it ends up sharing Drupal's memory space, as explained in question 10 of the FAQ.
RE: My layman's understanding
What I want to know where these assertions come from from. The FSF/Drupal/Joomla/WordPress does not get to define what a derivative work is, legal statute does, which I cited (what statute should be is a discussion worth having too though, but I don't see anyone laying out that case). The GPL can only go as far as copyright does, and the case law I cited deals with the limits of what copyright covers, a license cannot deny the legal ability to do something allowed by fair use, and it can't deny the legal ability to use things that are not copyrightable, like code in memory or the function calls necessary to integrate with another application (or for that matter, function calls period, since those can only be patented, if software is even patentable). The only position the FSF has (that I can find) is that distributing a GPL-licensed library inside a proprietary program is not acceptable, because that is prohibited by the license as terms of redistribution (and rightly so), and if you want to allow that, that is what the LGPL is for. Whether another program is allowed to link to a program not being distributed is outside of the scope of copyright law, and the FSF has no position on this case that I can find (excluding an ideological position that proprietary software will go away entirely, perhaps).
Right. My point about public domain that the GPL is effective because it legally limits the cases in which people may redistribute programs, if there is also a public domain version (or even a BSD version) than none of these legal limits are meaningful or enforceable; so, is this case dealt with specifically? (I don't think there is much one could do about it but it's worth asking)
Right, but for people who aren't savvy with Drupal.org, I don't see any formal, visible assertion (for instance, alongside the repositories, or in the header/footer/readme) making it clear. For instance, I had to find the licensing FAQ first :-)
What I want to know where
These "assertions" represent the opinions of the software projects in question based on the advice they received from legal counsel who reviewed the applicable statutes and case law, including the ones you mention. These policies don't have anything to do with what is or is not stated on the FSF Web site.
I understand you are questioning some of those opinions based on your personal review of existing statutes and case law, but in the absence of any specific case law relating to what exactly does and does not constitute a derivative work for GPL'd software, or what the limits of fair use are in the case of GPL'd software, then I think the best answers we have are the opinions of those legal professionals who are closest to these issues.
Personally, I would question how far fair use rights would extend when creating modules that integrate tightly with existing software; generally speaking, fair use applies to using excerpts of copyrighted material for the purpose of providing critical review or commentary, educational instruction, or parody. I'm not sure that exemption would apply to creating software programs that rely on a copyrighted work in order to function, just as you aren't able to legally sell a Harry Potter sequel novel that you wrote without first getting the permission of J.K. Rowling and her publisher.
I'm not sure I understand your question about public domain or dual-licensed code. If someone chooses to release their code into the public domain than anyone can do with it whatever they want, and the author has given up their right to determine how the code is distributed. If the code is dual-licensed, than people can choose which license they want to use the code under and act accordingly. I don't think the Drupal project has any interest in controlling how people use BSD or public domain code other than to say that people shouldn't mingle it with GPL'd code that is hosted on drupal.org.
As far as the repositories go, I don't usually use them, so I can't comment, but it seems pretty clear to me that all of the code on drupal.org is licensed under the GPL.
These "assertions" represent
While I see the position, I have seen exactly zero legal rationale for the position, though if a rationale does exist, why would no one be willing to provide it? The position appears to be entirely made up by software developers and their lawyers who wish to dictate how people use their program, regardless of if they actually have the legal ability to. I am not aware of an official FSF or SFLC position on the issue and I have not seen anyone defend the "automatic derivative work" position in law never mind in court, the EFF on the other hand has successfully defended the rights of coders and businesses to produce works in the way they wish (without interference from 3rd parties).
My question isn't "how does copyright apply to GPL'd software" but I'm trying to ask "where does the GPL get the authority to dictate these terms" if that's what the GPL says at all, which as far as I can read it doesn't even say that, it only prohibits being distributed with a proprietary work that otherwise depends on the GPL'd program.
My reading of the statute would allow a new story based on the same characters and setting of another novel, after applicable trademarks have been worked out. Making a derivative movie or other adaption from a book would not be acceptable without permissions, however. Though I am aware of lots of upset authors, the actual legal case is a grey area (most recently, Salinger v. Colting getting overturned). What bearing any of this would have on a software program, even though literary work under copyright law, I believe would be minimal because it is well established the logic, API, etc of the program is not copyrightable, and intermediate works in memory must be fair use, particularly since those intermediate "in-memory" copies are not being distributed.
Where and what is legal argument backing up the assertions made in the FAQ?
I think you're missing the
I think you're missing the point of the FAQ; it's not intended to be a legal brief that provides the rationale for the licensing policy, it's intended to be a guide for developers and others who want to know what best practices they should follow for distributing GPL'd code on drupal.org.
I have also been stumped by
I have also been stumped by the same fact. In my opinion also, third-party modules or themes etc. written for Drupal does not constitute a derivative work, and hence cannot be governed by GPL automatically.
I understand that you need to release your code under GPL if you want to commit to official Drupal CVS. But what about modules written independently for commercial or proprietary use? How can they be automatically governed by GPL unless they use the codebase of an existing GPLed Drupal module/theme or Drupal itself? If the plugin code is written from scratch by the author, it cannot be considered a derivative work of Drupal solely because it communicates with the Drupal core.
It would be useful if someone with a legal knowledge in this context (and independent of both, Drupal association and commercial plugin authors) puts forward his/her opinion on what the law says on this.
--
I always think tomorrow will have more time than today.
And every today seems to pass-by faster than yesterday.
http://www.rahulsingla.com
hire a lawyer
Sounds like you should hire a lawyer. That's what the DA did to obtain it's opinion.
knaddison blog | Morris Animal Foundation
Sounds like you should hire a
Sounds like you should hire a lawyer
Well, I already did. I took advice from my legal advisor (before posting here) and what he tells me is that first, the GPL does not automatically enforce itself to code that interacts (and does not adapts) with other GPLed code. Second, theme/module code interacting with GPLed code cannot be considered a derivative of it.
This looks like pretty murky (and probably would remain so unless 2 differing parties actually contest and settle this in a court of law).
--
I always think tomorrow will have more time than today.
And every today seems to pass-by faster than yesterday.
http://www.rahulsingla.com
Play it safe
It is true that not everyone has the same interpretation of the GPL, rightly or wrongly. It's therefore wise for all involved to assume the more expansive definition as it will open you up to less risk.
If you work on the assumption that modules are derivative works, and a year from now a court case appears that concludes that they are not, then you're fine. You've violated no license and broken no law.
If you work on the assumption that they are not and distribute modules closed source, and a year from now a court case appears that concludes that they are derivative works, then you suddenly find yourself in direct violation of the GPL and have to stop distributing code immediately.
The safer course of action would be to minimize your long term risk as well as go "with the grain" of the community; it will pay off in the long run either way.
Crell, from a community
Crell, from a community perspective, I have to agree with what you said.
But from a business point of view, you know when you are creating code for a highly specialized task for a particular business domain, and you need to interact with a GPLed software just because the client's existing processes use that and you need to provide smooth integration, then you tend to think legally whether it would make sense to allow the client to freely distribute your code, when it makes commercial sense to your business (and you have devoted man-power and skills to create it).
--
I always think tomorrow will have more time than today.
And every today seems to pass-by faster than yesterday.
http://www.rahulsingla.com