Help end licensing under "same terms as Perl itself"

| 9 Comments

I've posted before about the problems with "same terms as Perl" licensing, not the least of which is the question "which version of Perl are you referring to?" I bet that most people who use "same terms as Perl itself" used it for the same reason I did: because it was the easiest way to do it, and I was lazy.

So to help out my lazy sisters and brothers in Perl, here is a block of POD that you can go paste into your modules right now, all formatted and pretty.

=head1 COPYRIGHT & LICENSE

Copyright 2005-2009 Andy Lester.

This program is free software; you can redistribute it and/or
modify it under the terms of either:

=over 4

=item * the GNU General Public License as published by the Free
Software Foundation; either version 1, or (at your option) any
later version, or

=item * the Artistic License version 2.0.

=back

You'll want to change the "Andy Lester" part. I don't want to take credit for half the CPAN.

9 Comments

For File-Find-Object, Olivier Thauvin and I used the following language:

=head1 LICENSE

Copyright (C) 2005, 2006 by Olivier Thauvin

This package is free software; you can redistribute it and/or modify it under
the following terms:

1. The GNU General Public License Version 2.0 -
http://www.opensource.org/licenses/gpl-license.php

2. The Artistic License Version 2.0 -
http://www.perlfoundation.org/legal/licenses/artistic-2_0.html

3. At your option - any later version of either or both of these licenses.

An ever better language, compatible with perl 5's licence may be:

=head1 LICENSE

Copyright (C) 2005, 2006 by Olivier Thauvin

This package is free software; you can redistribute it and/or modify it under
the following terms:

1. The GNU General Public License as published by the Free Software Foundation; either version 1, or (at you r option) any later version, or.

2. The original Artistic License, as published by Larry Wall.

3. The Artistic License Version 2.0 -
http://www.perlfoundation.org/legal/licenses/artistic-2_0.html , or at your option any later version of it.

Alternatively, one can use a ( GPL-compatible ) permissive open-source licence such as the MIT/X11 Licence, or the ISC Licence. These allow any party to sub-license under any different licence including those of perl 5.

I wouldn't say "any later version." How do you know whether you like the terms of GPL v4 or v5?

Why dual-license? If you prefer a liberal license like Artistic, LGPL or MIT, use that, or if you prefer copyleft like the GPL, use that. Dual licensing seems pointless in this situation, if you want to require people to submit changes back to you, use the GPL alone, but if you just want attribution, use a more liberal license alone. This is not an operating system kernel where a specific license is required, i.e. the BSDs and the BSDL, Linux and the GPL, and the only way to include code covered by other licenses is to dual license.

I would just change "Perl itself" to "Perl 5" then.

Why dual license? Because that's what Perl and most other CPAN modules are under. The FSF says on http://www.fsf.org/licensing/licenses/#PerlLicense that:

"We recommend you use this license (the disjunction of the Artistic License 1.0 and the GNU GPL) for any Perl 4 or Perl 5 package you write, to promote coherence and uniformity in Perl programming"

Regarding "any later version" - its advantage is that it gives you and future generations the ability to sub-license the work under newer versions of the licence, or to re-use it under the terms of any version that you'd like. For example, the GPL version 2 and GPL version 3 are mutually incompatible, and so programs that were GPLv2-only are no longer compatible with many other programs that are technically GPLed. OTOH, if a program is GPL version 2 or later (or GPL version 1 or later, in the case of Perl) then it will be compatible with both GPLv2-only or GPLv3-only-licensed programs.

Moreover, it is generally expected that newer versions of a certain licence will preserve the spirit of that licence, or otherwise its validity may be questioned.

Furthermore, I should note that the LGPL and the Artistic licence are not exactly "permissive licences" but rather "weak copyleft licences". The GPL (and the Sleepycat licence and other licences) are strong copyleft, but the LGPL, Artistic and MPL are still weak copylefts.

I wouldn't use a "Same Terms as Perl 5" either, because it's not much better than "Same Terms as Perl". See the link that Andy posted.

Maybe TPF could have a lawyer create a new template of what the license should look like instead of us just making our mind up?


Oh yes I have been asking for this for more than a year.


Maybe someone will listen to you Andy.

Gabor: How about you or someone else make a grant proposal to take care of that? I don't think that TPF grants have to be code.

I think this has to be done by a lawyer not by one of us amateurs but I just got a mail form Allison Randal telling me that finally they have the CPAN Licensing Guidelines.


I have not read it yeat, I hope this will help us address the issue in a clearer way.

Leave a comment

Job hunting for programmers


Land the Tech Job You Love, Andy Lester's guide to job hunting for programmers and other technical professionals, is available in PDF, ePub and .mobi formats, all DRM-free, as well as good old-fashioned paper.