File Coverage

blib/lib/Software/License/GPL_3/or_later.pm
Criterion Covered Total %
statement 11 11 100.0
branch n/a
condition n/a
subroutine 5 5 100.0
pod 2 2 100.0
total 18 18 100.0


line stmt bran cond sub pod time code
1 1     1   13023 use strict;
  1         1  
  1         31  
2 1     1   3 use warnings;
  1         1  
  1         41  
3              
4             package Software::License::GPL_3::or_later;
5              
6             our $VERSION = '0.002'; # VERSION
7             # ABSTRACT: Add-on for Software::License module providing "or any later" clause to GPL_3
8              
9 1     1   355 use parent 'Software::License::GPL_3';
  1         203  
  1         4  
10              
11 1     1 1 28 sub name { $_[ 0 ]->SUPER::name() . ', or any later' };
12 1     1 1 625 sub version { '3+'; };
13             # Cannot call `SUPER::version` here because it returns "or.later".
14              
15             1;
16              
17             =pod
18              
19             =encoding UTF-8
20              
21             =head1 NAME
22              
23             Software::License::GPL_3::or_later - Add-on for Software::License module providing "or any later" clause to GPL_3
24              
25             =head1 VERSION
26              
27             version 0.002
28              
29             =head1 SYNOPSIS
30              
31             In C:
32              
33             name = Foo-Bar
34             version = 0.001
35             author = John Doe
36             license = GPL_3::or_later ; <<== Note this <<==
37             copyright_holder = John Doe
38             copyright_year = 2015
39            
40              
41             Direct usage:
42              
43             use Software::License::GPL_3::or_later;
44             my $license =
45             Software::License::GPL_3::or_later->new( {
46             holder => 'John Doe', …
47             } );
48              
49             =head1 DESCRIPTION
50              
51             C is a subclass of C. It overrides
52             license name — appends ", or any later", changes version to "3+", and notice to standard GNU
53             3-paragraph notice.
54              
55             See documentation on C for description of methods.
56              
57             =head1 PURPOSE
58              
59             C/C, a popular framework/tool for building packages for CPAN, allows you to
60             specify software license in C file, e. g.:
61              
62             license = NAME
63              
64             where I is a short license name, like C or C. When building your package,
65             C will add "COPYRIGHT AND LICENSE" section to the documentation, add appropriate C
66             file to your package, etc. C uses licenses provided by C package.
67             The latter is bundled with a set of popular software licenses, including GNU General Public License
68             (GNU GPL) versions 1, 2, and 3, denoted by names C, C, and C respectively.
69              
70             L, a developer of GNU GPL, recommends do not stick to a
71             specific version of the GNU license, but allow "upgrading" it by using phrase "version I or any
72             later version". See L.
73              
74             However, C package does not include any "upgradable" license. This module
75             partially fulfills the lack by providing license C.
76              
77             =head1 CAVEATS
78              
79             C hardcodes the list of "valid" licenses. In version 2.150001 of the module there
80             are no "upgradable" GNU licenses, so in CPAN the GPLv3+ will look as ordinal GPLv3.
81              
82             =head1 SEE ALSO
83              
84             =over 4
85              
86             =item L
87              
88             =item L
89              
90             =item L
91              
92             =back
93              
94             =head1 AUTHOR
95              
96             Van de Bugger
97              
98             =head1 COPYRIGHT AND LICENSE
99              
100             Copyright (C) 2015 Van de Bugger
101              
102             This program is free software: you can redistribute it and/or modify
103             it under the terms of the GNU General Public License as published by
104             the Free Software Foundation, either version 3 of the License, or
105             (at your option) any later version.
106              
107             This program is distributed in the hope that it will be useful,
108             but WITHOUT ANY WARRANTY; without even the implied warranty of
109             MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
110             GNU General Public License for more details.
111              
112             You should have received a copy of the GNU General Public License
113             along with this program. If not, see .
114              
115             =cut
116              
117             __DATA__