Mailing List Archive

License files
Hey folks,

Just got a PR against IO::Compress to add a LICENSE file. The user is having to jump through hoops to get code past an automated quality process that checks the license of any open-source distro being used. In this case it barfs because there isn't an explicit LICENSE file.

Have no problems with adding it, and was going to use Artistic 2.0 (simply because it is the latest), but I note that https://github.com/Perl/perl5/blob/blead/Artistic is Artistic 1.0. Is that going to cause issues when the CPAN IO::Compress gets sucked into the main Perl distribution?

Also, is there a reason that to 2.0 license isn't being used?

Paul
Re: License files [ In reply to ]
On Wed, 29 Nov 2023 12:09:24 +0000, Paul Marquess wrote:

> Just got a PR against IO::Compress to add a LICENSE file.

https://github.com/pmqs/IO-Compress/issues/53 , I presume.

> Have no problems with adding it, and was going to use Artistic 2.0
> (simply because it is the latest),

That's a bit surprising, as both the README and all source code
say(s):

| This program is free software; you can redistribute it
| and/or modify it under the same terms as Perl itself.

Perl5 is released under either Artistic 1 or GPL 1 or later, so I
would expect those two licenses in a new LICENSE file.


Cheers,
gregor

--
.''`. https://info.comodo.priv.at -- Debian Developer https://www.debian.org
: :' : OpenPGP fingerprint D1E1 316E 93A7 60A8 104D 85FA BB3A 6801 8649 AA06
`. `' Member VIBE!AT & SPI Inc. -- Supporter Free Software Foundation Europe
`- BOFH excuse #399: We are a 100% Microsoft Shop.
Re: License files [ In reply to ]
On Wed, 29 Nov 2023 12:09:24 +0000
Paul Marquess <paul.marquess@outlook.com> wrote:

> Hey folks,
>
> Just got a PR against IO::Compress to add a LICENSE file. The user is having to jump through hoops to get code past an automated quality process that checks the license of any open-source distro being used. In this case it barfs because there isn't an explicit LICENSE file.
>
> Have no problems with adding it, and was going to use Artistic 2.0 (simply because it is the latest), but I note that https://github.com/Perl/perl5/blob/blead/Artistic is Artistic 1.0. Is that going to cause issues when the CPAN IO::Compress gets sucked into the main Perl distribution?
>
> Also, is there a reason that to 2.0 license isn't being used?

Perl doesn't have a Contributor Licence Agreement, so changing its
licence would require the consent of all contributors. Each contributor
is the copyright holder of what they have contributed to Perl.

The same is true for most of CPAN modules that have received third-party
contributions.

LLVM is an example of a major open-source project that has changed its
licence. It was a difficult process that took *years* to complete:

https://foundation.llvm.org/docs/relicensing/
https://foundation.llvm.org/docs/relicensing_long_tail/
Re: License files [ In reply to ]
On Wed, Nov 29, 2023 at 7:26?AM Paul Marquess <paul.marquess@outlook.com>
wrote:

> Hey folks,
>
>
>
> Just got a PR against IO::Compress to add a LICENSE file. The user is
> having to jump through hoops to get code past an automated quality process
> that checks the license of any open-source distro being used. In this case
> it barfs because there isn’t an explicit LICENSE file.
>
>
>
> Have no problems with adding it, and was going to use Artistic 2.0 (simply
> because it is the latest), but I note that
> https://github.com/Perl/perl5/blob/blead/Artistic is Artistic 1.0. Is
> that going to cause issues when the CPAN IO::Compress gets sucked into the
> main Perl distribution?
>
>
>
> Also, is there a reason that to 2.0 license isn’t being used?
>

Artistic 1 and 2 are separate licenses that cannot be interchanged, and
unfortunately Perl is licensed with "Artistic 1.0 OR GPL 1+", which cannot
reasonably be changed. As the license of that distribution appears to be
"same as Perl itself", the generated LICENSE file should match this. The
easiest way to generate such a file correctly is with the software-license
program https://metacpan.org/pod/App::Software::License:

software-license --holder 'Paul Marquess' --year 1995 --license Perl_5
--type license > LICENSE

(you can edit the generated year to the year range as listed in the docs,
but the application seems to require an integer)

-Dan
RE: License files [ In reply to ]
That’s everyone for the feedback

I note that the output from the App::Software::License is basically what I already have in the README file.


$ software-license --holder 'Paul Marquess' --year 1995 --license Perl_5
This software is copyright (c) 1995-2023 by Paul Marquess.

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

I’m actually happier going with that.

Will check with the reporter that is having issues with the automated quality tool to see if the tool can be told to look in the README file instead. If not, I’ll stick it in a LICENSE file

Paul

From: Dan Book <grinnz@gmail.com>
Sent: Wednesday, November 29, 2023 5:03 PM
To: Paul Marquess <paul.marquess@outlook.com>
Cc: perl5-porters@perl.org
Subject: Re: License files

On Wed, Nov 29, 2023 at 7:26?AM Paul Marquess <paul.marquess@outlook.com<mailto:paul.marquess@outlook.com>> wrote:
Hey folks,

Just got a PR against IO::Compress to add a LICENSE file. The user is having to jump through hoops to get code past an automated quality process that checks the license of any open-source distro being used. In this case it barfs because there isn’t an explicit LICENSE file.

Have no problems with adding it, and was going to use Artistic 2.0 (simply because it is the latest), but I note that https://github.com/Perl/perl5/blob/blead/Artistic is Artistic 1.0. Is that going to cause issues when the CPAN IO::Compress gets sucked into the main Perl distribution?

Also, is there a reason that to 2.0 license isn’t being used?

