I recently used the "Feedback" section on search.cpan.org to ask the following question:
I've noticed that the CPAN interface for modules now includes a space for the module's "License" -- but that few modules have any entry here (e.g., http://search.cpan.org/~jkeenan/List-Compare- 0.22/ http://search.cpan.org/~lds/CGI.pm-3.01/ http://search.cpan.org/~dconway/Parse-RecDescent-1.94/ ).
Is this because when we use h2xs to set up the skeleton of a distribution, nothing special is done for License?
Or is it because MakeMaker doesn't yet do anything for special for License in the way that it does for, say, YAML?
What should I do to get something that will show up in License? Or should I not (yet) bother?
Graham Barr picked up my query and was kind of enough to respond quickly, as follows:
The license details are taken from the META.yml file. Both MakeMaker, Module::Build and Module::Install can all generate META.yml files. If they all support all fields, I do no know.
Graham.
Per consultation with people on this list, in my two CPAN distributions I have allowed MakeMaker (v6.16) to automatically generate the META.yml file, and I have not made any edits in that file once generated. The file thus generated contains no License information and, if I understand Graham correctly, that means no License info is going to show up on the search.cpan.org main page for each distribution.
Is there anything I could do to generate the License info? Perhaps more to the point, at this point in the development of META.yml, _should_ I do anything about this? (I'm not losing any sleep over this. It's just that I'm always puzzled when I see "License: Unknown" on my distros' main pages, when I've included the standard language about "same terms as Perl itself" in the POD.)
jimk
The latest snapshot of MakeMaker does have support for a LICENSE parameter in your Makefile.PL. You could also set the NO_META flag in Makefile.PL and then manually edit the META.yml file (I dislike this option). Or, you can do the Right Think and make the switch to Module::Build :-)
Regards, Randy.