- Package:
- debian-policy
- Source:
- debian-policy
- Submitter:
- Ben Finney
- Date:
- 2017-12-16 15:06:06 UTC
- Severity:
- wishlist
As discussed in the ‘debian-devel’ thread in 2015-05 <URL:https://lists.debian.org/msgid-search/85lhgjzqy3.fsf@benfinney.id.au>, there is value in recording the explicit text from the copyright holder that *grants* a license to the recipient. The attached patch updates the ‘copyright-format’ specification to describe a “License-Grant” field, and clarifies the other fields in relation to this.
(the patch tag has a special meaning in the bugs on debian-policy, to indicate that consensus has been reached and discussion is over). Le Fri, May 22, 2015 at 10:07:45AM +1000, Ben Finney a écrit : Hi Ben, I just read through the thread on debian-devel; I think that the Lintian warning "dep5-copyright-license-name-not-unique" is wrong. As you can see on lintian.debian.org, it is issued for more than a thousand packages. At this point one needs to consider if the current practice should be adatped to Lintian or if Lintian should be adapted to the current practice. The current practice is that in cases like the following one, the stand-alone license paragraph is the one that defines the license text. License: foo Do whatever foo you want. ------------------------------------------ In my opinon, clarifying the standard would be better than changing one thousand packages. Experiments on new fields are welcome, and it is good to open bugs to track them. But I think that we should first see how the proposed field gets traction before adding it to the specification. Have a nice day,
At somewhat related https://bugs.debian.org/786450#8 (bug against lintian triggered not by License-Grant but License-Reference), Jakub Wilk argues that Copyright Format 1.0 mandates License _field_ - not only, as I believe, License _paragraph_ - containing all required licensing information, and consequently forbids separation into other fields like License-Grant. - Jonas iQIcBAEBAgAGBQJVXwhnAAoJECx8MUbBoAEh6kcQAJafEYySq9y9YFOUvJsf4YD1 uaBvriyfOm+Zmx3Zsp3Y0p0NtnYqnN+pK+n/EPmkkmVizWWv8SnRkZjyYZG58XnT M0w8pD+37SM8b3bwPu5S3jg2+FV/ItkuFSXek8uiJhGUqorh5L4wASDH3KZiVWS/ kuX878uQFkOGYe3btoTa+gBJ5Ej/ROs0Hc8k6XukSf+zallLH5qPLcrDmM3Vh9fU v14v8Lu5xxKDr4RtzdyhcBL7N6tDRIhQ8qtLwnZcwWw2HO1GH6BGqvJmy+HOjOqM pO5A6EtZ/SisT+W9Bh7mmUN1BDrAIwXPqAMx23j1/Y/xhnaaGdtxA/iHqy42QwSL e1scn5iW/6MntokN1M33Gx9Q8d1AW+lLsWNyo3/LD3h6hyrvpzywX/twksLkBmx7 XSial79QtutQHXgTcHhOKcZ0faNAXnf7zF+XqzIQmPNEy3T562FHIaPwMpK3RlmD E6Uz5vhb33yKoMKaJrFZUp6LB68NHPhsDONsbXZRsNgxJ7BQ20bYYTO7O+/g3P6L ma3hp6RxUb4EyEpjLFpa9tR2aB/LctK6oh855hT9yy3a0GqBZk6m4cQi8vnLtw2I qkKe2vauDU98LkGnYNGhCPdOn+rEI8CtIRGHzbTifN3nRnkC+b0ErrjnjrmcBm4G gKROsIUDnRTVBFUoDUU6 =PzHV -----END PGP SIGNATURE-----
Hello, codesearch.debian.net suggests that this field is now used in quite a few packages. It seems reasonable to add a description of its use to the copyright format. I have some questions about Ben's patch: 1) the patch needs to be rebased against current policy 2) Is there a missing "License-Grant:" here:
Thank you for bringing that to this discussion.
I'll take care of that in a few days.
Yes, I think that the detail text there belongs in a “License-Grant”
field.
Files: debian/patches/fancy-feature
Copyright: 2010 Daniela Debianizer
License: GPL-3+
License-Grant:
This program is free software: you can redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation, either version 3 of
the License, or (at your option) any later version.
provided that the text is actually the literal grant of license from
the copyright holder.
I have updated my changes by rebasing onto current ‘master’ (commit hash ‘06f7d27ac0e6aea9’). The patch is attached to this message.
Thank you for the new patch, Ben. Comments: - please move the License-Grant field to the end of the list of fields to avoid any renumbering - please strip the rewordings that you've made to other parts of the document, so this patch addresses this bug alone. If you want to make those changes, please file separate 'informative' bugs against debian-policy; these do not need to be seconded and are applied at the discretion of the policy editors. - I think you've used too many spaces to indent the License-Grant text in the examples. Shouldn't it be just one space? - since the field is optional, I don't think we should modify every example to include License-Grant. Perhaps consider reducing the number of times you add it? - note that this bug doesn't apply to policy's HEAD anymore because we've switched to rST; it would be nice if you could rebase but I will happily do this on your behalf as I was partly responsible for the switch
Did you find a conflict? I have pulled the latest HEAD (commit hash f0f316c879a7e60e), and the ‘./copyright-format-1.0.xml’ remains the only source document of the “Machine-readable debian/copyright file” specification. The file doesn't appear to have changed enough to cause any conflict; the changes in this patch still apply fine to current HEAD, in my tests. Perhaps you still have a branch that converts that document to reST?
Sorry, I forgot that we haven't actually converted that file.
Done, reported as bug#874090.
I think the License-Grant field is a useful addition to the format,
resolving some issues around whether License is meant to be the license,
the license grant or both, and I would like to be able to start using it.
I assume a normative change to the available fields, and to the meaning
of License, would make this be copyright format 1.1?
that means someone familiar with debian/copyright can usually skip to
the next paragraph without reading the license grant in detail!
What happens if the license grant *is* the full license, as with many
short permissive licenses, and in particular the BSD and MIT/X11 license
families? (I suspect the answer is meant to be "keep doing what you're
doing now" - break out the license-grant-and-license to a standalone
License paragraph if all instantiations are identical, or keep it in a
non-standalone License field per instantiation if they are not?)
Should Example 3, "Simple" be using the License-Grant too? If I understand
correctly, it should ideally become:
Format: ...
Upstream-Name: ...
Source: ...
Files: *
Copyright: ...
License-Grant:
This program is free software; ...
License: GPL-2+
On Debian systems, ...
which I don't think makes it significantly less simple.
Or if the intention is to keep Example 3, "Simple" using the fields it
currently uses, it should probably be changed to something that uses the
MIT/X11 license, like in
<https://tracker.debian.org/media/packages/libg/libgfshare/copyright-2.0.0-2>
which is a real d/copyright that is as simple as this one.
Example 4, "Complex" should probably be updated to use License-Grant,
because quoting the GPL license grant in a standalone License paragraph
after License-Grant has been added seems counter-intuitive. I'm curious
to see how that would look, if we imagine Joe Hacker and Thomas Brown
had used the same form of words for their GPL-2+ license grants - does
the author of the copyright file have to choose between duplicating the
License-Grant or combining those two paragraphs, or is there some way
to deduplicate identical license grants without combining the paragraphs?
Perhaps standalone License paragraphs should be allowed to have a
License-Grant field, which applies to all references by name to
that license that do not declare their own License-Grant? Or perhaps
authors of d/copyright files should be encouraged to merge paragraphs
that have identical license grants but different Files and Copyright.
Regards,
smcv
Hello Simon, I spoke to Russ about this and I think we want to avoid bumping the version number unless we make an incompatible change. It just creates work for people. Adding a strictly optional field can be done without doing this.
I strongly disagree with this. I think this adds more syntax without adding any more information. The License: field is already very consistently used to contain whatever details of the license are required to be shipped with the package - either a full text of a license, or a license grant with a pointer to /usr/share/common-licenses. If people feel that it's insufficiently obvious that this is the correct usage of the field, by all means, let's document that better; but let's not make a backwards-incompatible change to the syntax that doesn't benefit users of the file. Cheers,
I do see your point, but the current use of License doesn't seem suitable
for what I had understood the unwritten rules to be. I hope you were
right about this and I was wrong, because if that's the case, then the
requirements for d/copyright are less onerous than I'd understood them
to be.
It had not been my understanding that it was that consistent. I hope
I was wrong. If I'm understanding the rules correctly, there are two
problem areas:
As far as I'm aware, we're required to include both the license grant and
the full license text in d/copyright, even in the "uncommon license" case
(see the uses of CC-BY-SA-3.0-Unported, CC-BY-3.0-US, CC-BY-SA-3.0-US,
CC-BY-SA-2.0-IT[1] in adwaita-icon-theme), which means we have to introduce
some sort of ad-hoc divider within the License to separate the license
grant from the license.
Similarly, in the case where there is more than one form of words for the
license grant used within a project (for instance when one author uses
the FSF's recommended GPL-2 license grant, and another has just said
"License: GPLv2", as in src:openarena-data), my understanding was that
we're meant to copy all of them, word-for-word, into d/copyright. Having
said that, it would seem absurd to have a requirement to quote all license
grants when they only differ trivially (e.g. different replacements for
"This program" in the GPL license grant for files copied from different
projects), and src:openjk was accepted through NEW despite its copyright
file avoiding that and specifically saying so, so I clearly don't fully
understand what the unwritten policy is here.
I don't fully understand why we're doing this or what goal(s) we're
trying to achieve by doing so, and as far as I know the rationale isn't
written down anywhere, so I'm just trying to follow the unwritten
rules - if I've misunderstood the rules, I would be delighted to be
able to reduce the amount of boilerplate I copy around. If we had some
clarification from the ftp team that the license grant is only required
to be copied into d/copyright if the license requires it (I don't think
any do) or when referencing a common license, that would negate the
first concern. Similarly, if the ftp team consider the "main" license
grant from a (package,license) pair to be sufficient, or if the ftp team
consider the FSF's recommended form of words to be a better thing to put
in d/copyright than whatever ad-hoc informal license grant an upstream
might have chosen to use, then that negates my second concern.
See also <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=883950>
which attempts to clarify whether/when/why a license grant is required.
The closest we have to a formal policy right now, as far as I'm aware, are
<https://lists.debian.org/debian-devel-announce/2006/03/msg00023.html>,
and the rows "License III" and "Wrong license pointer" in
<https://ftp-master.debian.org/REJECT-FAQ.html>. Is there a more recent
or more canonical policy statement from the ftp team that I've missed?
The ambiguity of what the rules are is amplified by the fact that
violations of those rules are treated as RC or worse-than-RC (rejection);
so there is considerable incentive for maintainers to assume the worst,
and do a lot of tedious busy-work that might not actually be required,
in the hope that it will be enough to avoid package removals and delays.
I hope that the result of Policy bugs like this one can be to make the
ftp team's job easier by making the copyright files that they review
shorter and more straightforward.
Thanks,
smcv
[1] I'm aware that CC-BY-SA-2.0-IT is probably not considered a Free
license; it's part of a triple-license (!) on a file from Wikimedia
Commons. If I understand the unwritten rules correctly, we're
required to copy the entire dual- or (in this case) triple-license
into d/copyright, even the options that we would never choose to use
because they are non-Free. I hope someone will tell me I was wrong
about this.
Hello Steve, It's an optional field and we are not touching the description of the License: field. For those who are worried about this issue, both License: and License-Grant: can be used; for those who are not, such as yourself, you can just keep using License: as you have been doing. There is no consensus on either of these options so we're making both possible. Does this weaken your disagreement?