Bug#764753: libsoftware-license-perl: Artistic license confusion
Niko Tyni
ntyni at debian.org
Fri Oct 10 20:21:32 UTC 2014
Package: libsoftware-license-perl
Version: 0.103010-3
Severity: important
Tags: upstream
X-Debbugs-Cc: debian-perl at lists.debian.org
As seen at <http://spdx.org/licenses/>, there are three variants
of the Artistic license version 1.0 around.
http://spdx.org/licenses/Artistic-1.0
http://spdx.org/licenses/Artistic-1.0-Perl
http://spdx.org/licenses/Artistic-1.0-cl8
The one that is shipped with Perl in the top level "Artistic" file (and
that is included in /usr/share/common-licenses on Debian) is the one
called "Artistic-1.0-Perl", but Software::License has "Artistic-1.0",
which has a different number of clauses and some other more or less
subtle differences.
A crude way to tell these apart is
/7\.\s*C subroutines/ and out("Artistic-1.0-Perl");
/8\.\s*The name of the Copyright Holder/ and out("Artistic-1.0");
/8\.\s*Aggregation of this Package/ and out("Artistic-1.0-cl8");
I'm attaching an even cruder script that can be run on a number of files
and uses the above heuristics. Maybe it's useful to somebody.
It seems to me that at least Software::License::Perl_5 should use
Artistic-1.0-Perl instead, and that Software::License::Artistic_1_0
should possibly default to Artistic-1.0-Perl.
This affects quite a few CPAN distributions using Dist::Zilla and
generating top level LICENSE files. If the author requests the same
terms as Perl itself, generating a different copy of the license than
the one in the Perl distribution seems to be incorrect.
--
Niko Tyni ntyni at debian.org
-------------- next part --------------
#!/usr/bin/perl -w
use strict;
my $found = 0;
my $names = (@ARGV > 1);
while (<>) {
$found = 0 if eof;
/The Artistic License 2\.0/
and out("Artistic-2.0"), next;
/Artistic License/ and $found=1;
next if !$found;
/7\.\s*C subroutines/ and out("Artistic-1.0-Perl");
/8\.\s*The name of the Copyright Holder/ and out("Artistic-1.0");
/8\.\s*Aggregation of this Package/ and out("Artistic-1.0-cl8");
}
out("Artistic-unknown?") if $found;
sub out {
print $ARGV . ": " if $names;
print $_[0] . "\n";
close ARGV;
$found = 0;
}
More information about the pkg-perl-maintainers
mailing list