John M. Dlugosz has asked for the wisdom of the Perl Monks concerning the following question:

When building the Makefile via perl Makefile.PL, it notes "No license specified, setting license = 'unknown'". For a commercial work, what do I need to set to make it "specified".?

Replies are listed 'Best First'.
Re: Another Toolchain question
by Khen1950fx (Canon) on Apr 02, 2011 at 05:19 UTC
    When I put a module together, there are two things that I double-check. First, I make sure that it's in the Makefile.PL:
    ( ExtUtils::MakeMaker->VERSION() gt '5.50' ? ('LICENSE' => 'perl') : () ),
    Second, before I run make dist, I check the Meta.yml. The license must be specified there:
    ExtUtils::MakeMaker: 6.42 distribution_type: module generated_by: 'Module::Install version 0.91' license: perl
    Then run make dist
      This Makefile.PL ends with a call to WriteAll. I don't see where to put such arguments.
Re: Another Toolchain question
by Anonymous Monk on Apr 02, 2011 at 01:52 UTC
    perldoc ExtUtils::MakeMaker |grep -A3 -i license
    LICENSE The licensing terms of your distribution. Generally its "perl" f +or the same license as Perl itself. See Module::Build::API for the list of options. -- LICENSE This program is free software; you can redistribute it and/or modi +fy it under the same terms as Perl itself.
    perldoc Module::Build::API |grep -A3 -i license
    create_license [version 0.31] This parameter tells Module::Build to automatically create + a LICENSE file at the top level of your distribution, contai +ning the full text of the author's chosen license. This require +s "Software::License" on the author's machine, and further requires that the "license" parameter specifies a license +that it knows about. create_makefile_pl -- license [version 0.07] Specifies the licensing terms of your distribution. -- Software::License subclass name (e.g. 'Apache_2_0') instea +d of one of the keys below. The legacy list of valid license values include: apache The distribution is licensed under the Apache License, Version 2.0 (<http://apache.org/licenses/LICENSE-2.0>) +. apache_1_1 The distribution is licensed under the Apache Software License, Version 1.1 (<http://apache.org/licenses/LICENSE-1.1>). artistic The distribution is licensed under the Artistic Licens +e, as specified by the Artistic file in the standard Perl distribution. -- The distribution is licensed under the Artistic 2.0 Li +cense (<http://opensource.org/licenses/artistic-license-2.0. +php>.) bsd The distribution is licensed under the BSD License (<http://www.opensource.org/licenses/bsd-license.php>) +. gpl The distribution is licensed under the terms of the GN +U General Public License (<http://www.opensource.org/licenses/gpl-license.php>) +. lgpl The distribution is licensed under the terms of the GN +U Lesser General Public License (<http://www.opensource.org/licenses/lgpl-license.php> +). mit The distribution is licensed under the MIT License (<http://opensource.org/licenses/mit-license.php>). mozilla The distribution is licensed under the Mozilla Public License. (<http://opensource.org/licenses/mozilla1.0.p +hp> or <http://opensource.org/licenses/mozilla1.1.php>) open_source The distribution is licensed under some other Open Sou +rce Initiative-approved license listed at <http://www.opensource.org/licenses/>. perl The distribution may be copied and redistributed under + the -- license, in which the user may choose between either t +he GPL or the Artistic license. restrictive The distribution may not be redistributed without spec +ial -- The distribution is licensed under a license that is n +ot approved by www.opensource.org but that allows distrib +ution without restrictions. Note that you must still include the terms of your license + in your code and documentation - this field only sets the information that is included in distribution metadata to l +et automated tools figure out your licensing restrictions. Hu +mans -- You may also use a license type of "unknown" if you don't +wish to specify your terms in the metadata. Also see the "create_license" parameter. meta_add [version 0.28] -- core properties, such as "module_name" and "license", are defi +ned using this class method. The first argument to "add_property()" is always the name of t +he -- create_license() create_makefile_pl() create_packlist() create_readme() -- license() magic_number() mb_version() meta_add()
    See also Software::License