May 10, 2010

GPL 3 and Artistic 2.0 Software::License

As of right now Software::License has no way to combine licenses on the fly. To be honest this deficiency might not be a bug in SL, it could be in Pod::Weaver or Dist::Zilla this is a know deficiency and RJBS plans on fixing it at some point. In the mean time we can implement dual licenses (and multi-licenses) in much the same way the Perl5 license is implemented.

I was probably in legal violation (I am not a lawyer) with Template::ShowStartStop version 0.05 and 0.06 because I used Perl_5 licensing because that's the closest I could get with Dist::Zilla, due to the limitation. So I created Software::License::GPL3andArtistic2 which is sort of a perl5 license, except that it mandates the latest version of GPL and Artistic (at the time of this writing). Version 0.07 of Template::ShowStartStop is back in compliance with the licensing of the code I forked from Template::Timer.

This hasn't, and will probably not be merged into Software::License because it's just a stopgap measure until multi-license support can be implemented.

UPDATE:
this is apparently not necessary according to Duncan and the this interview I've updated the module to reflect this. Hopefully, it can serve as an educational source.

Curious... why doesn't Perl5 switch to the Artistic 2.0 then... (I wonder what that would mean for 'under the same terms as perl5' but actually including gpl1 and artistic 1).

3 comments:

  1. There is no point in the complexity of dual-licensing the Artistic 2 and the GPL. The Artistic 2 is compatible with the GPL all by itself, and so simply licensing a work as Artistic 2 will have the same effect. This is especially true for the GPL 3.

    Only the Artistic 1 has a reason to dual-license with GPL since that wasn't compatible by itself, and Artistic 2 fixed this problem.

    Therefore, there is no reason for Software::License::GPL3andArtistic2 to exist.

    If you know different, then what's your rationale?

    ReplyDelete
  2. I don't know different the only reason I created it was because that's
    the way that Template::Timer was licensed and forked it's code for
    Template::ShowStartStop I wanted to use Dist::Zilla but not change the
    licensing terms. It's just a stopgap for actual multilicense support
    in dzil. Although it might be legal for me to just drop one of the licenses I don't have any real reason to do it.

    ReplyDelete
  3. Honestly, you'd have to ask Andy Lester why he licensed his code that way. I'm just trying not to change the licensing.

    ReplyDelete

No trolling, profanity, or flame wars :: My Blog, my rules! No crying or arguing about them.