The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Software::LicenseUtils - little useful bits of code for licensey things

VERSION

version 0.104001

METHODS

guess_license_from_pod

  my @guesses = Software::LicenseUtils->guess_license_from_pod($pm_text);

Given text containing POD, like a .pm file, this method will attempt to guess at the license under which the code is available. This method will return either a list of Software::License classes names (as strings) or false.

This method looks for a POD heading like 'license', 'copyright', or 'legal'.

Calling this method in scalar context is a fatal error.

guess_license_from_meta

  my @guesses = Software::LicenseUtils->guess_license_from_meta($meta_str);

Given the content of the META.(yml|json) file found in a CPAN distribution, this method makes a guess as to which licenses may apply to the distribution. It will return a list of zero or more Software::License instances or classes.

guess_license_from_meta_key

  my @guesses = Software::LicenseUtils->guess_license_from_meta_key($key, $v);

This method returns zero or more Software::License classes known to use $key as their META key. If $v is supplied, it specifies whether to treat $key as a v1 or v2 meta entry. Any value other than 1 or 2 will raise an exception.

new_from_short_name

  my $license_object = Software::LicenseUtils->new_from_short_name( {
     short_name => 'GPL-1',
     holder => 'X. Ample'
  }) ;

Create a new Software::License object from the license specified with short_name. Known short license names are GPL-*, LGPL-* , Artistic and Artistic-*

new_from_spdx_expression

  my $license_object = Software::LicenseUtils->new_from_spdx_expression( {
     spdx_expression => 'MPL-2.0',
     holder => 'X. Ample'
  }) ;

Create a new Software::License object from the license specified with spdx_expression. Some licenses doesn't have an spdx identifier (for example Software::License::Perl_5), so you can pass spdx identifier but also expressions. Known spdx license identifiers are BSD, MPL-1.0.

AUTHOR

Ricardo Signes <rjbs@semiotic.systems>

COPYRIGHT AND LICENSE

This software is copyright (c) 2021 by Ricardo Signes.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.