Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"Perl 5 license" issue. #81

Open
djzort opened this issue Jun 10, 2022 · 6 comments
Open

"Perl 5 license" issue. #81

djzort opened this issue Jun 10, 2022 · 6 comments

Comments

@djzort
Copy link

djzort commented Jun 10, 2022

The phrasing of the "perl 5" license, which is A1.0/GPL1.0+, makes unclear what the copyright holders intentions are if the "Perl 5 programming language system itself" changes license.

the same terms as the Perl 5 programming language system itself.

From the point of view of whats in the pod itself, one interpretation is that "the Perl 5 programming language system itself" is a specific term, which is then defined thereafter as A1.0/GPL1.0+.

Another interpretation is that "the Perl 5 programming language system itself" is referencing Perl 5 interpreter releases, which would then imply the the subsequent license details are for convenience. However, in the first sentence its "Perl 5 programming langauge" and the second is just "Perl programming language", this breaks this interpretation.

If so, then if the Perl5 interpreter was to relicense, it is not clear if the author of the CPAN module wishes to automatically adopt that license without doing a new release. Also, its not clear if the latest perl 5 interpreter license is to be adopted or if a specific perl 5 interpreter license should be adopted (perhaps the minimum perl version?).

Similarly, if the license in Perl_5.pm was to change, then subsequent releases via dist::zilla etc would change the license terms with minimal consent from the author(s) & copyright holders.

Also the word "use" is not mentioned at all.

A minimal potential solution which assumes the perl 5 license at the date of release:

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

Another solution would be to make the phasing a little more specific to the date of release:

This is free software; you can use, redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself 
as at the date of release.
__LICENSE__
Terms of the Perl 5 programming language system itself as date of release

Or more wordy, that mentions that the license is the same as perl 5 as being more like an FYI so as to disconnect implied intent around relicensing:

This is free software; you can use, redistribute it and/or modify it under the following terms which at release are the same as the Perl 5 programming language system itself 
__LICENSE__
Terms of release
@waterkip
Copy link
Contributor

Why is this an issue, both the GPL and AL are published in the same document?

Terms of the Perl programming language system itself
a) the GNU General Public License as published by the Free
Software Foundation; either version 1, or (at your option) any
later version, or
b) the "Artistic License"
--- {{ $self->_gpl->name }} ---
{{$self->_gpl->fulltext}}
--- {{ $self->_tal->name }} ---
{{$self->_tal->fulltext}}

Similarly, if the license in Perl_5.pm was to change, then
subsequent releases via dist::zilla etc would change the
license terms with minimal consent from the author(s) &
copyright holders.

This holds true for every change in a License.pm file and is not specific to Perl_5.pm

@Grinnz
Copy link

Grinnz commented Jun 15, 2022

This is indeed something to be wary of, and why some instead say "the license of Perl v5.10" or similar more specific verbiage. But in practicality, it would be impossible for Perl 5 to change its license, so it's a theoretical issue.

@djzort
Copy link
Author

djzort commented Jun 21, 2022

Whats interesting about Artistic 1.0 is that it has the concept of a "Copyright Holder" who "maintains some semblance of artistic control over the development of the package" and gives users "the right to make reasonable modifications"

The "Copyright Holder" is whoever is named in the copyright or copyrights for the package.

Whilst relicensing would normally require contacting every contributor or removing code, this "Copyright Holder" provides a quirk whereby only those listed hold copyright controls.

Looking at https://metacpan.org/dist/perl/view/pod/perl.pod there is only an "AUTHOR" section with Larry Wall listed. Then there is an AUTHORS file https://github.com/Perl/perl5/blob/blead/AUTHORS which purpose is to "To give due honour to those who have made Perl 5 what it is today" and therefore not claiming to be a list of "Copyright Holders" per A1.0

On this basis, I would make the argument that only larry wall has copyright control of Perl and relicense only requires his blessing.

@stefan-hdt
Copy link

stefan-hdt commented Jul 4, 2022

At https://github.com/Perl/perl5/blob/blead/README Larry Wall is stated as copyright holder, not only as author. Furthermore, there are "other" copyright holders mentioned but without name. So it remains unclear whether further copyright holders exist and who they are. It may be the case that each author/contributor holds the copyright for the contribution they did.

@Grinnz
Copy link

Grinnz commented Jul 4, 2022

Much like technical aspects of Perl, what's written down doesn't matter as much as the reality that all contributors innately own the copyright of their contributions, and I don't think anyone is interested in having lawyers argue that one way or another.

@stefan-hdt
Copy link

@Grinnz You are absolutely right. All contributors own their copyright and should be respected for it. If my comment was rude, I apologize. I do not intend to tell contributors or anyone else what to do or what not to do. My aim is to assist if someone is looking for help regarding the license jungle and other issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants