Perl-Toolchain-Gang / Software-License

perl representation of common software licenses

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

"Perl 5 license" issue.

djzort opened this issue · comments

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

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

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.

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.

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.

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.

@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.