File Coverage

blib/lib/Software/License/PD.pm
Criterion Covered Total %
statement 18 20 90.0
branch n/a
condition 6 9 66.6
subroutine 9 11 81.8
pod 4 4 100.0
total 37 44 84.0


line stmt bran cond sub pod time code
1 1     1   676 use strict;
  1         2  
  1         29  
2 1     1   4 use warnings;
  1         2  
  1         43  
3              
4             package Software::License::PD;
5             BEGIN {
6 1     1   22 $Software::License::PD::VERSION = '1.001';
7             }
8             # ABSTRACT: Public Domain pseudo-license
9              
10 1     1   5 use base 'Software::License';
  1         1  
  1         791  
11              
12             require Software::License::MIT;
13             require Software::License::GPL_3;
14             require Software::License::Artistic_2_0;
15              
16              
17 1     1 1 1633 sub name { 'Public Domain pseudo-license (GPL, Artistic, MIT or PD)' }
18 1     1 1 46995 sub url { 'http://edwardsamuels.com/copyright/beyond/articles/public.html' }
19 0     0 1 0 sub meta_name { 'unrestricted' }
20 0     0 1 0 sub meta2_name { 'unrestricted' }
21              
22             sub _mit {
23 2     2   5197 my ($self) = @_;
24 2   66     17 return $self->{_mit} ||= Software::License::MIT->new({
25             year => $self->year,
26             holder => $self->holder,
27             });
28             }
29              
30             sub _gpl {
31 2     2   15652 my ($self) = @_;
32 2   66     24 return $self->{_gpl} ||= Software::License::GPL_3->new({
33             year => $self->year,
34             holder => $self->holder,
35             });
36             }
37              
38             sub _tal {
39 2     2   2634 my ($self) = @_;
40 2   66     15 return $self->{_tal} ||= Software::License::Artistic_2_0->new({
41             year => $self->year,
42             holder => $self->holder,
43             });
44             }
45              
46             1;
47              
48              
49              
50             =pod
51              
52             =head1 NAME
53              
54             Software::License::PD - Public Domain pseudo-license
55              
56             =head1 VERSION
57              
58             version 1.001
59              
60             =head1 DESCRIPTION
61              
62             In legal circles, B is defined as the absence of B
63             (and therefore precludes the need for any B). Artistic works enter
64             the Public Domain in two common situations:
65              
66             =over
67              
68             =item 1
69              
70             Where the work carries no license or copyright information, and precedes
71             the ratification of the I
72             and Artistic Works>
73              
74             =item 2
75              
76             Where the term of copyright has lapsed, the length of which varies between
77             jurisdictions
78              
79             =back
80              
81             Some authors have chosen to disclaim all rights to their works and attempt
82             to release them into the Public Domain. This is a particularly contentious
83             issue because some jurisdictions do not recognize an author's perogative to
84             disclaim all rights to their own work. In European countries, authors can
85             abandon their claim to copyright, but not Reputation Rights (which prevent
86             people from removing your name from your work, among other things).
87              
88             While I have researched the issue to some extent, I am not a lawyer and am
89             not qualified to provide legal advice. I have used this license for some of
90             my own packages, but am unsure whether it would stand up in a court of law.
91              
92             =head2 CREATIVE COMMONS ZERO
93              
94             The B (CC0) license is an extremely liberal license,
95             which confers rights similar to Public Domain to the extent permissible by
96             law. However, Creative Commons does not recommend the application of their
97             licenses to software, see:
98             L
99              
100             =head1 NOTABLE PROJECTS
101              
102             Several notable Open Source software projects have been released into the
103             Public Domain:
104              
105             =over
106              
107             =item *
108              
109             SQLite, L
110              
111             =item *
112              
113             L, as well as the algorithm and accompanying reference
114             implementation, L
115              
116             =back
117              
118             =head1 SEE ALSO
119              
120             =over
121              
122             =item *
123              
124             The Berne Convention for the Protection of Literary and Artistic Works,
125             L
126              
127             =item *
128              
129             The Public Domain in Copyright Law,
130             L
131              
132             =item *
133              
134             Placing documents into the public domain,
135             L
136              
137             =back
138              
139             =head1 BUGS
140              
141             Please report any bugs or feature requests on the bugtracker website
142             http://rt.cpan.org/NoAuth/Bugs.html?Dist=Software-License-PD
143              
144             When submitting a bug or request, please include a test-file or a
145             patch to an existing test-file that illustrates the bug or desired
146             feature.
147              
148             =head1 AUTHOR
149              
150             Jonathan Yu
151              
152             =head1 COPYRIGHT AND LICENSE
153              
154             This software is copyright (c) 2011 by Jonathan Yu .
155              
156             This is free software; you can redistribute it and/or modify it under
157             the same terms as the Perl 5 programming language system itself.
158              
159             =cut
160              
161              
162             __DATA__