Quoting Ben Finney (2015-05-20 08:46:44)
> Is there a place in ‘debian/copyright’ for the text granting license 
> to the work, separate from the text of the license itself?
>
>
> For a simplified example: Package ‘foo’ has a grant of license broadly 
> under GPL-3+, and some files under CC-BY-SA-3.
> 
> It also has a group of files, ‘libquux/*’, to which license is granted 
> by some specific text:
> 
>     You may modify and/or redistribute this work under the terms of 
>     either the GPL version 2 or later, or the Creative Commons 
>     Attribution Share-Alike license version 3.
> 
> Should that text – the grant of license for those files – appear in 
> the ‘debian/copyright’ file for the package?
> 
> It is not the license text itself (that would be the full text of the 
> GPL v2 and the CC By-SA v3, respectively), so it doesn't go in a 
> separate “License” paragraph.
> 
> There does need to be a separate “License: CC-BY-SA-3” paragraph 
> giving the full text of that license, but this is different from the 
> text *granting* the license in the work.
> 
> It is not a grant of license to the work as a whole (it only applies 
> to a subset of files), so it doesn't belong in the header paragraph.
> 
> 
> Does it belong in the “Files: libquux/*” paragraph? The most logical 
> place would be in the “License” field of that paragraph, separate from 
> the standalone “License” paragraph::
> 
>     Files: *
>     Copyright: […]
>     License: GPL-3+
> 
>     Files: resources/*
>     Copyright: […]
>     License: CC-BY-SA-3
> 
>     Files: libquux/*
>     Copyright: […]
>     License: GPL-2 or CC-BY-SA-3
>         You may modify and/or redistribute this work under the terms of
>         either the GPL version 2 or later, or the Creative Commons
>         Attribution Share-Alike license version 3.
> 
>     License: CC-BY-SA-3
>         THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS
>         CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK
>         IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW.
>         […]
> 
> That makes sense to me: we have the grant of license where it applies to
> the specific files, and we have the license text itself in a stand-alone
> paragraph.
> 
> 
> Lintian no longer agrees that's good, though. It complains with the
> warning “dep5-copyright-license-name-not-unique”::
> 
>     W: dep5-copyright-license-name-not-unique
>     N:
>     N:   This paragraph defines an already defined license.
>     N:
>     N:   According to the specification, short license names are required to 
> be
>     N:   unique within a single copyright file.
>     N:
>     N:   Refer to
>     N:   https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ 
> for
>     N:   details.
> 
> On the face of it, the warning is a false positive in this case: the 
> stand-alone “License: CC-BY-SA-3” paragraph is the first and only 
> *definition* of that license in the file. The earlier “License 
> CC-BY-SA-3” field is not a definition of the license, it is showing 
> the text which explicitly *grants* license.
> 
> I can see that's not feasible to teach Lintian to distinguish, given 
> the current ‘debian/copyright’ format definition. But I don't want to 
> just override the Lintian check; it's good to catch *true* positives 
> that violate the copyright format in the manner described.
> 
> 
> What is the correct solution for this? Can we have all that 
> information in the places I've described? Can we have them elsewhere 
> in the file, in a format easier for Lintian to check?

There is a widespread example of this: Most common Perl module licensing 
is "Artistic or GPL-1+".

Standard approach in The Perl team seems to be to skip the license 
granting statement (i.e. verbatim-from-license-issuer text) and include 
only license boilerplates (i.e. verbatim-from-license-author texts), 
like this (from libpath-class-perl):

> Files: *
> Copyright: 2014, Ken Williams <kwilli...@cpan.org>
> License: Artistic or GPL-1+
[...]
> License: Artistic
>  This program is free software; you can redistribute it and/or modify
>  it under the terms of the Artistic License, which comes with Perl.
>  .
>  On Debian systems, the complete text of the Artistic License can be
>  found in `/usr/share/common-licenses/Artistic'.
> 
> License: GPL-1+
>  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 1, or (at your option)
>  any later version.
>  .
>  On Debian systems, the complete text of version 1 of the General 
>  Public License can be found in `/usr/share/common-licenses/GPL-1'.

I find it better to separate verbatim and non-verbatim texts - if for 
nothing else then becaues that has potential for improved 
machine-processing of the files.

What seemed obvious to me when we designed the copyright file format is 
to add verbatim-by-license-issuer text at the Files section - because 
that text actually may vary across files and be prone to reading and/or 
interpretation errors.  Something like this (from above with text added 
from /usr/share/perl5/Path/Class.pm itself):

> Files: *
> Copyright: 2014, Ken Williams <kwilli...@cpan.org>
> License: Artistic or GPL-1+
>  This library is free software; you can redistribute it and/or modify 
>  it under the same terms as Perl itself.

I used that pattern in the past - until realizing (thanks to lintian) 
that Copyright format 1.0 (unlike earlier drafts) explicitly forbids 
both referencing and including license text.

The pattern I use now is by use of self-invented pseudo-fields 
License-in-Comment (for verbatim text forbidden in License field) and 
Comment-in-License (for non-verbatim text commonly expected), like this 
(from libtype-tiny-perl):

> Files: *
> Copyright: 2012-2014, Toby Inkster <toby...@cpan.org>
> License: Artistic or GPL-1+
> Comment:
>  License:
>  .
>  This is free software; you can redistribute it and/or modify it under 
>  the same terms as the Perl 5 programming language system itself.
>  .
>  Comment:
>  .
>  Perl 5 is licensed under either the 'Artistic license' or the 'GNU
>  General Public License' version 1 or later.
[...]
> License: Artistic
>  Comment:
>  .
>  On Debian systems the 'Artistic License' is located in
>  '/usr/share/common-licenses/Artistic'.
>  
> License: GPL-1+
>  Comment:
>  .
>  On Debian systems the 'GNU General Public License' version 1 is 
>  located in '/usr/share/common-licenses/GPL-1'.


As a sidenote, I use similar pattern when only a single license is in 
use and that license has a common boilerplate but author chose a custom 
verbatim statement, like this (from libpath-tiny-perl):

> Files: *
> Copyright: 2013, David Golden <dagol...@cpan.org>
> License: Apache-2.0
> Comment:
>  License:
>  .
>  This is free software, licensed under:
>  .
>  The Apache License, Version 2.0, January 2004
[...]
> License: Apache-2.0
>  Comment:
>  .
>  On Debian systems the 'Apache License' version 2.0 is located in
>  '/usr/share/common-licenses/Apache-2.0'.


I hope that helps.


 - Jonas

-- 
 * Jonas Smedegaard - idealist & Internet-arkitekt
 * Tlf.: +45 40843136  Website: http://dr.jones.dk/

 [x] quote me freely  [ ] ask before reusing  [ ] keep private

Attachment: signature.asc
Description: signature

Reply via email to