Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
The GPL says that in order to make clear that the code is covered by the license, a copyright notice should be in the header the source files. I'm not sure it's necessary for every file, but seems at a minimum index.php seems like it should have such a notice.
Attached patch is basically a cut and past of the suggested language form the GPL 2.0 inserted into index.php
Comment | File | Size | Author |
---|---|---|---|
#34 | gpl_notice_7.patch | 2.61 KB | keith.smith |
#33 | gpl_notice_6.patch | 2.53 KB | keith.smith |
#30 | gpl_notice_5.patch | 21.8 KB | pwolanin |
#28 | gpl_notice_4.patch | 21.81 KB | pwolanin |
#27 | gpl_notice_3.patch | 21.78 KB | pwolanin |
Comments
Comment #1
killes@www.drop.org CreditAttribution: killes@www.drop.org commentedPlease remove the "any later version" clause.
Comment #2
pwolanin CreditAttribution: pwolanin commented@Herr Killesreiter - can you please demonstrate to me that Drupal has even been licensed under GPL 2.0 only? The only links in the Handbook to Drupal's license point to GPL version 3.0, while in other places it imply refers to "GPL" with no version. There is no statement of copyright in any Drupal source file. The 2.0 license itself has the text I cut in pasted instructing that source files be licensed under 2.0 or later.
Beyond these questions, what possible advantage is there is limiting this license to 2.0 only? Allowing me the option to co-distrubute Drupal with a GPL 3.0 compat package (e.g. CiviCRM) is a critical freedom.
handbook links:
http://drupal.org/node/363
http://drupal.org/node/7765
http://drupal.org/principles
http://drupal.org/about
http://drupal.org/node/66113
http://drupal.org/node/103704
Comment #3
Morbus Iffpwolain: the links in the handbook link off to a generic URL on a remote site. This generic URL has been updated to refer to GPL v3.0. It does not mean, however, that Drupal, which has been around for far longer than GPL v3.0, is actually GPL 3 - it just means that the remote site has changed the content. Download any copy of Drupal 5 or Drupal 4.7, and you'll see that the distributed LICENSE.txt (both in Drupal, and all contrib modules) refers to GPL 2, not 3.
Comment #4
pwolanin CreditAttribution: pwolanin commented@morbus - yes obviously the links point to a FSF page that was updated, I'm just tying to point out that the situation is unclear.
Since there is currently no statement of copyright or license version in the "Program" files I think this section from the license would apply:
Comment #5
Dries CreditAttribution: Dries commentedDrupal uses "GPL 2" and not "GPL 2 or later versions". When I first chose the license, I made it "GPL 2 only" -- see LICENSE.txt.
Comment #6
pwolanin CreditAttribution: pwolanin commented@Dries - I did read the license and while LICENSE.txt is, indeed, GPL version 2.0 the language of the license I quoted above says that Drupal can be licensed under any version of the GPL since there is no specification in the program (i.e. the Drupal code) of a specific GPL version. Perhaps I am wrong on this point, and I think that having the Drupal Association get competent legal advice on this is a good idea.
However, what possible benefit would there be to making Drupal GPL 2.0 only? Anyone who doesn't like the terms of GPL 3.0+ has the option of using Drupal under GPL 2.0.
Comment #7
chx CreditAttribution: chx commentedDries stated that his intentions were GPL v2 only and he did state this before GPL v3 was there:
in http://buytaert.net/long-live-the-web-services-loophole . Also, I stated that I do not like the GPL v3 -- I might be a fool or misinformed but still. So no, you can't use Drupal under GPL v3.
Comment #8
Freso CreditAttribution: Freso commentedpwolanin: I don't see the need to get legal advice in this matter. Drupal's LICENSE.txt doesn't say, and never has said in its history in CVS, . It does, however, say on line 4 of the current revision.
(from the text you, pwolanin, quoted (markup mine))
Drupal core code never stated that of the GPL would apply to it, and as such, it goes by default that it doesn't.
In addition, Dries and chx both object to having their code released under GPLv3, and even if all the rest of the contributors of Drupal through the ages were rounded up and gave their yes, I'm fairly confident that the portion of code owing to the brain (and finger) exercises of Dries and chx amount to a large enough amount that it would be non-trivial to sort out their code. (And then, if you add to that that Dries wrote the very core of what became Drupal, which means, by the viral nature of the GPL, that all the derivatives of this original code also has to be pruned... and suddenly you're left with possibly one or two lines of PHP, without any real value.)
Attached a patch specifying version 2 and without opening up for later versions.
Should the link to the GPL be changed to http://www.gnu.org/licenses/old-licenses/gpl-2.0.html perhaps?
Comment #9
Freso CreditAttribution: Freso commentedLink changed per the request of killes.
Comment #10
killes@www.drop.org CreditAttribution: killes@www.drop.org commentedGreat, thanks.
Comment #11
pwolanin CreditAttribution: pwolanin commented@Freso@freso.dk - no I totally disagree. The Drupal code itself has never specified any version of the GPL, thus it can be licensed under GPL 1.0, 2.0, or 3.0. Thus, to apply a copyright specifying 2.0 only wold be a CHANGE to the current license. Or, at least, that is my reading of the license. Thus my suggestion that the Drupal Association or the core committers should consult a lawyer.
Comment #12
Morbus IffThe disparity here is that:
* pwolanin only accepts "specification" of the license if a Drupal /source file/ says so.
* Dries and company believe specification happened by shipping a LICENSE.txt indicating 2.0 (I agree).
* Said LICENSE.txt says that the "safest way for specifying, not "only", is to include a note in each source file.
Comment #13
pwolanin CreditAttribution: pwolanin commented@Morbus - the 2.0 license itself says:
This says to me that Drupal, at this very moment, may be licensed under GPL 1.0, 2.0, or 3.0 by anyone who is making/distributing a derivative work, even though it is being distributed under GPL 2.0 on drupal.org. But, again, one or more lawyers who are experts should be consulted.
Or, if we are satisfied with the status quo, I'll happily close this issue.
Comment #14
Morbus Iffpwolanin - I'm trying to see your side of the argument (and to argue for you, to others) so you have to try and see mine (also Dries, et. all) too -- otherwise, we're just going to run around in circles, as you're repeating the same arguments you've said before. As I said above, YOU consider specification of a license version to be a specific (or all) Drupal source file containing the exacting version number of the GPL. This is where the basis of your argument comes from - this lack of specification in any Drupal source file. This is considered the "safest" approach, according to the LICENSE.txt.
However, Dries, myself, et. al, consider shipping the LICENSE.txt, which clearly specifies Version 2.0 in the header, as indication of this specificity. This is not considered the "safest" approach, according to the LICENSE.txt, but the LICENSE.txt doesn't forbid us from doing this, or intending this. This is where you're not meeting us. The LICENSE.txt says that the source file modification is the /safest/ bet, not the /only/ bet. In the case of Drupal, and Dries' /intent/, the shipping of a LICENSE.txt that states Version 2.0 (and not "any later version") in the header, is the specification of which license Drupal falls under.
Comment #15
pwolanin CreditAttribution: pwolanin commented@Morbus - I appreciate your role and willingness to have a constructive dialog about how to best proceed. The text that includes the line about "safest":
So, I read it as the license does not apply AT ALL unless there is a copyright notice, and that the safest place to put that copyright notice is at the start of each file. For example, the full copyright notice could be in a COPYRIGHT.txt file.
Comment #16
pwolanin CreditAttribution: pwolanin commentedhere's a modified patch that would at least improve the current situation by adding a copyright statement and specifying that the license terms are in the LICENSE.txt file. I guess some code dates back to 2001?
Comment #17
keith.smith CreditAttribution: keith.smith commentedLines 65-66 of LICENSE.txt state:
So, I'm adding "beta-breaker:" to the title -- this issue must, IMHO, be resolved before a beta ships. Given the absence of such a notice, one can make a very cogent argument that the license does not apply. Witness this very issue.
On a quick perusal of www.gnu.org, I did find some oblique references to licensing fonts under the GPL through including a license statement along with the font files. In all other instances the license contemplates attachment through either adding a copyright statement, exclusion of warranty and pointers to licensing information in the source of the program, and/or displaying that same information through a splash screen or text output if one is working with an interactive program.
I think pwolanin's latest patch does the trick of providing the information needed in index.php. To be extra careful, it might not hurt to distill this down to one or two sentences to be included in EVERY source file as LICENSE.txt suggests. ("...attach them to the start of each source file...")
Comment #18
chx CreditAttribution: chx commentedFollowing hours of digging here is what I see
And finally, as the GPL v2 almost begins with
Actually we do not have such a notice. We do ship a GPL v2 text alongside Drupal but whether that consitutes such a notice is not really likely. The whole situation is extremely hairy.
Now, pwolanin's code agrees with the above findings -- it does not state a version number. Whether this notice can get in or not is clearly Dries' decision but we have an issue status asking for his decision so I set to that.
Comment #19
Freso CreditAttribution: Freso commentedI just wanted to note that if LICENSE.txt doesn't apply, all that is left is plain copyright law. Which means no distribution, etc. If one agrees to distribute and work on the code under the terms of LICENSE.txt, those terms are what applies. If one doesn't recognise any license for this, all that is left is copyright law. Just a little reminder of another reason I find that this really shouldn't need to be discussed this much. But oh well. (Btw, I also don't mind using v2+, I just don't see this as a possibility here.)
But let's hear Dries' comment(s).
Comment #20
keith.smith CreditAttribution: keith.smith commentedI did a quick review of WordPress and Joomla practices this morning.
WordPress
Joomla
I suspect it comes down to where Drupal (or Dries, in this case) wants to be on this continuum of "license expression." Merely packaging LICENSE.txt with the program, when taken with numerous other references like http://drupal.org/about, certainly imply the licensing of the program under the GPL and is probably sufficient.
Neither "imply" nor "probably" are very strong words, however.
To express that intent more forcefully, we should include this patch.
To express that intent more forcefully still, we should consider a similar header for each source file as suggested in LICENSE.txt.
One step even further might be to include a COPYRIGHT.txt restating this information, and including the copyright/licensing headers from included works like jQuery.
(Removing "Beta-blocker" from the issue title.)
Comment #21
Dries CreditAttribution: Dries commentedI'm not too worried about this. The LICENSE.txt clearly states that Drupal is GPL 2. Not including the license snippet in every file is a deliberate choice because it's a silly performance cost for dynamically interpreted applications. I don't mind to add such a snippet to index.php though, but let's stay clear from adding it to all files.
Comment #22
chx CreditAttribution: chx commentedDries, I am so sorry but the license txt does not clearly state that. Much rather it clearly states as we quote above
I was unable to unearth such a version number specification.
Comment #23
mango CreditAttribution: mango commentedSince Drupal now features a proper installer, it seems fairly easy to include a license agreement in the installation process. It would make for greater clarity on this point. One could also refer to the license.txt for future reference.
Once the GPL discussion has been agreed upon, would you consider including a license agreement in the installation procedure?
Comment #24
Freso CreditAttribution: Freso commentedchx:
Line 4 of LICENSE.txt says . There are no mentions anywhere in the source or any related files to "or [any] later [version]". Also, if Drupal isn't distributed and otherwise handled under the terms of LICENSE.txt (which, as previously demonstrated, says ), it should be handled by regular copyright law.
mango:
One doesn't have to accept the license to download and use (and even modify locally) Drupal or any contributions to Drupal. The GPL doesn't have any effect until you try and distribute Drupal further, with or without changes. And if you download Drupal for distribution, you might not ever install it anywhere yourself, thus never "agreeing" to the license. All in all, I'd find that it would just be another (mostly pointless) step in the installation process, thus slowing it (IMHO, unnecessarily) down.
Comment #25
pwolanin CreditAttribution: pwolanin commentedputting the title back. A brief notice in the installer would be nice too. The GPL is not a license that the user need to actively accept to use Drupal, rather it governs whether and how they can change or redistribute it.
@Dries - if you want to minimize the amount of license-related comment in the PHP, we could shift the bulk of this to a COPYRIGHT.txt file and just have a couple lines in index.php (and potentially other files - the modules?).
Comment #26
chx CreditAttribution: chx commentedFreso, sorry I can't say anything more than what I said already
Comment #27
pwolanin CreditAttribution: pwolanin commentedok- this patch moves most of the text to a new file: COPYRIGHT.txt Also adds a 2-line notice to index.php and to each module file.
Since we don't have a definitive list of Drupal contributors at this point, after discussion with chx I put a link to the core CVS log messages in COPYRIGHT.txt. This language may need some further refinement, of course.
Comment #28
pwolanin CreditAttribution: pwolanin commenteddoh- and as soon as I posted I saw a typo in COPYRIGHT.txt
Comment #29
keith.smith CreditAttribution: keith.smith commentedI'm sorry -- I'm not where I can roll a patch right now or I would have fixed this small typo myself.
I notice a typo in the word "contributors":
I also note that many programs simply use something like this:
rather than the more detailed description above. I don't feel strongly about this either way, but I guess there could be some sort of instance where the cvs logs may not fully attribute code to the correct author.
And, in the interest of full disclosure, I believe the GNU's web site actually refers to placing license notices in a file called 'COPYING', in the few times where I've actually read an explicit mention of it. I notice that MediaWiki includes their license in a COPYING file. Personally, I think COPYRIGHT.txt makes the most sense, but I did want to mention it.
Comment #30
pwolanin CreditAttribution: pwolanin commentedok, simplified as you suggest which also removes the misspelled word.
Comment #31
pwolanin CreditAttribution: pwolanin commentedComment #32
moshe weitzman CreditAttribution: moshe weitzman commentedwe shipped 5 versions of drupal like this, and if this issue doesn't resolve we will happily ship a 6th. downgrading priority.
Comment #33
keith.smith CreditAttribution: keith.smith commentedI've rerolled the patch in #30, and modified it to only add a copyright notice and link to COPYRIGHT.txt and LICENSE.txt to index.php. Dries, in #21, indicated that he would prefer this approach.
- I modified the link in the proposed COPYRIGHT.txt to point to the GNU's page for the 2.0 version of the GPL, since a later version is now out.
- I added a "Trademark" section to COPYRIGHT.txt identical to that found on the footers of drupal.org.
- I added a "Included works" section to COPYRIGHT.txt to note included works that appear under their own copyright notice. A quick grep of core leads me to believe that the only one is jQuery, but PLEASE correct me if I am mistaken.
All this said, of course, someone should feel free to "won't fix" this issue considering that these notices, if necessary at all, can likely be much more competently handled by the Association's and Dries' legal counsel.
Comment #34
keith.smith CreditAttribution: keith.smith commentedAfter thinking about this for a bit, attached is a tweaked version that changes the prior copyright language in the new file COPYRIGHT.txt to include: "...by the Drupal project contributors listed in MAINTAINERS.txt and as outlined below...".
All the people in MAINTAINERS.txt are going to be copyright holders anyway, and this (IMO) greatly strengthens the copyright language by providing a concrete list of people (with contact information) that are known to be individual copyright holders (in addition to the larger list of copyright holders to be derived from CVS commit logs and related issues). Since this file already exists and is distributed with the package, it costs us nothing to reference it.
Comment #35
Dries CreditAttribution: Dries commentedI've committed a modified version of this patch to CVS HEAD. Thanks.
Comment #36
(not verified) CreditAttribution: commentedAutomatically closed -- issue fixed for two weeks with no activity.