There's been a lot of confusion over the implications of Drupal's GPL license. In particular, the question of whether HTML output from a Drupal site is automatically GPL'd. Ideally, this would be included somewhere in the drupal core distro, but for now a quick addition to the FAQ.txt file found in the CVS /contributions directory can help.
+Q: Does the GNU/GPL license apply to the HTML generated by a Drupal site?
+A: No. It is the intent of the Drupal developers that the license apply to Drupal,
+ as well as any modules, theme engines, or theme code written to interact with it.
+ The output generated by that code on a live site, however, is not automatically
+ released under the same license.
Wording can probably be improved, but based on all the discussions that have floated around and all the folks that have participated in them, I think it would be very helpful.
Comments
Comment #1
RayZ commented+10 ... er +1 on adding this to FAQ.txt.
Comment #2
lekei commented-1 This wording explicitly states that no licensed code may be used in a theme or module.
Comment #3
eaton commentedAs per chx's recommendation:
Clarifying the 'php' aspect, and the fact that images, css, and generated HTML output are not automatically GPL'd. lekei, this modification is meant to clarify the GPL status of generated output for a web site, not the issue of third-party libraries. That question is probably best settled in another issue.
Comment #4
RayZ commented+1 The updated version in #3 is a definite improvement. An official clarification like this is long overdue.
Comment #5
eaton commentedRayZ, thanks for the feedback. I've added an additional question to this patch that should also help clarify the way third-party code can be used with themes and modules.
Comment #6
lekei commented+0.5 I think this is an excellent clarification.
It is sad that the concensus is that there will never be professionally developed themes for Drupal, but two more faq questions would at least make it possible to develop Drupal sites using all of the tools at your disposal:
Currently work for a client where all of the result is not considered "work product" is considered disribution by the GPL, hence proprietary themes and modules for clients are forbidden.
Q: Does work on a team constitute distribution?
Currently work on a team which is not all or part of a corporate entity is considered disribution by the GPL, hence proprietary themes and modules for clients are forbidden.
Comment #7
eaton commentedLekei, the additions you mention are not, in fact, correct. Specifically:
This is a grave misunderstanding on your part; others have corrected you very clearly and explicitly, but you haven't yet 'gotten the picture.' Please stop repeating it. It is demonstrably untrue, judging by the fact that there are innumerable custom-designed non-distributed themes in use by Drupal sites around the world.
If you as a consultant create a Drupal theme, and give it to your client, it has been 'distributed.' But no one can force either of you to continue distributing it. That means that the only way someone can obtain that custom theme is 1) convincing your client to give it to them, 2) convincing you to give it to them, or 3) hacking into the client's server and downloading it. 3) is already illegal, so I'm not particularly worried about that.
There is one specific point of confusion that I believe will need investigation and clarification outside this patch/issue: If you purchase a third-party HTML template that is not released under a GPL-compatible license, and mix its HTML into PHP code for a Drupal theme, the licensing status of the resulting template file is sketchy. That issue, and that issue alone, is the one that I believe still requires further consultation with qualified GPL experts and (possibly) an addendum to the license similar to BISON's.
Given the points of confusion I've outlined, and the nature of the existing FAQ entries, I would say that the two additions you've proposed would be factually incorrect and very misleading.
Comment #8
lekei commentedSorry for the confusion.
The two questions are the points that I was suggesting to address.
The parts in italics are not intended to suggest the answers in the faq. Those are the default interpretatons of the GPL as stated in the GPL FAQ and from the open source licencing experts that I asked.
And the part about professionally developed themes was not themes developed by professionals, themes that I can buy for a client's site (from a template supplier) and tweak for them rather than having to do the whole thing from scratch.
Comment #9
eaton commentedlekei, thanks for the clarification.
Part of the trickiness of dealing with licenses is the fact that subtle turns of phrases can have VERY different meanings legally. Heck, if that weren't the case none of us would be confused about the GPL. :-)
In other threads, it's been hashed through that:
I think we're making some progress here, and I'm encouraged by that. One thing I would request, though: the special case we're both talking about, in which a copyrighted non-GPL HTML template is purchased and rolled into PHPTemplate documents... can we come up with a more explicit way of referring to that, to avoid confusion? Perhaps "Commercial third-party HTML templates." That's not TOO awkward, and it helps keep things separate from the other simpler cases (module and theme PHP code, third-party DHTML and PHP libraries that are separate but linked, etc).
Thanks!
Comment #10
lekei commentedThe simple solution would be to have a Linux-like preamble to say templates are the normal use of Drupal.
Since that won't fly, mabe a faq entry that work for hire does not constitute distribution? See if that floats?
Comment #11
cel4145 commented"work for hire does not constitute distribution?"
I might be misinterpreting where you are going with this, but I'd verify any talk about what can be done with work for hire and what "distribution means." Copyright covers all copies, and most developers work with the code on a local setup or some location other than the place it is intended to run in a production site. They have to copy it to move it to a production site. Thus I would wonder whether or not legally the GPL requires something worked on in one location and moved to another to be GPL'd if it interacts with GPL'd code, regardless of where or not one is working for someone else under work for hire. Notice what the GPL FAQ says about third parties. Is a work for hire situation a third party? Like I said, I'd research it before including any information about work for hire and the GPL in the FAQ.
Comment #12
lekei commentedSince the strictest interpretation of the GPL means that what you can and cannot do in a Drupal site is determined by the relationship between people who work on and fund the site. If this strict interpretation is not the intention of the authors, a simple faq entry would suffice in clarifying it.
Comment #13
eaton commentedlekei,
It's my personal preference that as few aspects of the GPL be touched on as possible in these clarifications. Mostly for simplicity's sake. I'll reiterate that the three areas we're talking about are:
The first two issues, I think, are pretty much solved by this patch, though #2 could probably use an additional handbook page to explain the details. #3 is the tricky one. I'd like to suggest the following: an addendum to the license noting that HTML-generating theme functions can be considered separate works if they were covered by a pre-existing GPL-incompatible license, as long as they are clearly marked as such and contained in their own files to separate them from the GPL-compatible content. That would cover, for example, PHPTemplate .tpl files and separate theme.inc files for modules. I know that you've mentioned the hassle of keeping 'everything separate', but as someone who's broken modules up into admin.inc, theme.inc, and so on before I can say that it's a small burden and the long-term benefit of keeping the GPL content clearly separate from the non-GPL content is a great boon.
This doesn't relate, at least IMO, to client/contractor relationships at all. Adding that issue would confuse matters.
Thoughts? Anyone?
Comment #14
RayZ commentedI agree that this patch covers the first 2 issues mentioned by Eaton in #13. I think this is RTBC, unless there are serious objections to doing so in the next few days.
I suggest we (Eaton?) open a separate issue for the third item.
Comment #15
RayZ commentedComment #16
grohk commentedLooks good to me. Two small nits (which are not big enough to warrant holding this patch back):
1) CVS is capitialized differently in places in the patch.
2) Do we need to make it clearer that files checked into the repository need to be legally unencumbered and GPL compatible (in a way in which they can be relicensed as GPL) in order to be uploaded in the first place?
Comment #17
Gary Feldman commentedI would stay away from technical legal terms like unencumbered Also, it's misleading to say that the files must be GPL compatible, as it's the license and not the code that's compatible, and furthermore, the original copyright owner has the right to dual licenses. There are too many special cases to try to handle it here. (See this GPL faq: http://www.gnu.org/licenses/gpl-faq.html#ReleaseUnderGPLAndNF)
The checkin process itself needs to make it clear that anything checked in is being released under the GPL and that the person doing the checkin asserts that he or she has the legal right to do so. But that's a separate issue, and the question of whether or not that information needs to be duplicated in the FAQ is yet another separate issue.
Gary
Comment #18
brunodboComment #19
brunodboChanged the component to reflect the new component categorization. See http://drupal.org/node/301443.
Comment #20
webchickI'd like Larry Garfield to take a look at this.
Comment #21
Crell commentedWell then someone needs to tell me about it. :-)
I would recommend simply linking to the FAQ that we now have on the web site at licensing/faq. That way we can single-source all answers. We already say on the CVS application "it must all be GPL", though, so I'm unclear on where else we'd be adding that?
Comment #22
dries commentedI agree that we should link to the FAQ on drupal.org.
Comment #23
gddOK, how about this then.
Comment #24
Crell commented"point the browser of your choice" seems needlessly verbose (and this is me saying that...), but that's in the existing text.
We should specifically point to GPLv2 to avoid confusion, and say "GPLv2 and later" like we do on the CVS signup page.
Comment #25
gddI actually thought that was excessively verbose too, but had left it. I've changed it in this updated patch, added the "version 2 and later", and changed the URL to point to the version 2 license.
Comment #26
Anonymous (not verified) commentedThe last submitted patch failed testing.
Comment #27
aspilicious commentedThere is no FAQ.txt left?
Correct?
You can mark this fixed if so...
Comment #28
damien tournoud commentedThis is now a handbook page.