Blast-Radius Aware AI Code Review for Business-Critical Systems
LiveReview LiveReview Explore LiveReview

String::License::Naming::SPDX - licenses as named by SPDX

Author

       Jonas Smedegaard "<dr@jones.dk>"

Constructor

       new Constructs and returns a String::License::Naming object.

           Includes all licenses defined by SPDX, and presents them by their SPDX shortname.

Description

       String::License::Naming enumerates supported licenses matching an ordered set of naming schemes, or
       enumerates the names of supported license naming schemes.

       Some licenses are known by different names.  E.g. the license "MIT" according to SPDX is named "Expat" in
       Debian.

       Some licenses are not always represented.  E.g. "Perl" is a (discouraged) license in Debian while it is a
       relationship of several licenses with SPDX (and that expression is recommended in Debian as well).

       By default, licenses are matched using naming schemes "[ 'spdx', 'internal' ]", which lists all supported
       licenses, preferrably by their SPDX name or as fallback by an internal name.

Functions

       list_schemes
           Returns a list of license naming schemes in use.

       list_licenses
           Returns a list of all licensing patterns covered by SPDX, each labeled by SPDX shortname.

Name

       String::License::Naming::SPDX - licenses as named by SPDX

Pod Errors

       Hey! Theabovedocumenthadsomecodingerrors,whichareexplainedbelow:

       Around line 103:
           '=item' outside of any '=over'

perl v5.40.0                                       2024-11-05                 String::License::Naming::SPDX(3pm)

Synopsis

           use String::License::Naming::SPDX;

           my $spdx = String::License::Naming::SPDX->new;

           my $license = [ grep { /^(Expat|Perl)$/ } $spdx->list_licenses ];  # => is_deeply ['Perl']

Version

       Version v0.0.11

See Also