David Cantrell said:
On Mon, Jun 13, 2011 at 10:25:00PM +0100, Nicholas Bamber wrote:
Experience in packaging perl modules from CPAN , suggests that most
CPAN authors are woefully ignorant of copyright and licensing
issues.
Doing the Right Thing isn't exactly obvious/easy either, so I don't
find this surprising at all.
The concept appears to be flawed, as it appears to care about the
licence field in META.yml, which is known to have been a bad idea.
It's a bad idea because it only supports one value and because that
value has to be one of a small set of licences deemed acceptable.
What you describe here is a bug in the META.yml spec and/or its
supporting modules. No need to work around those when they can be
fixed, eh? :)
If you want to use any other licence, you're supposed to lie in
META.yml and say that your licence is "unknown".
"you're supposed to lie" sounds like a tremendously bad advice.
Obviously, there's something wrong here that can be fixed?
</naive:optimist>
It also has the problem that only people who care will use your
module in their tests, and they will be exactly the sort of people
who don't need your module!
Adding copyright statements (even if arcane/outdated/whatever) is
useful to tell the world who decides the license. This is sometimes
very useful information (especially when the copyright holder chooses
stricter licenses, and the module is useful in commercial settings). I
think adding copyright and license information is helpful for the
former and necessary for the latter - especially if different files in
a distribution have different licenses, or some files are "imports"
from other projects (e.g. distributing a Catalyst app that has the
jQuery files packaged for conveniency.)
For this reason I think having a Test module might be useful (I'd
rather name it Test::License, though.) Make it an author test and put
it in xt/ somewhere.
- Salve (Oslo.pm)
--
#!/usr/bin/perl
sub AUTOLOAD{$AUTOLOAD=~/.*::(\d+)/;seek(DATA,$1,0);print# Salve Joshua Nilsen
getc DATA}$"="'};&{'";@_=unpack("C*",unpack("u*",':4@,$'.# <s...@foo.no>
'2!--"5-(50P%$PL,!0X354UC-PP%/0\`'."\n"));eval "&{'@_'}"; __END__ is near! :)