Hi, I have packed several R modules. R modules have a description file with a license field. Lots of those modules have as license: GPL version 2 or later.
Should this be placed in the spec file as GPL or allow the fully license as described in the DESCRIPTION file?
While searching for tags used in the License field for Extras I got this result:
$ grep -h ^License: */devel/*.spec | sed -e 's|License:||' | sed -e 's|^\s*||' | sed -e 's|\s*$||' | sort | uniq -c | sort -nr 734 GPL 215 GPL or Artistic 152 LGPL 106 BSD 40 MIT 28 Distributable 22 Artistic 11 BSD-like 11 Artistic or GPL 10 Public Domain 8 LaTeX Project Public License 6 CPL 5 PHP 5 GPL/LGPL 5 BSD-ish 4 GPL/BSD 4 Freely distributable 4 Apache Software License 3 W3C Software License 3 SIL Open Font License 3 Redistributable, with restrictions 3 Python Software Foundation License 3 OSGPL 3 Freeware 2 QPL 2 PSF 2 NetHack General Public License 2 GPL, LGPL 2 CNRI 2 BSD-style 1 ZPL 1 zlib/libpng 1 wxWidgets Library Licence 1 W3C (see: http://www.w3.org/Consortium/Legal/copyright-software.html) 1 VOSTROM Public License 1 University of Washington Free-Fork License 1 The PHP License 1 Redistributable 1 QPL/LGPL 1 Python License (CNRI Python License) 1 Public Domain, BSD, Python License, GPL - see COPYING.txt 1 PSF or ZPL 1 PSFL/ZPL 1 Other 1 NetCDF 1 Neotonic ClearSilver Software License 1 MPL/LGPL 1 MPL/GPL/LGPL 1 MPL 1 MIT/X Consortium License 1 MIT/X11 1 MIT-style 1 MIT, GPL, LGPL 1 MIT and GPL 1 MIT/Academic 1 LGPL with exceptions 1 LGPL/W3C 1 LGPL/MPL 1 LGPL/MIT 1 LGPL, GPL, Historical Permission Notice and Disclaimer 1 LGPL/GPL 1 LGPL for library, GPL for utilities 1 LGPL/BSD 1 LGPL (binaries GPL) 1 Kannel 1 JasPer License Version 2.0 1 Intel Open Source License 1 IBM Public License 1 GPL version 2 or newer 1 GPL version 2 or later. 1 GPL version 2 or later 1 GPLv2 1 GPL, MIT/X11 for X11 bits 1 GPL & MIT 1 GPL and modified LGPL 1 GPL and Free Art License 1 GNU Free Documentation License 1 Giftware 1 Freely distributable (BSD-like) 1 Free 1 Erlang Public License 1 Distributable (Unknown) 1 BSD w/ advertising 1 BSD style 1 BSD/PSF -- see COPYING 1 BSD/MIT 1 BSD like 1 BSDish 1 BSD, GPL 1 BSD and LGPL 1 BitTorrent Open Source License 1 ASL-derived 1 Artistic/LGPL 1 Apacheish 1 Aladdin Free Public License, Ghostgum Software Pty Ltd 1 3DFX GLIDE Source Code General Public License
On Tue, 2006-03-07 at 11:12 +0000, Jose' Matos wrote:
Hi, I have packed several R modules. R modules have a description file with a license field. Lots of those modules have as license: GPL version 2 or later.
Should this be placed in the spec file as GPL
IMO: This.
or allow the fully license as described in the DESCRIPTION file?
Do you mean the %description tag? I am opposed to this.
"License: GPL" should be considered enough to provide an informative overview over a package's licensing.
While searching for tags used in the License field for Extras I got this result:
1 GPL version 2 or newer 1 GPL version 2 or later. 1 GPL version 2 or later 1 GPLv2
IMO, all these above are superfluous and should be changed into "GPL", because current "GPL" always implies "GPLv2 or later/newer".
Ralf
On Tuesday 07 March 2006 11:49, Ralf Corsepius wrote:
or allow the fully license as described in the DESCRIPTION file?
Do you mean the %description tag? I am opposed to this.
Nope. DESCRIPTION is the the counterpart of the spec file in R modules, where all the information that R uses to build the module is placed.
So the setence above should be read as:
... or allow the full license as described by author in the R module.
On Tue, 2006-03-07 at 12:02 +0000, Jose' Matos wrote:
On Tuesday 07 March 2006 11:49, Ralf Corsepius wrote:
or allow the fully license as described in the DESCRIPTION file?
Do you mean the %description tag? I am opposed to this.
Nope. DESCRIPTION is the the counterpart of the spec file in R modules, where all the information that R uses to build the module is placed.
So the setence above should be read as:
... or allow the full license as described by author in the R module.
I'd say, include DESCRIPTION as %doc, and keep License: as simple as possible.
~spot
On Tuesday 07 March 2006 14:46, Tom 'spot' Callaway wrote:
I'd say, include DESCRIPTION as %doc, and keep License: as simple as possible.
But then we are duplicating that file, since R BUILD command also installs it.
On the other hand that is a very _descriptive_ file. ;-)
I noticed before that you do the same in your R packages. So we could adopt this as the standard practice for R packages. Does this looks like a deal? ;)
Thank your for the input. :-)
~spot
Tom "spot" Callaway: Red Hat Senior Sales Engineer || GPG ID: 93054260 Fedora Extras Steering Committee Member (RPM Standards and Practices) Aurora Linux Project Leader: http://auroralinux.org Lemurs, llamas, and sparcs, oh my!
On Tue, 2006-03-07 at 15:26 +0000, Jose' Matos wrote:
On Tuesday 07 March 2006 14:46, Tom 'spot' Callaway wrote:
I'd say, include DESCRIPTION as %doc, and keep License: as simple as possible.
But then we are duplicating that file, since R BUILD command also installs it.
On the other hand that is a very _descriptive_ file. ;-)
I noticed before that you do the same in your R packages. So we could adopt this as the standard practice for R packages. Does this looks like a deal? ;)
Sounds like a good idea. :)
~spot
On Tue, 2006-03-07 at 12:49 +0100, Ralf Corsepius wrote:
On Tue, 2006-03-07 at 11:12 +0000, Jose' Matos wrote:
While searching for tags used in the License field for Extras I got this result:
1 GPL version 2 or newer 1 GPL version 2 or later. 1 GPL version 2 or later 1 GPLv2
IMO, all these above are superfluous and should be changed into "GPL", because current "GPL" always implies "GPLv2 or later/newer".
Not all authors agree with this.
[quote from="http://lkml.org/lkml/2006/1/25/273"]
The Linux kernel has always been under the GPL v2. Nothing else has ever been valid.
The "version 2 of the License, or (at your option) any later version" language in the GPL copying file is not - and has never been - part of the actual License itself. It's part of the _explanatory_ text that talks about how to apply the license to your program, and it says that _if_ you want to accept any later versions of the GPL, you can state so in your source code.
[/quote]
So at least the GPLv2 one - being it the Linux kernel - should remain GPLv2.
On Wed, 2006-03-08 at 11:09 +0100, Iago Rubio wrote:
On Tue, 2006-03-07 at 12:49 +0100, Ralf Corsepius wrote:
On Tue, 2006-03-07 at 11:12 +0000, Jose' Matos wrote:
While searching for tags used in the License field for Extras I got this result:
1 GPL version 2 or newer 1 GPL version 2 or later. 1 GPL version 2 or later 1 GPLv2
IMO, all these above are superfluous and should be changed into "GPL", because current "GPL" always implies "GPLv2 or later/newer".
Not all authors agree with this.
[quote from="http://lkml.org/lkml/2006/1/25/273"]
Not quite.
The GPL and must not be modified:
<cite> GNU GENERAL PUBLIC LICENSE Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. </cite>
Note the last sentence.
I.e. any package claiming to be GPL'ed must be licensed with "this GPL" (rsp. predecessors or successors) or it doesn't qualify as GPLed.
The Linux kernel has always been under the GPL v2. Nothing else has ever been valid.
The "version 2 of the License, or (at your option) any later version" language in the GPL copying file is not - and has never been - part of the actual License itself. It's part of the _explanatory_ text that talks about how to apply the license to your program, and it says that _if_ you want to accept any later versions of the GPL, you can state so in your source code.
[/quote]
So at least the GPLv2 one - being it the Linux kernel - should remain GPLv2.
I don't understand what you want to say here.
Are you trying to say, that we should emphasize there different versions of the GPL in an rpm's "license:" tag?
I don't see much sense in this, because
1. An rpm's "license:" tag is informative, and by no means can be considered legally binding. The legally binding text is that contained in the detached license text and that contained in individual source files.
2. At present, practically all "GPL'ed" packages are "GPLv2", because GPLv1 is dead for 15 years and GPLv3 has not been released yet.
I.e. as I see it, a license:-tag "GPL" is identical to "GPLv2".
Ralf
On Wed, 2006-03-08 at 17:24 +0100, Ralf Corsepius wrote:
On Wed, 2006-03-08 at 11:09 +0100, Iago Rubio wrote:
On Tue, 2006-03-07 at 12:49 +0100, Ralf Corsepius wrote:
On Tue, 2006-03-07 at 11:12 +0000, Jose' Matos wrote:
While searching for tags used in the License field for Extras I got this result:
1 GPL version 2 or newer 1 GPL version 2 or later. 1 GPL version 2 or later 1 GPLv2
IMO, all these above are superfluous and should be changed into "GPL", because current "GPL" always implies "GPLv2 or later/newer".
Not all authors agree with this.
[quote from="http://lkml.org/lkml/2006/1/25/273"]
Not quite.
The GPL and must not be modified:
I don't see your point here. This does not means that GPL "always implies GPLv2 or later/newer".
If you think that the GPL license makes mandatory the use of the "any later version" clause - unless modified - then you're wrong.
Just read point nine(*) on the GPL.
<cite> GNU GENERAL PUBLIC LICENSE Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
</cite>
Note the last sentence.
I.e. any package claiming to be GPL'ed must be licensed with "this GPL" (rsp. predecessors or successors) or it doesn't qualify as GPLed.
Unfortunately I don't know what you mean with "rsp." here.
What's clear is most packages are licensed with this GPL and "any later version", some are licensed with a specific version of the GPL.
If the GPL tag always implies GPLv2 or later/newer - as you said - then it should exist a different tag to identify packages that don't allow newer or/nor later versions.
The Linux kernel has always been under the GPL v2. Nothing else has ever been valid.
The "version 2 of the License, or (at your option) any later version" language in the GPL copying file is not - and has never been - part of the actual License itself. It's part of the _explanatory_ text that talks about how to apply the license to your program, and it says that _if_ you want to accept any later versions of the GPL, you can state so in your source code.
[/quote]
So at least the GPLv2 one - being it the Linux kernel - should remain GPLv2.
I don't understand what you want to say here.
Are you trying to say, that we should emphasize there different versions of the GPL in an rpm's "license:" tag?
No I'm not. I've never said that.
I'm just trying to say that GPL does not automatically implies newer versions, so I see no gain on limiting packages released with specific versions of the license, to the "GPL" tag.
To be more clear: I don't think there's a gain on changing the kernel's license tag from GPLv2 - or "GPL version 2" - to "GPL", when it's known that this package is release *only* under version 2 of the GPL license.
I don't see much sense in this, because
- An rpm's "license:" tag is informative, and by no means can be
considered legally binding. The legally binding text is that contained in the detached license text and that contained in individual source files.
Even while it's true - changing the license tag won't change the package's license - you can be liable for errors caused by a bogus license tag, so it has its legal caveats as well.
As example: someone distributing a GPLed rpm package under BSD is sued, but he proves on court that the package when queried identifies itself as BSD licensed. For sure the judge will want to speak with the packager
- At present, practically all "GPL'ed" packages are "GPLv2", because
GPLv1 is dead for 15 years and GPLv3 has not been released yet.
As I said, most GPL packages are "version 2 and any later", others are "only version 2".
It does not means the same now, and won't mean the same when GPL version 3 get released.
I.e. as I see it, a license:-tag "GPL" is identical to "GPLv2".
I think GPL means "GPL v2 or any later/newer" or "any GPL" - and you seemed to agree with this some lines above - and GPLv2 means "only version 2 of the GPL license". May be the wording is not right and it should read "GPL version 2" for clarity.
Said that, I think this discussion is moot. The license tag should be something to study in a package per package basis, and in the case of the package tagged as "GPLv2", it will be less informative to change this tag to "GPL" than let it unchanged.
-------
(*) At http://www.gnu.org/copyleft/gpl.html point nine it's stated:
"Each version is given a distinguishing version number."
And then two special cases:
1) If the package states the version which applies to it and "any later version" - quoted in the original - you can use the current or any newer version of the GPL.
2) If the package states no version, you can use any version.
So not all GPL packages *must* be released with the "any later version" clause, it just states they *can* be released with this clause.
The only other reference to the "any later version" clause on the license terms, is in the example on "How to Apply These Terms to Your New Programs", which is written below the "END OF TERMS AND CONDITIONS".
So reading the GPL it's clear that:
1) You can specify a version of the GPL on your program. 2) You can specify no version, so any version of the GPL could be applied. 3) You can specify a version number, with the phrase "and any later version" if you want to give the freedom to license your program with any later version of the GPL.
packaging@lists.fedoraproject.org