[Buildroot] [RFC PATCH 1/2] scancpan: support more licenses

Arnout Vandecappelle arnout at mind.be
Mon Aug 13 22:52:11 UTC 2018



On 13-08-18 23:16, Yann E. MORIN wrote:
> Christopher, All,
> 
> On 2018-08-13 10:35 -0700, Christopher McCrory spake thusly:
>> On Mon, Aug 13, 2018 at 9:54 AM, Thomas Petazzoni < [1]thomas.petazzoni at bootlin.com> wrote:
>>   > +        $license =~ s|lgpl|LGPL-2.1|;
>>   Just "lgpl" always means it's LGPL-2.1 ?
>> Apparently
> 
> IANAL...
> 
> Usually, if any license of the GPL familly is used without any version
> specified, then it means just any version can be used:

 But that is not the case here. In this case, it's most likely an incomplete
manifest, not a package that is actually under any GPL version.

 So instead, scancpan should issue a warning.

 I have the feeling that the licenses mentioned in perl packages are not very
reliable, unless it is "perl".

> 
>     https://www.gnu.org/licenses/gpl.html
> 
>     14. Revised Versions of this License.
> 
>     [...]  If the Program does not specify a version number of the GNU
>     General Public License, you may choose any version ever published
>     by the Free Software Foundation.
> 
> Similar clauses can be had for each license. So I doubt 'lgpl' would
> stand for LGPL-2.1.
> 
> Besides, see below...
> 
>>   > +        $license =~ s|bsd|BSD|;
>>   "BSD" is not a license. There are several different BSD licenses.
>>   Though with just "bsd" as an initial information, there's not much you
>>   can do :-/
>>
>> yea :(
>> AFAICT, this is the source from Base.pm
> 
> What 'Base.pm' are you talink about? On my Ubuntu 17.10, I get:
> 
>     $ apt-file search /Base.pm |wc -l
>     191
> 
>>   my %licenses = (
>>     perl         => 'Perl_5',
>>     apache       => 'Apache_2_0',
>>     apache_1_1   => 'Apache_1_1',
>>     artistic     => 'Artistic_1',
>>     artistic_2   => 'Artistic_2',
>>     lgpl         => 'LGPL_2_1',
>>     lgpl2        => 'LGPL_2_1',
>>     lgpl3        => 'LGPL_3_0',
>>     bsd          => 'BSD',
>>     gpl          => 'GPL_1',
>>     gpl2         => 'GPL_2',
>>     gpl3         => 'GPL_3',
>>     mit          => 'MIT',
>>     mozilla      => 'Mozilla_1_1',
>>     restrictive  => 'Restricted',
>>     open_source  => undef,
>>     unrestricted => undef,
>>     unknown      => undef,
>>   );
>>
>>  # TODO - would be nice to not have these here, since they're more
>>   # properly stored only in Software::License
>>   my %license_urls = (
>>     perl         => 'http://dev.perl.org/licenses/',
>>     apache       => 'http://apache.org/licenses/LICENSE-2.0',
>>     apache_1_1   => 'http://apache.org/licenses/LICENSE-1.1',
>>     artistic     => 'http://opensource.org/licenses/artistic-license.php',
>>     artistic_2   => 'http://opensource.org/licenses/artistic-license-2.0.php',
>>     lgpl         => 'http://opensource.org/licenses/lgpl-license.php',
>>     lgpl2        => 'http://opensource.org/licenses/lgpl-2.1.php',
>>     lgpl3        => 'http://opensource.org/licenses/lgpl-3.0.html',
>>     bsd          => 'http://opensource.org/licenses/bsd-license.php',
>>     gpl          => 'http://opensource.org/licenses/gpl-license.php',
>>     gpl2         => 'http://opensource.org/licenses/gpl-2.0.php',
>>     gpl3         => 'http://opensource.org/licenses/gpl-3.0.html',
>>     mit          => 'http://opensource.org/licenses/mit-license.php',
>>     mozilla      => 'http://opensource.org/licenses/mozilla1.1.php',
>>     restrictive  => undef,
>>     open_source  => undef,
>>     unrestricted => undef,
>>     unknown      => undef,
>>   );
> 
> And at the same time, still on my Ubuntu 17.10, I was looking at
> /usr/share/perl/5.26.0/CPAN/Meta/Converter.pm, which has;
> 
>     # The "old" values were defined by Module::Build, and were often vague.
>     # I have
>     # made the decisions below based on reading Module::Build::API and how
>     # clearly
>     # it specifies the version of the license.
>     my %license_map_2 = (
>       (map { $_ => $_ } @valid_licenses_2),
>       apache      => 'apache_2_0',  # clearly stated as 2.0
>       artistic    => 'artistic_1',  # clearly stated as 1
>       artistic2   => 'artistic_2',  # clearly stated as 2
>       gpl         => 'open_source', # we don't know which GPL; punt
>       lgpl        => 'open_source', # we don't know which LGPL; punt
>       mozilla     => 'open_source', # we don't know which MPL; punt

 That sounds correct :-)

 Regards,
 Arnout

>       perl        => 'perl_5',      # clearly Perl 5
>       restrictive => 'restricted',
>     );
> 
> So... The resolution is not that clear-cut IMNSHO...
> 
> Regards,
> Yann E. MORIN.
> 

-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF



More information about the buildroot mailing list