Artistic 1 and 2 are separate licenses that cannot be interchanged, and unfortunately Perl is licensed with "Artistic 1.0 OR GPL 1+", which cannot reasonably be changed. As the license of that distribution appears to be "same as Perl itself", the generated LICENSE file should match this. The easiest way to generate such a file correctly is with the software-license program https://metacpan.org/pod/App::Software::License:

software-license --holder 'Paul Marquess' --year 1995 --license Perl_5 --type license > LICENSE

(you can edit the generated year to the year range as listed in the docs, but the application seems to require an integer)

-Dan
Re: License files [ In reply to ]
On Wed, Nov 29, 2023 at 2:39?PM Paul Marquess <paul.marquess@outlook.com>
wrote:

> That’s everyone for the feedback
>
>
>
> I note that the output from the App::Software::License is basically what I
> already have in the README file.
>
>
>
>
>
> $ software-license --holder 'Paul Marquess' --year 1995 --license Perl_5
>
> This software is copyright (c) 1995-2023 by Paul Marquess.
>
>
>
> This is free software; you can redistribute it and/or modify it under
>
> the same terms as the Perl 5 programming language system itself.
>
>
>
> I’m actually happier going with that.
>
>
>
> Will check with the reporter that is having issues with the automated
> quality tool to see if the tool can be told to look in the README file
> instead. If not, I’ll stick it in a LICENSE file
>

You have forgotten the --type license argument to the command, and have
instead generated the notice to include in documentation.

-Dan
RE: License files [ In reply to ]
Oops! Thanks Dan. So that ends up with both GNU + Artistic in one file.

Wonder how the automated checking will get on with that? I’ll check with the downstream user.

thanks
Paul


From: Dan Book <grinnz@gmail.com>
Sent: Wednesday, November 29, 2023 7:49 PM
To: Paul Marquess <paul.marquess@outlook.com>
Cc: perl5-porters@perl.org
Subject: Re: License files

On Wed, Nov 29, 2023 at 2:39?PM Paul Marquess <paul.marquess@outlook.com<mailto:paul.marquess@outlook.com>> wrote:
That’s everyone for the feedback

I note that the output from the App::Software::License is basically what I already have in the README file.


$ software-license --holder 'Paul Marquess' --year 1995 --license Perl_5
This software is copyright (c) 1995-2023 by Paul Marquess.

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

I’m actually happier going with that.

Will check with the reporter that is having issues with the automated quality tool to see if the tool can be told to look in the README file instead. If not, I’ll stick it in a LICENSE file

You have forgotten the --type license argument to the command, and have instead generated the notice to include in documentation.

-Dan
Re: License files [ In reply to ]
On 11/29/23 14:39, Paul Marquess wrote:
> That’s everyone for the feedback
>
> I note that the output from the App::Software::License is basically what
> I already have in the README file.
>
> $ software-license --holder 'Paul Marquess' --year 1995 --license Perl_5
>
> This software is copyright (c) 1995-2023 by Paul Marquess.
>
> This is free software; you can redistribute it and/or modify it under
>
> the same terms as the Perl 5 programming language system itself.
>
> I’m actually happier going with that.
>
> Will check with the reporter that is having issues with the automated
> quality tool to see if the tool can be told to look in the README file
> instead. If not, I’ll stick it in a LICENSE file
>


Paul, it occurs to me to ask ... Is this downstream user running a
license check against the Perl core distribution or just against one of
your CPAN distros?

If the latter, then you could include it in your CPAN release but we
could exclude it from being shipped with Perl by making a suitable entry
in Porting/Maintainers.pl.
Re: License files [ In reply to ]
For general practice in any project, I recommend having a FOLDER named LICENSE
instead of a file, and then it contains 1 or more files each named after the
actual license, including the version number. This approach has the benefits of
supporting multiple license files, eg Artistic and GPL, and the files are more
descriptively named, and they can have filename extensions like .txt or whatever
rather than lacking an extension. -- Darren Duncan

On 2023-11-29 4:09 a.m., Paul Marquess wrote:
> Hey folks,
>
> Just got a PR against IO::Compress to add a LICENSE file. The user is having to
> jump through hoops to get code past an automated quality process that checks the
> license of any open-source distro being used. In this case it barfs because
> there isn’t an explicit LICENSE file.
>
> Have no problems with adding it, and was going to use Artistic 2.0 (simply
> because it is the latest), but I note that
> https://github.com/Perl/perl5/blob/blead/Artistic is Artistic 1.0. Is that
> going to cause issues when the CPAN IO::Compress gets sucked into the main Perl
> distribution?
>
> Also, is there a reason that to 2.0 license isn’t being used?
>
> Paul
>
RE: License files [ In reply to ]
...
> Paul, it occurs to me to ask ... Is this downstream user running a license check against the Perl core distribution or just against one of your CPAN distros?
>
> If the latter, then you could include it in your CPAN release but we could exclude it from being shipped with Perl by making a suitable entry in Porting/Maintainers.pl.

They are indeed reading it from CPAN, so excluding the file from Perl is a possibility. I imagine if I do this the next request will be for the Compress::Raw::* modules.

I've asked them to check if their tool can deal with what is currently in the README file. Will see how that goes.

Paul
Re: License files [ In reply to ]
Dan Book wrote:
>
> Artistic 1 and 2 are separate licenses that cannot be interchanged, and unfortunately Perl is licensed with "Artistic 1.0 OR GPL 1+", which cannot reasonably be changed.

True. Though my understanding is that the compatibility clause (4) (c) (ii) in Artistic 2 allows sharing Artistic 2 projects under Perl 5 terms, but not the other way around.

https://spdx.org/licenses/Artistic-2.0.html


--
Arne Johannessen
<https://arne.johannessen.de/>