Update on the licenses and the repository links on CPAN
In December 2012 I checked how many Perl modules on CPAN have license information, and link to their repository in their META files. Later, in February 2013, I published an update.
Today I checked the 1,000 most recently uploaded modules again:
Date | Has license | Has repository link |
December 2012 | 82.6% | 49.6% |
February 2013 | 83.4% | 49.7% |
July 2013 | 87% | 60.1% |
It's a nice improvement, but remember these are the 1,000 most recent uploads. The percantages would be a lot lower if we looked at all the packages currently on CPAN.
I think both of these numbers should be around 99.7%.
If you'd like to check your module, you can use the metacpan_meta.pl 1000 PAUSEID
command with you PAUSEID after installing MetaCPAN::Clients. That will show the 1000 most recent upload for the given PAUSEID. Even if some of them were 5 years ago. It will also show the list of offending distributions.
If you'd like to update them, here are two articles I wrote showing how to make that happen:
link to repository and add license field to META files.
ps. I just checked my own PAUSEID and it tells me 6 packages are missing their license and 11 are missing their repository out of the 62 I have on CPAN. Let's see if I can improve.
p2. I went through the list. Deleted two of the modules from CPAN as they were not relevant any more, and added the above information to most of the others. I have not released them as they don't have any other changes, but the next time I release them they will alrady come with the updated META files.
If distro does not have license in META, it does not mean it has no license at all. README, LICENSE file or POD can contain license.
On the other side, META license can be just wrong or useless.
For example "open_source" - almost useless. Or, for example there is some mess with GPLv3
https://github.com/rjbs/Dist-Zilla/issues/186
https://rt.cpan.org/Public/Bug/Display.html?id=67096
https://rt.cpan.org/Public/Bug/Display.html?id=79587
(M:B does not support GPLv3 at all, distzilla reports it wrong in META 1.4, but correct in META2)
Probably same with GPLv2
@vsespb, you know in this post I was focusing specifically on the META files.
if some licenses are not supported by some of the packaging systems (M::B, distzilla), then please submit bug-reports or even patches to those packagins systems.
If some of the license keys in META files are "wrong or useless", then please submit bug reports or even a patches to them to fix those, and to MetaCPAN::Clients to report them as a separate category.
Thank you for your cooperation.
Ok, I reported https://rt.cpan.org/Public/Bug/Display.html?id=86918
There's a reusable quest related to this on Questhub (the perl realm on Questhub is what was previously called play-perl). On this quest you fix up 5 dists with respect to license and repository link.
Reusable quests are called stencils: they're standard quests to help people get started with Questhub and also contribute to Perl.
Here's my instance of the stencil: feel free to +1 me :-)
Note that the documentation for META_MERGE in ExtUtils::MakeMaker was until recently wrong.
This is now patched, but not yet released. So, if you plan to add meta information to your EUMM-based build, check what is generated in META.yml/META.json.