File Coverage

blib/lib/Regexp/Pattern/License.pm
Criterion Covered Total %
statement 32 33 96.9
branch 21 22 95.4
condition 7 10 70.0
subroutine 7 7 100.0
pod n/a
total 67 72 93.0


line stmt bran cond sub pod time code
1             package Regexp::Pattern::License;
2              
3 27     27   5355998 use utf8;
  27         197  
  27         152  
4 27     27   874 use strict;
  27         60  
  27         518  
5 27     27   126 use warnings;
  27         64  
  27         1886  
6              
7             my $CAN_RE2;
8              
9             BEGIN {
10 27     27   89 eval { require re::engine::RE2 };
  27         11555  
11 27 100       73666 $CAN_RE2 = $@ ? '' : 1;
12             }
13              
14 27     27   13614 use Regexp::Pattern::License::Parts;
  27         100  
  27         795592  
15              
16             =head1 NAME
17              
18             Regexp::Pattern::License - Regular expressions for legal licenses
19              
20             =head1 VERSION
21              
22             Version v3.10.1
23              
24             =cut
25              
26             our $VERSION = version->declare("v3.10.1");
27              
28             =head1 SYNOPSIS
29              
30             use Regexp::Pattern::License;
31             use Regexp::Pattern;
32              
33             my $string = 'GNU General Public License version 3 or later';
34              
35             print "Found!\n" if $string =~ re( 'License::gpl_3' ); # prints "Found!"
36              
37             =head1 DESCRIPTION
38              
39             L provides a hash of regular expression patterns
40             related to legal software licenses.
41              
42             L is a convention for organizing reusable regex patterns.
43              
44             =cut
45              
46             # internal patterns compiled into patterns
47             # * must be unique, to not collide at their final use in gen_pat sub
48             # * must be a unit, so that e.g. suffix "?" applies to whole chunk
49              
50             # [ ] end-of-paragraph space
51             # [ ] end-of-sentence space
52             # [.] full stop
53             # [. ] full stop and either one or two spaces or newline
54             # [, ] comma and space (space optional for wide comma)
55             # [:] colon
56             # [:"] colon and maybe one or two quotes
57             # [;] semicolon or colon or comma
58             # ['] apostrophe
59             # ["] quote
60             # [". ] full stop and either one or two spaces or newline, maybe quote before
61             # ["*] quote or bullet
62             # [*] bullet
63             # [*)] start-of-sentence bullet or count
64             # [/] slash or space or none
65             # [ / ] slash, maybe space around
66             # [-] dash, maybe space after, or none
67             # [--] dash or two dashes
68             # [-#] dash or number
69             # [- ] dash or space
70             # [ - ] dash with space around
71             # [+] plus
72             # [(] parens-open
73             # [)] parens-close
74             # [<] less-than
75             # [>] greater-than
76             # [> ] greater-than, maybe space after, or none
77             # [#.] digits and maybe one infix dot
78             # [#-,] digits, infix maybe one dash, suffix maybe comma maybe space
79             # [c] copyright mark, maybe space before
80             # [as is] as is, maybe quote around
81             # [eg] exempli gratia, abbreviated
82             # [http://] http or https protocol, or none
83             # [ie] id est, abbreviated
84             # [r] registered trademark, maybe space before
85             # [tm] trademark, maybe space before
86             # [word] word
87             # [ word] space and word
88              
89             my %_ANNOTATIONS = (
90             '[. ]' => '(?:\.\s{1,3})',
91             '[, ]' => '(?:, |[、,] ?)',
92             '[*)]' => '(?:\W{0,5}\S{0,2}\W{0,3})',
93             '[:]' => ':',
94             '[:"]' => '(?::\W{0,2})',
95             '[-]' => '(?:(?:[-–]\s{0,3})?)',
96             '[--]' => '(?:[-–—][-–]?)',
97             '[-#]' => '[-–\d]',
98             '[- ]' => '[-– ]',
99             '[ - ]' => '(?: [-–—]{1,2} )',
100             '[(]' => '[((]',
101             '[)]' => '[))]',
102             '[> ]' => '(?:> ?|)',
103             '[#.]' => '(?:\d+(?:\.\d+)?)',
104             '[#-,]' => '(?:\d+(?: ?[-–] ?\d+)?,? ?)',
105             '[ ]' => '(?:\s{1,3})',
106             '[ ]' => '(?:\s{1,3})',
107             '["]' => '(?:["«»˝̏“”„]|[\'<>`´‘’‹›‚]{0,2})',
108             '[". ]' =>
109             '(?:(?:["«»˝̏“”„]|[\'<>`´‘’‹›‚]{0,2})?\.\s{1,3})',
110             '[\']' => '(?:[\'`´‘’]?)',
111             '["*]' => '(?:\W{0,2})',
112             '[;]' => '[;:,、,]',
113             '[/]' => '(?:[ /]?)',
114             '[ / ]' => '(?: ?[/] ?)',
115              
116             '[à]' => '(?:[àa]?)',
117             '[è]' => '(?:[èe]?)',
118             '[é]' => '(?:[ée]?)',
119             '[ê]' => '(?:[êe]?)',
120             '[l-]' => '(?:[łl]?)',
121              
122             '[c]' => '(?: ?©| ?\([Cc]\))',
123             '[as is]' => '(?:\W{0,2}[Aa][Ss][- ][Ii][Ss]\W{0,2})',
124             '[eg]' => '(?:ex?\.? ?gr?\.?)',
125             '[http://]' => '(?:https?://)?',
126             '[ie]' => '(?:i\.? ?e\.?)',
127             '[r]' => '(?: ?®| ?\([Rr]\))',
128             '[tm]' => '(?: ?™| ?\([Tt][Mm]\))',
129             '[word]' => '(?:\S+)',
130             '[ word]' => '(?: \S+)',
131             );
132              
133             my %P;
134             while ( my ( $key, $val ) = each %Regexp::Pattern::License::Parts::RE ) {
135             $P{$key} = $val->{pat};
136             }
137              
138             my $the = '(?:[Tt]he )';
139              
140             my $cc_no_law_firm
141             = 'CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES[. ]';
142             my $cc_dist_no_rel
143             = 'DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN ATTORNEY[-]CLIENT RELATIONSHIP[. ]';
144             my $cc_dist_no_rel_draft
145             = 'DISTRIBUTION OF THIS DRAFT LICENSE DOES NOT CREATE AN ATTORNEY[-]CLIENT RELATIONSHIP[. ]';
146             my $cc_dist_no_rel_doc
147             = 'DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN ATTORNEY[-]CLIENT RELATIONSHIP[. ]';
148             my $cc_info_asis_discl
149             = 'CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN [as is] BASIS[. ]'
150             . 'CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, '
151             . 'AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE[.]';
152             my $cc_info_asis_discl_doc
153             = 'CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN [as is] BASIS[. ]'
154             . 'CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, '
155             . 'AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER[.]';
156             my $cc_work_protected
157             = 'THE WORK [(]?AS DEFINED BELOW[)]? IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE [(]?["]?CCPL["]? OR ["]?LICENSE["]?[)]?[. ]'
158             . 'THE WORK IS PROTECTED BY COPYRIGHT AND[/]OR OTHER APPLICABLE LAW[. ]';
159             my $cc_auth_lic_prohib
160             = 'ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE IS PROHIBITED[.][ ]?';
161             my $cc_auth_lic_copylaw_prohib
162             = 'ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED[.][ ]?';
163             my $laws_confer
164             = 'The laws of most jurisdictions throughout the world automatically confer';
165              
166             my $cc_intro_1
167             = '(?:(?:\S+ )?'
168             . $cc_no_law_firm
169             . $cc_dist_no_rel_draft
170             . $cc_info_asis_discl
171             . '(?: \S+)?[ ])?License[ ]'
172             . $cc_work_protected
173             . $cc_auth_lic_prohib;
174             my $cc_intro
175             = '(?:(?:\S+ )?'
176             . $cc_no_law_firm
177             . $cc_dist_no_rel
178             . $cc_info_asis_discl
179             . '(?: \S+)?[ ])?License[ ]'
180             . $cc_work_protected
181             . $cc_auth_lic_copylaw_prohib;
182             my $cc_intro_cc0
183             = '(?:(?:\S+ )?'
184             . $cc_no_law_firm
185             . $cc_dist_no_rel_doc
186             . $cc_info_asis_discl_doc
187             . '(?: \S+)?[ ])?Statement of Purpose[ ]'
188             . $laws_confer;
189              
190             my $cc_by_exercising_you_accept_this
191             = '(?:By exercising the Licensed Rights [(]?defined below[)]?, You accept and agree to be bound by the terms and conditions of this '
192             . '|BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS )';
193             my $clisp_they_only_ref_clisp
194             = 'They only reference external symbols in CLISP[\']s public packages '
195             . 'that define API also provided by many other Common Lisp implementations '
196             . '[(]namely the packages '
197             . 'COMMON[-]LISP, COMMON[-]LISP[-]USER, KEYWORD, CLOS, GRAY, EXT[)] ';
198             my $gnu = '(?:GNU )';
199             my $gpl = '(?:General Public [Ll]icen[cs]e|GENERAL PUBLIC LICEN[CS]E)';
200             my $fsf = "(?:$the?Free Software Foundation)";
201             my $niv
202             = 'with no Invariant Sections(?:, with no Front[-]Cover Texts, and with no Back[-]Cover Texts)?';
203             my $fsf_ul
204             = "$fsf gives unlimited permission to copy, distribute and modify it";
205             my $fsf_ullr
206             = "$fsf gives unlimited permission to copy and[/]or distribute it, "
207             . 'with or without modifications, as long as this notice is preserved';
208              
209             # internal-only patterns
210             my $_prop = '(?:[A-Za-z][A-Za-z0-9_]*)';
211             my $_any = '[A-Za-z0-9_.]';
212              
213             our %RE;
214              
215             =head1 PATTERNS
216              
217             =head2 Licensing traits
218              
219             Patterns each covering a single trait occuring in licenses.
220              
221             Each of these patterns has the tag B< type:trait >.
222              
223             =over
224              
225             =item * addr_fsf
226              
227             I
228              
229             =item * addr_fsf_franklin
230              
231             I
232              
233             =item * addr_fsf_franklin_steet
234              
235             I
236              
237             =item * addr_fsf_mass
238              
239             I
240              
241             =item * addr_fsf_temple
242              
243             I
244              
245             =cut
246              
247             $RE{addr_fsf} = {
248             caption => 'FSF postal address',
249             tags => [
250             'type:trait:address:gnu',
251             ],
252             };
253              
254             $RE{addr_fsf_franklin} = {
255             caption => 'FSF postal address (Franklin Street)',
256             tags => [
257             'type:trait:address:gnu',
258             ],
259              
260             'pat.alt.subject.trait' =>
261             '(?P<_addr_fsf_franklin>51 Franklin [Ss]t(?:reet|(?P<_addr_fsf_franklin_steet>eet)|\.)?, '
262             . '(?:Fifth|5th) [Ff]loor(?:[;]? |[ - ])'
263             . 'Boston,? MA 02110[-]1301,? USA[.]?)',
264             };
265              
266             $RE{addr_fsf_franklin_steet} = {
267             caption => 'mis-spelled FSF postal address (Franklin Steet)',
268             tags => [
269             'type:trait:address:gnu',
270             'type:trait:flaw:gnu',
271             ],
272              
273             'pat.alt.subject.trait' =>
274             '(?P<_addr_fsf_franklin_steet>51 Franklin [Ss]teet, '
275             . '(?:Fifth|5th) [Ff]loor(?:[;]? |[ - ])'
276             . 'Boston,? MA 02110[-]1301,? USA[.]?)',
277             };
278              
279             $RE{addr_fsf_mass} = {
280             caption => 'obsolete FSF postal address (Mass Ave)',
281             tags => [
282             'type:trait:address:gnu',
283             'type:trait:flaw:gnu',
284             ],
285              
286             'pat.alt.subject.trait' =>
287             '(?P<_addr_fsf_mass>675 [Mm]ass(?:achusett?ss?|\.)? [Aa]ve(?:nue|\.)?(?:(?:[;]? |[ - ])'
288             . '[Cc]ambridge,? (?:MA|ma) 02139,? (?:USA|usa))?[.]?)',
289             };
290              
291             $RE{addr_fsf_temple} = {
292             caption => 'obsolete FSF postal address (Temple Place)',
293             tags => [
294             'type:trait:address:gnu',
295             'type:trait:flaw:gnu',
296             ],
297              
298             'pat.alt.subject.trait' =>
299             '(?P<_addr_fsf_temple>5[39] Temple Place,? S(?:ui)?te 330(?:[;]? |[ - ])'
300             . 'Boston,? MA 02111[-]1307,? USA[.]?)',
301             };
302              
303             $RE{addr_fsf}{'pat.alt.subject.trait'} = _join_pats(
304             { label => '_addr_fsf' },
305             $RE{addr_fsf_franklin}{'pat.alt.subject.trait'},
306             $RE{addr_fsf_temple}{'pat.alt.subject.trait'},
307             $RE{addr_fsf_mass}{'pat.alt.subject.trait'},
308             );
309              
310             =item * any_of
311              
312             I
313              
314             =cut
315              
316             $RE{any_of} = {
317             caption => 'license grant "any of the following" phrase',
318             tags => [
319             'type:trait',
320             ],
321              
322             'pat.alt.subject.trait' =>
323             '(?P<_any_of>(?:any|one or more) of the following(?: licen[cs]es(?: at your choice)?)?)[.:]? ?',
324             };
325              
326             =item * by
327              
328             I
329              
330             =item * by_apache
331              
332             I
333              
334             =item * by_fsf
335              
336             I
337              
338             =item * by_james_clark
339              
340             I
341              
342             =item * by_psf
343              
344             I
345              
346             =item * by_sam_hocevar
347              
348             I
349              
350             =cut
351              
352             $RE{by} = {
353             caption => 'license grant " as published by ..." phrase',
354             tags => [
355             'type:trait:publisher',
356             ],
357              
358             'pat.alt.subject.trait' => '(?P<_by> ?(?:as )?published by[ word]{1,6})',
359             };
360              
361             $RE{by_apache} = {
362             caption =>
363             'license grant "as published by the Apache Software Foundation" phrase',
364             tags => [
365             'type:trait:publisher:apache',
366             ],
367              
368             'pat.alt.subject.trait' =>
369             '(?P<_by_apache> ?(?:as )?published by the Apache Software Foundation)',
370             };
371              
372             $RE{by_fsf} = {
373             caption =>
374             'license grant "as published by the Free Software Foundation" phrase',
375             tags => [
376             'type:trait:publisher:gnu',
377             ],
378              
379             'pat.alt.subject.trait' => '(?P<_by_fsf> ?(?:as )?published by '
380             . $fsf
381             . '(?: [(]'
382             . $P{fsf_url}
383             . '[)])?(?:,? Inc\.?)?'
384             . '(?:,? ?'
385             . $RE{addr_fsf}{'pat.alt.subject.trait'} . ')?)',
386             };
387              
388             $RE{by_james_clark} = {
389             caption => 'license grant "as published by James Clark" phrase',
390             tags => [
391             'type:trait:publisher:mit_new',
392             ],
393              
394             'pat.alt.subject.trait' =>
395             '(?P<_by_hames_clark> ?(?:as )?published by James Clark)',
396             };
397              
398             $RE{by_psf} = {
399             caption =>
400             'license grant "as published by the Python Software Foundation" phrase',
401             tags => [
402             'type:trait:publisher:python',
403             ],
404              
405             'pat.alt.subject.trait' =>
406             '(?P<_by_psf> ?(?:as )?published by the Python Software Foundation)',
407             };
408              
409             $RE{by_sam_hocevar} = {
410             caption => 'license grant "as published by Sam Hocevar" phrase',
411             tags => [
412             'type:trait:publisher:wtfpl',
413             ],
414              
415             'pat.alt.subject.trait' =>
416             '(?P<_by_sam_hocevar> ?(?:as )?published by Sam Hocevar)',
417             };
418              
419             =item * clause_retention
420              
421             =cut
422              
423             $RE{clause_retention} = {
424             caption => 'retention clause',
425             tags => [
426             'type:trait',
427             ],
428              
429             'pat.alt.subject.trait.scope.sentence' => $P{retain_notice_cond_discl},
430             };
431              
432             =item * clause_reproduction
433              
434             =cut
435              
436             $RE{clause_reproduction} = {
437             caption => 'reproduction clause',
438             tags => [
439             'type:trait',
440             ],
441              
442             'pat.alt.subject.trait.scope.sentence' => $P{repro_copr_cond_discl},
443             };
444              
445             =item * clause_advertising
446              
447             =item * clause_advertising_always
448              
449             =cut
450              
451             $RE{clause_advertising} = {
452             caption => 'advertising clause',
453             tags => [
454             'type:trait',
455             ],
456              
457             'pat.alt.subject.trait.scope.sentence' => $P{ad_mat_ack_this},
458             };
459              
460             $RE{clause_advertising_always} = {
461             caption => 'advertising clause (always)',
462             tags => [
463             'type:trait',
464             ],
465              
466             'pat.alt.subject.trait.scope.sentence' => $P{redist_ack_this},
467             };
468              
469             =item * clause_non_endorsement
470              
471             =cut
472              
473             $RE{clause_non_endorsement} = {
474             caption => 'non-endorsement clause',
475             tags => [
476             'type:trait',
477             ],
478              
479             'pat.alt.subject.trait.scope.sentence' => $P{nopromo_neither},
480             };
481              
482             =item * except_389
483              
484             =cut
485              
486             $RE{except_389} = {
487             name => '389-exception',
488             'name.alt.org.debian' => '389',
489             'name.alt.org.spdx.since.date_20150730' => '389-exception',
490             caption => '389 Directory Server Exception',
491             'caption.alt.org.fedora' => 'Fedora Directory Server License',
492             'iri.alt.org.fedora.archive.time_20140723121431' =>
493             'http://directory.fedoraproject.org/wiki/GPL_Exception_License_Text',
494             tags => [
495             'family:gnu:gpl',
496             'type:trait:exception',
497             ],
498              
499             'pat.alt.subject.trait.scope.sentence' =>
500             'Red Hat, Inc\. gives You the additional right '
501             . 'to link the code of this Program '
502             . 'with code not covered under the GNU General Public License '
503             . '[(]["]Non-GPL Code["][)] '
504             . 'and to distribute linked combinations including the two, '
505             . 'subject to the limitations in this paragraph[. ]'
506             . 'Non[-]GPL Code permitted under this exception '
507             . 'must only link to the code of this Program '
508             . 'through those well defined interfaces identified '
509             . 'in the file named EXCEPTION found in the source code files '
510             . '[(]the ["]Approved Interfaces["][)][.]',
511             };
512              
513             =item * except_autoconf_data
514              
515             I
516              
517             =item * except_autoconf_2
518              
519             I
520              
521             =item * except_autoconf_2_archive
522              
523             I
524              
525             =item * except_autoconf_2_autotroll
526              
527             I
528              
529             =item * except_autoconf_2_g10
530              
531             I
532              
533             =item * except_autoconf_3
534              
535             I
536              
537             =cut
538              
539             $RE{except_autoconf_data} = {
540             name => 'Autoconf-data',
541             caption => 'Autoconf data exception',
542             tags => [
543             'family:gnu:gpl',
544             'type:trait:exception',
545             ],
546              
547             'pat.alt.subject.trait.scope.sentence' =>
548             'if you distribute this file as part of a program '
549             . 'that contains a configuration script generated by Autoconf, '
550             . 'you may include it under the same distribution terms '
551             . 'that you use for the rest of that program',
552             };
553              
554             $RE{except_autoconf_2} = {
555             name => 'Autoconf-exception-2.0',
556             'name.alt.org.debian' => 'Autoconf-2.0',
557             'name.alt.org.spdx.until.date_20150513' =>
558             'GPL-2.0-with-autoconf-exception',
559             'name.alt.org.spdx.since.date_20150513' => 'Autoconf-exception-2.0',
560             caption => 'Autoconf exception 2.0',
561             'caption.alt.org.spdx.until.date_20150513' =>
562             'GNU General Public License v2.0 w/Autoconf exception',
563             'caption.alt.org.spdx.since.date_20150513' => 'Autoconf exception 2.0',
564             tags => [
565             'family:gnu:gpl',
566             'type:trait:exception',
567             ],
568              
569             'pat.alt.subject.trait.scope.sentence.part.part1' =>
570             'the Free Software Foundation gives unlimited permission '
571             . 'to copy, distribute and modify configure scripts ',
572             'pat.alt.subject.trait.part.part2' =>
573             'This special exception to the GPL applies '
574             . 'to versions of Autoconf',
575             };
576              
577             $RE{except_autoconf_2_archive} = {
578             name => 'Autoconf-exception-2.0~Archive',
579             'name.alt.org.debian' => 'Autoconf-2.0~Archive',
580             caption => 'Autoconf exception 2.0 (Autoconf Archive)',
581             tags => [
582             'family:gnu:gpl',
583             'type:trait:exception',
584             ],
585              
586             'pat.alt.subject.trait.scope.sentence.part.part1' =>
587             'the respective Autoconf Macro[\']s copyright owner '
588             . 'gives unlimited permission ',
589             'pat.alt.subject.trait.part.part2' =>
590             'This special exception to the GPL applies '
591             . 'to versions of the Autoconf',
592             };
593              
594             $RE{except_autoconf_2_autotroll} = {
595             name => 'Autoconf-exception-2.0~AutoTroll',
596             'name.alt.org.debian' => 'Autoconf-2.0~AutoTroll',
597             caption => 'Autoconf exception 2.0 (AutoTroll)',
598             tags => [
599             'family:gnu:gpl',
600             'type:trait:exception',
601             ],
602              
603             'pat.alt.subject.trait.scope.sentence.part.part1' =>
604             'the copyright holders of AutoTroll '
605             . 'give you unlimited permission ',
606             'pat.alt.subject.trait.part.part2' =>
607             'This special exception to the GPL applies '
608             . 'to versions of AutoTroll',
609             };
610              
611             $RE{except_autoconf_2_g10} = {
612             name => 'Autoconf-exception-2.0~g10',
613             'name.alt.org.debian' => 'Autoconf-2.0~g10',
614             caption => 'Autoconf exception 2.0 (g10 Code)',
615             tags => [
616             'family:gnu:gpl',
617             'type:trait:exception',
618             ],
619              
620             'pat.alt.subject.trait.part.part1' =>
621             'g10 Code GmbH gives unlimited permission',
622             'pat.alt.subject.trait.part.part2' =>
623             'Certain portions of the mk[word]\.awk source text are designed',
624             'pat.alt.subject.trait.part.part3' =>
625             'If your modification has such potential, you must delete',
626             };
627              
628             $RE{except_autoconf_3} = {
629             name => 'Autoconf-exception-3.0',
630             'name.alt.org.debian' => 'Autoconf-3.0',
631             'name.alt.org.spdx.until.date_20150513' =>
632             'GPL-3.0-with-autoconf-exception',
633             'name.alt.org.spdx.since.date_20150513' => 'Autoconf-exception-3.0',
634             caption => 'Autoconf exception 3.0',
635             'caption.alt.org.spdx.until.date_20150513' =>
636             'GNU General Public License v3.0 w/Autoconf exception',
637             'caption.alt.org.spdx.since.date_20150513' => 'Autoconf exception 3.0',
638             tags => [
639             'family:gnu:gpl',
640             'type:trait:exception',
641             ],
642              
643             'pat.alt.subject.trait.scope.sentence.part.part1' =>
644             "The purpose of this Exception is to allow distribution of Autoconf[']s",
645             };
646              
647             =item * except_bison_1_24
648              
649             I
650              
651             =item * except_bison_2_2
652              
653             I
654              
655             =cut
656              
657             $RE{except_bison_1_24} = {
658             name => 'Bison-1.24',
659             caption => 'Bison exception 1.24',
660             tags => [
661             'family:gnu:gpl',
662             'type:trait:exception',
663             ],
664              
665             'pat.alt.subject.trait.scope.sentence' =>
666             'when this file is copied by Bison into a Bison output file',
667             'pat.alt.subject.trait.scope.multisection.part.part1' =>
668             'when this file is copied by Bison into a Bison output file, '
669             . 'you may use that output file without restriction[. ]',
670             'pat.alt.subject.trait.scope.multisection.part.part2' =>
671             'This special exception was added by the Free Software Foundation'
672             . 'in version 1\.24 of Bison[.]'
673             };
674              
675             $RE{except_bison_2_2} = {
676             name => 'Bison-exception-2.2',
677             'name.alt.org.debian' => 'Bison-2.2',
678             'name.alt.org.spdx.until.date_20150513' => 'GPL-2.0-with-bison-exception',
679             'name.alt.org.spdx.since.date_20150513' => 'Bison-exception-2.2',
680             caption => 'Bison exception 2.2',
681             'caption.alt.org.spdx.until.date_20150513' =>
682             'GNU General Public License v2.0 w/Bison exception',
683             'caption.alt.org.spdx.since.date_20150513' => 'Bison exception 2.2',
684             tags => [
685             'family:gnu:gpl',
686             'type:trait:exception',
687             ],
688              
689             'pat.alt.subject.trait.scope.sentence' =>
690             'you may create a larger work that contains '
691             . 'part or all of the Bison parser skeleton',
692             'pat.alt.subject.trait.scope.multisection.part.part1' =>
693             'you may create a larger work that contains '
694             . 'part or all of the Bison parser skeleton'
695             . 'and distribute that work under terms of your choice, '
696             . 'so long as that work isn[\']t itself a parser generator'
697             . 'using the skeleton or a modified version thereof '
698             . 'as a parser skeleton[.]'
699             . 'Alternatively, if you modify or redistribute the parser skeleton itself, '
700             . 'yoy may [(]at your option[)] remove this special exception, '
701             . 'which will cause the skeleton and the resulting Bison output files '
702             . 'to be licensed under the GNU General Public License '
703             . 'without this special exception[.][ ]',
704             'pat.alt.subject.trait.scope.multisection.part.part2' =>
705             'This special exception was added by the Free Software Foundation'
706             . 'in version 2\.2 of Bison[.]'
707             };
708              
709             =item * except_classpath_2
710              
711             =cut
712              
713             $RE{except_classpath_2} = {
714             name => 'Classpath-exception-2.0',
715             'name.alt.org.debian' => 'Classpath-2.0',
716             'name.alt.org.spdx.until.date_20150513' =>
717             'GPL-2.0-with-classpath-exception',
718             'name.alt.org.spdx.since.date_20150513' => 'Classpath-exception-2.0',
719             'name.alt.org.wikidata.synth.nogrant' => 'Q1486447',
720             caption => 'Classpath exception 2.0',
721             'caption.alt.org.fedora' => 'Classpath exception',
722             'caption.alt.org.spdx.until.date_20150513' =>
723             'GNU General Public License v2.0 w/Classpath exception',
724             'caption.alt.org.spdx.since.date_20150513' => 'Classpath exception 2.0',
725             'caption.alt.org.wikidata' => 'GPL linking exception',
726             tags => [
727             'family:gnu:gpl',
728             'type:trait:exception',
729             ],
730              
731             'pat.alt.subject.trait.scope.sentence' =>
732             'link this library with independent modules',
733             'pat.alt.subject.trait.scope.multisection.part.intro' =>
734             'Linking this library statically or dynamically with other modules '
735             . 'is making a combined work based on this library[. ]'
736             . 'Thus, the terms and conditions of the GNU General Public License '
737             . 'cover the whole combination[.][ ]',
738             'pat.alt.subject.trait.scope.multisection.part.part1' =>
739             'the copyright holders of this library give you permission '
740             . 'to link this library with independent modules to produce an executable, '
741             . 'regardless of the license terms of these independent modules, '
742             . 'and to copy and distribute the resulting executable '
743             . 'under terms of your choice, '
744             . 'provided that you also meet, '
745             . 'for each linked independent module, '
746             . 'the terms and conditions of the license of that module[. ]?',
747             'pat.alt.subject.trait.scope.multisection.part.part2' =>
748             'An independent module is a module '
749             . 'which is not derived from or based on this library[. ]'
750             . 'If you modify this library, '
751             . 'you may extend this exception to your version of the library, '
752             . 'but you are not obligated to do so[. ]'
753             . 'If you do not wish to do so, '
754             . 'delete this exception statement from your version[.]',
755             };
756              
757             =item * except_ecos_2
758              
759             I
760              
761             =cut
762              
763             $RE{except_ecos_2} = {
764             name => 'eCos-exception-2.0',
765             'name.alt.org.spdx.since.date_20150513' => 'eCos-exception-2.0',
766             caption => 'eCos exception 2.0',
767             description => <<'END',
768             Identical to Macros and Inline Functions Exception, except...
769             * drop explicit permission to use without restriction
770             * replace "files" and "excecutable" with "works"
771             * add reference to GPL section 3
772             END
773             iri => 'http://sources.redhat.com/ecos/ecos-license/',
774             tags => [
775             'family:gnu:gpl',
776             'type:trait:exception',
777             ],
778              
779             'pat.alt.subject.trait.scope.sentence.part.part1' =>
780             'if other files instantiate templates or use macros or inline functions from this file, '
781             . 'or you compile this file and link it with other works',
782             'pat.alt.subject.trait.scope.line.scope.sentence.part.part2' =>
783             'However the source code for this file must still be made available',
784             'pat.alt.subject.trait.scope.line.scope.sentence.part.part3' =>
785             'This exception does not invalidate any other reasons why',
786             };
787              
788             =item * except_epl
789              
790             =cut
791              
792             $RE{except_epl} = {
793             name => 'EPL-library',
794             caption => 'EPL-library exception',
795             tags => [
796             'family:gnu:gpl',
797             'type:trait:exception',
798             ],
799              
800             'pat.alt.subject.trait.scope.sentence' =>
801             'you have the permission to link the code of this program '
802             . 'with any library released under the EPL license '
803             . 'and distribute linked combinations including the two[.]',
804             'pat.alt.subject.trait.scope.paragraph.part.all' =>
805             'you have the permission to link the code of this program '
806             . 'with any library released under the EPL license '
807             . 'and distribute linked combinations including the two[. ]'
808             . 'If you modify this file, '
809             . 'you may extend this exception to your version of the file, '
810             . 'but you are not obligated to do so[. ]'
811             . 'If you do not wish to do so, '
812             . 'delete this exception statement from your version[.]',
813             };
814              
815             =item * except_epl_mpl
816              
817             =cut
818              
819             $RE{except_epl_mpl} = {
820             name => 'EPL-MPL-library',
821             caption => 'EPL-MPL-library exception',
822             tags => [
823             'family:gnu:gpl',
824             'type:trait:exception',
825             ],
826              
827             'pat.alt.subject.trait.scope.sentence' =>
828             'you have the permission to link the code of this program '
829             . 'with any library released under the EPL license '
830             . 'and distribute linked combinations including the two[;] '
831             . 'the MPL [(]Mozilla Public License[)], '
832             . 'which EPL [(]Erlang Public License[)] is based on, '
833             . 'is included in this exception.',
834             };
835              
836             =item * except_faust
837              
838             I
839              
840             =cut
841              
842             $RE{except_faust} = {
843             name => 'FAUST',
844             caption => 'FAUST exception',
845             tags => [
846             'family:gnu:gpl',
847             'type:trait:exception',
848             ],
849              
850             'pat.alt.subject.trait.scope.sentence' =>
851             'you may create a larger work that contains '
852             . 'this FAUST architecture section',
853             'pat.alt.subject.trait.scope.multisection.part.all' =>
854             'you may create a larger work that contains '
855             . 'this FAUST architecture section '
856             . 'and distribute that work under terms of your choice, '
857             . 'so long as this FAUST architecture section is not modified[.]',
858             };
859              
860             =item * except_font_2
861              
862             I
863              
864             =cut
865              
866             $RE{except_font_2} = {
867             name => 'Font-exception-2.0',
868             'name.alt.org.spdx.until.date_20150513' => 'GPL-2.0-with-font-exception',
869             'name.alt.org.spdx.since.date_20150513' => 'Font-exception-2.0',
870             'name.alt.org.wikidata.synth.nogrant' => 'Q5514182',
871             caption => 'Font exception 2.0',
872             'caption.alt.org.fedora' => 'font embedding exception',
873             'caption.alt.org.spdx.until.date_20150513' =>
874             'GNU General Public License v2.0 w/Font exception',
875             'caption.alt.org.spdx.since.date_20150513' => 'Font exception 2.0',
876             'caption.alt.org.wikidata' => 'GPL font exception',
877             tags => [
878             'family:gnu:gpl',
879             'type:trait:exception',
880             ],
881              
882             'pat.alt.subject.trait.scope.sentence' =>
883             'if you create a document which uses this font, ',
884             'pat.alt.subject.trait.scope.multisection.part.all' =>
885             'if you create a document which uses this font, '
886             . 'and embed this font or unaltered portions of this font into the document, '
887             . 'this font does not by itself cause the resulting document '
888             . 'to be covered by the GNU General Public License' . '[. ]'
889             . 'This exception does not however invalidate any other reasons why '
890             . 'the document might be covered by the GNU General Public License'
891             . '[. ]'
892             . 'If you modify this font, '
893             . 'you may extend this exception to your version of the font, '
894             . 'but you are not obligated to do so' . '[. ]'
895             . 'If you do not wish to do so, delete this exception statement from your version[.]',
896             };
897              
898             =item * except_gcc_2
899              
900             I
901              
902             =item * except_gcc_3_1
903              
904             I
905              
906             =cut
907              
908             $RE{except_gcc_2} = {
909             name => 'GCC-exception-2.0',
910             'name.alt.org.spdx.until.date_20150513' => 'GPL-2.0-with-GCC-exception',
911             'name.alt.org.spdx.since.date_20150513' => 'GCC-exception-2.0',
912             'name.alt.org.wikidata.synth.nogrant' => 'Q89706542',
913             caption => 'GCC Runtime Library exception 2.0',
914             'caption.alt.org.spdx.until.date_20150513' =>
915             'GNU General Public License v2.0 w/GCC Runtime Library exception',
916             'caption.alt.org.spdx.since.date_20150513' =>
917             'GCC Runtime Library exception 2.0',
918             'caption.alt.org.wikidata' =>
919             'GNU General Public License, version 2.0 or later with library exception',
920             tags => [
921             'family:gnu:gpl',
922             'type:trait:exception',
923             ],
924              
925             'pat.alt.subject.trait.scope.sentence' =>
926             'the Free Software Foundation gives you unlimited permission '
927             . 'to link the compiled version of this file into combinations with other programs',
928             };
929              
930             $RE{except_gcc_3_1} = {
931             name => 'GCC-exception-3.1',
932             'name.alt.org.spdx.until.date_20150513' => 'GPL-3.0-with-GCC-exception',
933             'name.alt.org.spdx.since.date_20150513' => 'GCC-exception-3.1',
934             caption => 'GCC Runtime Library exception 3.1',
935             'caption.alt.org.spdx.until.date_20150513' =>
936             'GNU General Public License v3.0 w/GCC Runtime Library exception',
937             'caption.alt.org.spdx.since.date_20150513' =>
938             'GCC Runtime Library exception 3.1',
939             tags => [
940             'family:gnu:gpl',
941             'type:trait:exception',
942             ],
943              
944             'pat.alt.subject.trait.scope.sentence' =>
945             'You have permission to propagate a work of Target Code formed',
946             };
947              
948             =item * except_gstreamer
949              
950             =cut
951              
952             $RE{except_gstreamer} = {
953             name => 'GStreamer',
954             caption => 'GStreamer exception',
955             tags => [
956             'family:gnu:gpl',
957             'type:trait:exception',
958             ],
959              
960             'pat.alt.subject.trait.scope.multisection.part.all' =>
961             'The[ word]{1,3} project hereby grant permission '
962             . 'for non-gpl compatible GStreamer plugins '
963             . 'to be used and distributed together with GStreamer and[ word]{1,3}[. ]'
964             . 'This permission are above and beyond '
965             . 'the permissions granted by the GPL license[ word]{1,3} is covered by[.]',
966             };
967              
968             =item * except_libtool
969              
970             =cut
971              
972             $RE{except_libtool} = {
973             name => 'Libtool-exception',
974             'name.alt.org.debian' => 'Libtool',
975             'name.alt.org.spdx.since.date_20150730' => 'Libtool-exception',
976             caption => 'Libtool Exception',
977             tags => [
978             'family:gnu:gpl',
979             'type:trait:exception',
980             ],
981              
982             'pat.alt.subject.trait.scope.sentence' =>
983             'if you distribute this file as part of a program or library '
984             . 'that is built using GNU Libtool, '
985             . 'you may include this file under the same distribution terms '
986             . 'that you use for the rest of that program[.]',
987             };
988              
989             =item * except_mif
990              
991             =cut
992              
993             $RE{except_mif} = {
994             name => 'mif-exception',
995             'name.alt.org.debian' => 'mif',
996             'name.alt.org.spdx.since.date_20150730' => 'mif-exception',
997             caption => 'Macros and Inline Functions Exception',
998             tags => [
999             'family:gnu:gpl',
1000             'type:trait:exception',
1001             ],
1002              
1003             'pat.alt.subject.trait.scope.multisection.part.first' =>
1004             'you may use this file '
1005             . 'as part of a free software library without restriction[. ]'
1006             . 'Specifically, if other files instantiate templates ',
1007             'pat.alt.subject.trait.scope.multisection.part.all' =>
1008             'you may use this file '
1009             . 'as part of a free software library without restriction[. ]'
1010             . 'Specifically, if other files instantiate templates '
1011             . 'or use macros or inline functions from this file, '
1012             . 'or you compile this file and link it with other files '
1013             . 'to produce an executable, '
1014             . 'this file does not by itself cause the resulting executable '
1015             . 'to be covered by the GNU General Public License[. ]'
1016             . 'This exception does not however invalidate any other reasons '
1017             . 'why the executable file might be covered '
1018             . 'by the GNU General Public License[.]',
1019             };
1020              
1021             =item * except_openssl
1022              
1023             I
1024              
1025             =cut
1026              
1027             $RE{except_openssl} = {
1028             name => 'OpenSSL-exception',
1029             'name.alt.org.debian' => 'OpenSSL',
1030             caption => 'OpenSSL exception',
1031             tags => [
1032             'family:gnu',
1033             'type:trait:exception',
1034             ],
1035              
1036             'pat.alt.subject.trait.scope.sentence' =>
1037             'SSLeay licenses, (?:the (?:author|copyright holder|licensors|Free Software)|you are granted)',
1038             'pat.alt.subject.trait.scope.multisection.part.all' =>
1039             'If you modify (?:the|this) program, or any covered work, '
1040             . 'by linking or combining it '
1041             . 'with the OpenSSL project[\']s ["]OpenSSL["] library '
1042             . '[(]or a modified version of that library[)], '
1043             . 'containing parts covered '
1044             . 'by the terms of the OpenSSL or SSLeay licenses, '
1045             . '(?:the authors of[ word]{1,8} grant you'
1046             . '|the (?:copyright holder|licensors|Free Software Foundation) grants? you'
1047             . '|you are granted) '
1048             . 'additional permission to convey the resulting work[. ]'
1049             . 'Corresponding Source for a non-source form '
1050             . 'of such a combination '
1051             . 'shall include the source code for the parts of OpenSSL used '
1052             . 'as well as that of the covered work[.]'
1053             };
1054              
1055             =item * except_ocaml-lgpl
1056              
1057             =cut
1058              
1059             $RE{except_ocaml_lgpl} = {
1060             name => 'OCaml-LGPL-linking-exception',
1061             'name.alt.org.debian' => 'OCaml-LGPL-linking',
1062             caption => 'OCaml LGPL Linking Exception',
1063             tags => [
1064             'family:gnu:lgpl',
1065             'type:trait:exception',
1066             ],
1067              
1068             'pat.alt.subject.trait.scope.multisection.part.all' =>
1069             'you may link, statically or dynamically, '
1070             . 'a ["]work that uses the Library["] '
1071             . 'with a publicly distributed version of the Library '
1072             . 'to produce an executable file '
1073             . 'containing portions of the Library, '
1074             . 'and distribute that executable file '
1075             . 'under terms of your choice, '
1076             . 'without any of the additional requirements '
1077             . 'listed in clause 6 of the GNU Library General Public License[.]',
1078             };
1079              
1080             =item * except_openssl-lgpl
1081              
1082             I
1083              
1084             =item * except_openssl_s3
1085              
1086             I
1087              
1088             =cut
1089              
1090             $RE{except_openssl_lgpl} = {
1091             name => 'OpenSSL~LGPL-exception',
1092             'name.alt.org.debian' => 'OpenSSL~LGPL',
1093             caption => 'OpenSSL~LGPL exception',
1094             tags => [
1095             'family:gnu:lgpl',
1096             'type:trait:exception',
1097             ],
1098              
1099             'pat.alt.subject.trait.scope.multisection.part.all' =>
1100             'the copyright holders give permission '
1101             . 'to link the code of portions of this program '
1102             . 'with the OpenSSL library '
1103             . 'under certain conditions as described '
1104             . 'in each individual source file, '
1105             . 'and distribute linked combinations including the two[.][ ]'
1106             . 'You must obey the GNU Lesser General Public License '
1107             . 'in all respects '
1108             . 'for all of the code used other than OpenSSL[.]'
1109             };
1110              
1111             $RE{except_openssl_s3} = {
1112             name => 'OpenSSL~s3-exception',
1113             'name.alt.org.debian' => 'OpenSSL~s3',
1114             caption => 'OpenSSL~s3 exception',
1115             tags => [
1116             'family:gnu',
1117             'type:trait:exception',
1118             ],
1119              
1120             'pat.alt.subject.trait.scope.sentence' =>
1121             'link the code of this library and its programs with the OpenSSL library',
1122             'pat.alt.subject.trait.scope.multisection.part.all' =>
1123             'the copyright holders give permission '
1124             . 'to link the code of portions of this program '
1125             . 'with the OpenSSL project[\']s ["]OpenSSL["] library '
1126             . '[(]or with modified versions of it '
1127             . 'that use the same license as the ["]OpenSSL["] library'
1128             . '[ - ]see [http://]www.openssl.org/[)], '
1129             . 'and distribute linked combinations including the two[.]'
1130             };
1131              
1132             =item * except_prefix_agpl
1133              
1134             I
1135              
1136             =item * except_prefix_generic
1137              
1138             I
1139              
1140             =item * except_prefix_gpl
1141              
1142             I
1143              
1144             =item * except_prefix_gpl_clisp
1145              
1146             I
1147              
1148             =item * except_prefix_lgpl
1149              
1150             I
1151              
1152             =cut
1153              
1154             $RE{except_prefix_agpl} = {
1155             caption => 'AGPL exception prefix',
1156             tags => [
1157             'family:gnu:agpl',
1158             'type:trait:exception:prefix',
1159             ],
1160              
1161             'pat.alt.subject.trait.target.generic' =>
1162             'In addition to the permissions in the GNU General Public License, ',
1163             'pat.alt.subject.trait.target.agpl_3' => 'Additional permissions? under '
1164             . "$the?(?:GNU )?A(?:ffero )?GPL(?: version 3|v3) section 7"
1165             };
1166              
1167             $RE{except_prefix_generic} = {
1168             caption => 'generic exception prefix',
1169             tags => [
1170             'type:trait:exception:prefix',
1171             ],
1172              
1173             'pat.alt.subject.trait.scope.sentence' =>
1174             '(?:In addition, as a special exception, '
1175             . '|As a special exception, )',
1176             'pat.alt.subject.trait.scope.paragraph' =>
1177             '(?:In addition, as a special exception, '
1178             . '|(?:Exception [*)]FIXME[ ])?'
1179             . 'As a special exception, '
1180             . '|Grant of Additional Permission[. ])',
1181             };
1182              
1183             $RE{except_prefix_gpl} = {
1184             caption => 'GPL exception prefix',
1185             tags => [
1186             'family:gnu:gpl',
1187             'type:trait:exception:prefix',
1188             ],
1189              
1190             'pat.alt.subject.trait.target.generic' =>
1191             'In addition to the permissions in the GNU General Public License, ',
1192             'pat.alt.subject.trait.target.gpl_3' =>
1193             '(?:the file is governed by GPLv3 along with this Exception'
1194             . '|Additional permissions? under '
1195             . "$the?(?:GNU )?GPL(?: version 3|v3) section 7)"
1196             };
1197              
1198             $RE{except_prefix_gpl_clisp} = {
1199             caption => 'CLISP exception prefix',
1200             tags => [
1201             'family:gnu:gpl',
1202             'type:trait:exception:prefix',
1203             ],
1204              
1205             'pat.alt.subject.trait.scope.sentence' => 'Note[:"][ ]'
1206             . 'This copyright does NOT cover user programs '
1207             . 'that run in CLISP and third-party packages not part of CLISP, '
1208             . "if [*)]$clisp_they_only_ref_clisp, "
1209             . '[ie] if they don[\']t rely on CLISP internals '
1210             . 'and would as well run in any other Common Lisp implementation[. ]'
1211             . "Or [*)]$clisp_they_only_ref_clisp "
1212             . 'and some external, not CLISP specific, symbols '
1213             . 'in third[-]party packages '
1214             . 'that are released with source code under a GPL compatible license '
1215             . 'and that run in a great number of Common Lisp implementations, '
1216             . '[ie] if they rely on CLISP internals only to the extent needed '
1217             . 'for gaining some functionality also available '
1218             . 'in a great number of Common Lisp implementations[. ]'
1219             . 'Such user programs are not covered '
1220             . 'by the term ["]derived work["] used in the GNU GPL[. ]'
1221             . 'Neither is their compiled code, '
1222             . '[ie] the result of compiling them '
1223             . 'by use of the function COMPILE-FILE[. ]'
1224             . 'We refer to such user programs '
1225             . 'as ["]independent work["][.][ ]',
1226             };
1227              
1228             $RE{except_prefix_lgpl} = {
1229             caption => 'LGPL exception prefix',
1230             tags => [
1231             'family:gnu:lgpl',
1232             'type:trait:exception:prefix',
1233             ],
1234              
1235             'pat.alt.subject.trait.scope.sentence' =>
1236             'In addition to the permissions in '
1237             . 'the GNU (?:Lesser|Library) General Public License, '
1238             };
1239              
1240             =item * except_proguard
1241              
1242             I
1243              
1244             =cut
1245              
1246             $RE{except_proguard} = {
1247             name => 'Proguard',
1248             caption => 'Proguard exception',
1249             tags => [
1250             'family:gnu:gpl',
1251             'type:trait:exception',
1252             ],
1253              
1254             'pat.alt.subject.trait.scope.sentence' =>
1255             'this program with the following stand-alone applications',
1256             'pat.alt.subject.trait.scope.multisection.part.part1' =>
1257             '(?:Eric Lafortune|Guardsquare NV) gives permission '
1258             . 'to link the code of this program '
1259             . 'with the following stand[-]alone applications[:]?'
1260             };
1261              
1262             =item * except_qt_gpl_1
1263              
1264             I
1265              
1266             =item * except_qt_gpl_eclipse
1267              
1268             I
1269              
1270             =item * except_qt_gpl_openssl
1271              
1272             I
1273              
1274             =cut
1275              
1276             $RE{except_qt_gpl_1} = {
1277             name => 'Qt-GPL-exception-1.0',
1278             'name.alt.org.debian' => 'Qt-GPL-1.0',
1279             caption => 'Qt GPL exception 1.0',
1280             tags => [
1281             'family:gnu:gpl',
1282             'type:trait:exception',
1283             ],
1284              
1285             'pat.alt.subject.trait.scope.sentence.part.part1' =>
1286             'you may create a larger work which contains '
1287             . 'the output of this application '
1288             . 'and distribute that work under terms of your choice, '
1289             . 'so long as the work is not otherwise derived from or based on this application '
1290             . 'and so long as the work does not in itself generate output '
1291             . 'that contains the output from this application in its original or modified form',
1292             'pat.alt.subject.trait.scope.paragraph.part.part2' =>
1293             'you have permission to combine this application with Plugins '
1294             . 'licensed under the terms of your choice, '
1295             . 'to produce an executable, and to copy and distribute the resulting executable '
1296             . 'under the terms of your choice[. ]'
1297             . 'However, the executable must be accompanied by a prominent notice '
1298             . 'offering all users of the executable the entire source code to this application, '
1299             . 'excluding the source code of the independent modules, '
1300             . 'but including any changes you have made to this application, '
1301             . 'under the terms of this license[.]',
1302             };
1303              
1304             $RE{except_qt_gpl_eclipse} = {
1305             name => 'Qt-GPL-Eclipse',
1306             caption => 'Qt GPL Eclipse exception',
1307             tags => [
1308             'family:gnu:gpl',
1309             'type:trait:exception',
1310             ],
1311              
1312             'pat.alt.subject.trait.scope.sentence' =>
1313             'Qt Designer, grants users of the Qt/Eclipse',
1314             'pat.alt.subject.trait.scope.paragraph.part.part1' =>
1315             'Trolltech, as the sole copyright holder for Qt Designer, '
1316             . 'grants users of the Qt[/]Eclipse Integration plug-in '
1317             . 'the right for the Qt[/]Eclipse Integration to link '
1318             . 'to functionality provided by Qt Designer '
1319             . 'and its related libraries[.][ ]'
1320             };
1321              
1322             $RE{except_qt_gpl_openssl} = {
1323             name => 'Qt-GPL-OpenSSL',
1324             caption => 'Qt GPL OpenSSL exception',
1325             tags => [
1326             'family:gnu:gpl',
1327             'type:trait:exception',
1328             ],
1329              
1330             'pat.alt.subject.trait.scope.sentence' =>
1331             'its release of Qt with the OpenSSL',
1332             'pat.alt.subject.trait.scope.paragraph.part.part1' =>
1333             'Nokia gives permission to link the code of its release of Qt '
1334             . 'with the OpenSSL project[\']s ["]OpenSSL["] library '
1335             . '[(]or modified versions of the ["]OpenSSL["] library '
1336             . 'that use the same license as the original version[)], '
1337             . 'and distribute the linked executables[.][ ]',
1338             'pat.alt.subject.trait.scope.paragraph.part.part2' =>
1339             ' You must comply with the GNU General Public License version 2 '
1340             . 'in all respects for all of the code used '
1341             . 'other than the ["]OpenSSL["] code[. ]'
1342             . 'If you modify this file, '
1343             . 'you may extend this exception to your version of the file, '
1344             . 'but you are not obligated to do so[. ]'
1345             . 'If you do not wish to do so, '
1346             . 'delete this exception statement '
1347             . 'from your version of this file[.]'
1348             };
1349              
1350             =item * except_qt_kernel
1351              
1352             I
1353              
1354             =cut
1355              
1356             $RE{except_qt_kernel} = {
1357             name => 'Qt-kernel',
1358             caption => 'Qt-kernel exception',
1359             tags => [
1360             'family:gnu',
1361             'type:trait:exception',
1362             ],
1363              
1364             'pat.alt.subject.trait.scope.sentence' =>
1365             'Permission is also granted to link this program with the Qt library, '
1366             . 'treating Qt like a library that normally accompanies the operating system kernel, '
1367             . 'whether or not that is in fact the case',
1368             };
1369              
1370             =item * except_qt_lgpl_1_1
1371              
1372             I
1373              
1374             =cut
1375              
1376             $RE{except_qt_lgpl_1_1} = {
1377             name => 'Qt-LGPL-exception-1.1',
1378             'name.alt.org.debian' => 'Qt-LGPL-1.1',
1379             caption => 'Qt LGPL exception 1.1',
1380             tags => [
1381             'family:gnu:lgpl',
1382             'type:trait:exception',
1383             ],
1384              
1385             'pat.alt.subject.trait.type.reference' =>
1386             '(?:Digia|Nokia|The Qt Company) gives you certain',
1387             'pat.alt.subject.trait.scope.sentence.type.reference' =>
1388             '(?:Digia|Nokia|The Qt Company) gives you certain additional rights[. ]'
1389             . 'These rights are described '
1390             . 'in The (?:Digia Qt|Nokia Qt|Qt Company) LGPL Exception version 1\.1, '
1391             . 'included in the file [word] in this package'
1392             };
1393              
1394             =item * except_qt_nosource
1395              
1396             I
1397              
1398             =cut
1399              
1400             $RE{except_qt_nosource} = {
1401             name => 'Qt-no-source',
1402             caption => 'Qt-no-source exception',
1403             tags => [
1404             'family:gnu',
1405             'type:trait:exception',
1406             ],
1407              
1408             'pat.alt.subject.trait.scope.sentence' =>
1409             'permission is given to link this program with any edition of Qt, '
1410             . 'and distribute the resulting executable, '
1411             . 'without including the source code for Qt in the source distribution',
1412             };
1413              
1414             =item * except_sdc
1415              
1416             I
1417              
1418             =cut
1419              
1420             $RE{except_sdc} = {
1421             name => 'SDC',
1422             caption => 'SDC exception',
1423             tags => [
1424             'family:gnu:lgpl',
1425             'type:trait:exception',
1426             ],
1427              
1428             'pat.alt.subject.trait.scope.sentence' =>
1429             'you may create a larger work that contains '
1430             . 'code generated by the Shared Data Compiler',
1431             'pat.alt.subject.trait.scope.multisection.part.part1' =>
1432             'you may create a larger work that contains '
1433             . 'code generated by the Shared Data Compiler'
1434             . 'and distribute that work under terms of '
1435             . 'the GNU Lesser General Public License [(]LGPL[)]'
1436             . 'by the Free Software Foundation; '
1437             . 'either version 2\.1 of the License, '
1438             . 'or [(]at your option[)] any later version '
1439             . 'or under terms that are fully compatible with these licenses[.][ ]',
1440             'pat.alt.subject.trait.scope.multisection.part.part2' =>
1441             'Alternatively, if you modify or redistribute '
1442             . 'the Shared Data Compiler tool itself, '
1443             . 'you may [(]at your option[)] remove this special exception, '
1444             . 'which will cause the resulting generted source code files '
1445             . 'to be licensed under the GNU General Public License '
1446             . '[(]either version 2 of the License, '
1447             . 'or at your option under any later version[)] '
1448             . 'without this special exception[.][ ]',
1449             'pat.alt.subject.trait.scope.multisection.part.part3' =>
1450             'This special exception was added by Jaros[l-]aw Staniek[. ]'
1451             . 'Contact him for more licensing options, '
1452             . '[eg] using in non-Open Source projects[.]',
1453             };
1454              
1455             =item * except_sollya_4_1
1456              
1457             I
1458              
1459             =cut
1460              
1461             $RE{except_sollya_4_1} = {
1462             name => 'Sollya-exception-4.1',
1463             'name.alt.org.debian' => 'Sollya-4.1',
1464             caption => 'Sollya exception 4.1',
1465             tags => [
1466             'family:cecill',
1467             'type:trait:exception',
1468             ],
1469              
1470             'pat.alt.subject.trait.scope.sentence' =>
1471             'you may create a larger work that contains '
1472             . 'part or all of this software generated using Sollya',
1473             'pat.alt.subject.trait.scope.multisection.part.part1' =>
1474             'you may create a larger work that contains '
1475             . 'part or all of this software generated using Sollya'
1476             . 'and distribute that work under terms of your choice, '
1477             . 'so long as that work isn[\']t itself a numerical code generator '
1478             . 'using the skeleton of this code or a modified version thereof '
1479             . 'as a code skeleton[.]'
1480             . 'Alternatively, if you modify or redistribute this code itself, '
1481             . 'or its skeleton, '
1482             . 'you may [(]at your option[)] remove this special exception, '
1483             . 'which will cause this generated code and its skeleton '
1484             . 'and the resulting Sollya output files'
1485             . 'to be licensed under the CeCILL-C License '
1486             . 'without this special exception[.][ ]',
1487             'pat.alt.subject.trait.scope.multisection.part.part2' =>
1488             'This special exception was added by the Sollya copyright holders '
1489             . 'in version 4\.1 of Sollya[.]'
1490             };
1491              
1492             =item * except_warzone
1493              
1494             I
1495              
1496             =cut
1497              
1498             $RE{except_warzone} = {
1499             name => 'Warzone',
1500             caption => 'Warzone exception',
1501             tags => [
1502             'family:gnu:gpl',
1503             'type:trait:exception',
1504             ],
1505              
1506             'pat.alt.subject.trait.scope.sentence' =>
1507             'the copyright holders of Warzone 2100 '
1508             . 'give you permission to combine',
1509             'pat.alt.subject.trait.scope.multisection.part.part1' =>
1510             'the copyright holders of Warzone 2100 '
1511             . 'give you permission to combine Warzone 2100 '
1512             . 'with code included in the standard release of libraries '
1513             . 'that are accessible, redistributable and linkable '
1514             . 'free of charge[. ]'
1515             . 'You may copy and distribute such a system '
1516             . 'following the terms of the GNU GPL '
1517             . 'for Warzone 2100 '
1518             . 'and the licenses of the other code concerned[.][ ]',
1519             'pat.alt.subject.trait.scope.multisection.part.part2' =>
1520             'Note that people who make modified versions of Warzone 2100 '
1521             . 'are not obligated to grant this special exception '
1522             . 'for their modified versions; '
1523             . 'it is their choice whether to do so[. ]'
1524             . 'The GNU General Public License gives permission '
1525             . 'to release a modified version without this exception; '
1526             . 'this exception also makes it possible '
1527             . 'to release a modified version '
1528             . 'which carries forward this exception[.]'
1529             };
1530              
1531             =item * except_wxwindows
1532              
1533             I
1534              
1535             =cut
1536              
1537             $RE{except_wxwindows} = {
1538             name => 'WxWindows-exception-3.1',
1539             'name.alt.org.debian' => 'WxWindows-3.1',
1540             'name.alt.org.osi' => 'WXwindows',
1541             'name.alt.org.osi.iri.stem.until.date_20110430' => 'wxwindows',
1542             'name.alt.org.spdx.until.date_20150513' => 'WXwindows',
1543             'name.alt.org.spdx.since.date_20150513' => 'WxWindows-exception-3.1',
1544             'name.alt.org.wikidata.synth.nogrant' => 'Q38347878',
1545             caption => 'WxWindows Library Exception 3.1',
1546             'caption.alt.org.osi' => 'The wxWindows Library Licence',
1547             'caption.alt.org.osi.misc.list' => 'wxWindows Library License',
1548             'caption.alt.org.spdx.until.date_20150513' => 'wxWindows Library License',
1549             'caption.alt.org.spdx.since.date_20150513' =>
1550             'WxWindows Library Exception 3.1',
1551             'caption.alt.org.tldr' => 'wxWindows Library License (WXwindows)',
1552             'caption.alt.org.wikidata' => 'wxWindows Library License',
1553             tags => [
1554             'family:gnu:gpl',
1555             'type:trait:exception',
1556             ],
1557              
1558             'pat.alt.subject.trait.scope.sentence' =>
1559             'the copyright holders of this library give permission '
1560             . 'for additional uses of the text '
1561             . 'contained in this release of the library '
1562             . 'as licenced under the wxWindows Library Licence',
1563             'pat.alt.subject.trait.scope.multisection.part.part1' =>
1564             'the copyright holders of this library give permission '
1565             . 'for additional uses of the text '
1566             . 'contained in this release of the library '
1567             . 'as licenced under the wxWindows Library Licence, '
1568             . 'applying either version 3\.1 of the Licence, '
1569             . 'or [(]at your option[)] any later version of the Licence '
1570             . 'as published by the copyright holders '
1571             . 'of version 3\.1 of the Licence document[.][ ]',
1572             'pat.alt.subject.trait.scope.multisection.part.part2' =>
1573             '[*)]The exception is that you may use, copy, link, modify and distribute '
1574             . 'under your own terms, '
1575             . 'binary object code versions of works based on the Library[.][ ]',
1576             'pat.alt.subject.trait.scope.multisection.part.part3' =>
1577             '[*)]If you copy code from files '
1578             . 'distributed under the terms of the GNU General Public Licence '
1579             . 'or the GNU Library General Public Licence '
1580             . 'into a copy of this library, as this licence permits, '
1581             . 'the exception does not apply to the code that you add in this way[. ]'
1582             . 'To avoid misleading anyone as to the status of such modified files, '
1583             . 'you must delete this exception notice from such code '
1584             . 'and[/]or adjust the licensing conditions notice accordingly[.][ ]',
1585             'pat.alt.subject.trait.scope.multisection.part.part4' =>
1586             '[*)]If you write modifications of your own for this library, '
1587             . 'it is your choice whether to permit this exception '
1588             . 'to apply to your modifications[. ]'
1589             . 'If you do not wish that, '
1590             . 'you must delete the exception notice from such code '
1591             . 'and[/]or adjust the licensing conditions notice accordingly[.]',
1592             };
1593              
1594             =item * except_xerces
1595              
1596             I
1597              
1598             =cut
1599              
1600             $RE{except_xerces} = {
1601             name => 'Xerces-exception',
1602             'name.alt.org.debian' => 'Xerces',
1603             caption => 'Xerces exception',
1604             tags => [
1605             'family:gnu:gpl',
1606             'type:trait:exception',
1607             ],
1608              
1609             'pat.alt.subject.trait.scope.sentence' =>
1610             'Code Synthesis Tools CC gives permission '
1611             . 'to link this program with the Xerces-C\+\+ library ',
1612             'pat.alt.subject.trait.scope.multisection.part.part1' =>
1613             'Code Synthesis Tools CC gives permission '
1614             . 'to link this program with the Xerces-C\+\+ library '
1615             . '[(]or with modified versions of Xerces-C\+\+ '
1616             . 'that use the same license as Xerces-C\+\+[)], '
1617             . 'and distribute linked combinations including the two[. ]'
1618             . 'You must obey the GNU General Public License version 2 '
1619             . 'in all respects '
1620             . 'for all of the code used other than Xerces-C\+\+[. ]'
1621             . 'If you modify this copy of the program, '
1622             . 'you may extend this exception '
1623             . 'to your version of the program, '
1624             . 'but you are not obligated to do so[. ]'
1625             . 'If you do not wish to do so, '
1626             . 'delete this exception statement from your version[.][ ]',
1627             'pat.alt.subject.trait.scope.multisection.part.part2' =>
1628             'Furthermore, Code Synthesis Tools CC makes a special exception '
1629             . 'for the Free[/]Libre and Open Source Software [(]FLOSS[)] '
1630             . 'which is described in the accompanying FLOSSE file[. ]'
1631             };
1632              
1633             =item * fsf_unlimited
1634              
1635             =item * fsf_unlimited_retention
1636              
1637             =cut
1638              
1639             $RE{fsf_unlimited} = {
1640             tags => [
1641             'type:trait',
1642             ],
1643              
1644             'pat.alt.subject.trait.scope.sentence' => $fsf_ul,
1645             };
1646              
1647             $RE{fsf_unlimited_retention} = {
1648             tags => [
1649             'type:trait',
1650             ],
1651              
1652             'pat.alt.subject.trait.scope.sentence' => $fsf_ullr,
1653             };
1654              
1655             =item * generated
1656              
1657             I
1658              
1659             =cut
1660              
1661             $RE{generated} = {
1662             name => 'generated',
1663             caption => 'generated file',
1664             tags => [
1665             'type:trait:flaw',
1666             ],
1667              
1668             '_pat.alt.subject.trait.scope.sentence' => [
1669             'this is (?:a )?generated (?:file|manifest)',
1670             'This file (?:has been|is|was) (?:[*]{1,3})?(?:auto(?:matically |[-])|tool[-])?generated(?:[*]{1,3})?',
1671             'All changes made in this file will be lost',
1672             'generated file(?:[.] |[ - ])do not (?:edit|modify)[!.]',
1673             'DO NOT (?:EDIT|MODIFY) THIS FILE',
1674             'generated by[ word](?: [(][word][ word]{0,2}[)])?[ ]'
1675             . '(?:Please )?DO NOT delete this file[!]',
1676              
1677             # weak, but seems to catch no false positives at end of line
1678             'Generated by running[:]$',
1679              
1680             # too weak: does not mention file explicitly, so may reflect only a subset
1681             # 'Generated (?:automatically|by|from|data|with)',
1682             # 'generated (?:by|from|using)(?: the)?[ word]{1,2}(?: compiler)?[. ]'
1683             # . '(please )?Do not (edit|modify)',
1684             # 'Machine generated[. ](please )?Do not (edit|modify)',
1685             # 'Do not (edit|modify)[. ]Generated (?:by|from|using)',
1686             # '(?:created with|trained by)[ word][. ](please )?Do not edit',
1687             ],
1688             '_pat.alt.subject.trait.scope.sentence.target.autotools' => [
1689             'Makefile\.in generated by automake [#.]+ from Makefile\.am[.]',
1690             'generated automatically by aclocal [#.]+ -\*?- Autoconf',
1691             'Generated(?: from[ word])? by GNU Autoconf',
1692             '(?:Attempt to guess a canonical system name|Configuration validation subroutine script)[. ]'
1693             . 'Copyright[c] [#-,]+Free Software Foundation',
1694             'Calling this script install[-]sh is preferred over install[.]sh, to prevent',
1695             'depcomp - compile a program generating dependencies as side-effects[ ]'
1696             . 'scriptversion',
1697             'Common wrapper for a few potentially missing GNU programs[.][ ]'
1698             . 'scriptversion',
1699             'DO NOT EDIT[!] GENERATED AUTOMATICALLY[!][ ]'
1700             . 'Process this file with automake to produce Makefile\.in',
1701             'This file is maintained in Automake, ',
1702             ],
1703             };
1704              
1705             =item * license_label
1706              
1707             =item * license_label_spdx
1708              
1709             I
1710              
1711             =item * license_label_trove
1712              
1713             I
1714              
1715             =cut
1716              
1717             $RE{license_label} = {
1718             caption => 'license grant "License:" phrase',
1719             tags => [
1720             'type:trait:grant:prefix',
1721             ],
1722              
1723             'pat.alt.subject.trait' => '(?P<_license_label>[Ll]i[cz]en[scz]e) ?[:"]',
1724             };
1725              
1726             $RE{license_label_spdx} = {
1727             caption => 'license grant "SPDX-License-Identifier:" phrase',
1728             tags => [
1729             'type:trait:grant:prefix',
1730             ],
1731              
1732             'pat.alt.subject.trait' =>
1733             '(?P<_license_label_spdx>SPDX[-]License[-]Identifier[:] )',
1734             };
1735              
1736             $RE{license_label_trove} = {
1737             caption => 'license grant "License:" phrase',
1738             tags => [
1739             'type:trait:grant:prefix',
1740             ],
1741              
1742             'pat.alt.subject.trait' =>
1743             '(?P<_license_label_trove>License(?: ::)? OSI Approved(?: ::)? )',
1744             };
1745              
1746             =item * licensed_under
1747              
1748             I
1749              
1750             =cut
1751              
1752             $RE{licensed_under} = {
1753             caption => 'license grant "licensed under" phrase',
1754             tags => [
1755             'type:trait:grant:prefix',
1756             ],
1757              
1758             'pat.alt.subject.trait' => '(?P<_licensed_under>'
1759             . '(?:(?:[Ll]icen[sc]ed(?: for use)?|available|[Dd]istribut(?:able|ed)|[Ff]or distribution|permitted|provided|[Pp]ublished|[Rr]eleased) under'
1760             . '|[Ll]icen[sc]ed using'
1761             . '|(?:in form of source code|may be copied|placed their code|to [Yy]ou) under'
1762             . '|(?:[Tt]his|[Mm]y) (?:software|file|work) is under' # vague preposition prepended by object
1763             . '|(?:are|is) release under' # vague preposition prepended by verb and vague object/action
1764             . '|which I release under' # vague preposition prepended by actor and vague action
1765             . '|distribute(?: it)?(?: and[/]or modify)? it under' # vague preposition prepended by action and vague object
1766             . '|(?:according|[Ss]ubject) to|in accordance with'
1767             . '|[Ss]ubject to'
1768             . '|(?:[Cc]overed|governed) by)'
1769             . '(?: (?:either )?(?:the )?(?:conditions|terms(?: and conditions)?|provisions) (?:described in|of))?' # terms optionally appended
1770             . '|[Uu]nder (?:either )?(?:the )?(?:terms|(?:terms and )?conditions) (?:described in|of)(?: either)?' # vague preposition + terms
1771             . ')[:]? ',
1772             };
1773              
1774             =item * or_at_option
1775              
1776             I
1777              
1778             =cut
1779              
1780             $RE{or_at_option} = {
1781             caption => 'license grant "or at your option" phrase',
1782             tags => [
1783             'type:trait',
1784             ],
1785              
1786             'pat.alt.subject.trait' =>
1787             '(?P<_or_at_option>(?:and|or)(?: ?[(]?at your (?:option|choice)[)]?)?)',
1788             };
1789              
1790             =item * usage_rfn
1791              
1792             I
1793              
1794             =cut
1795              
1796             $RE{usage_rfn} = {
1797             caption => 'license usage "with Reserved Font Name" phrase',
1798             tags => [
1799             'type:trait:usage:rfn',
1800             ],
1801              
1802             'pat.alt.subject.trait' => '(?P<_usage_rfn>with Reserved Font Name)',
1803             };
1804              
1805             =item * version
1806              
1807             I
1808              
1809             =cut
1810              
1811             $RE{version} = {
1812             tags => [
1813             'type:trait',
1814             ],
1815             };
1816              
1817             =item * version_later
1818              
1819             =item * version_later_paragraph
1820              
1821             =item * version_later_postfix
1822              
1823             =cut
1824              
1825             $RE{version_later} = {
1826             caption => 'version "or later"',
1827             tags => [
1828             'type:trait',
1829             ],
1830             };
1831              
1832             $RE{version_later_paragraph} = {
1833             caption => 'version "or later" postfix (paragraphs)',
1834             tags => [
1835             'type:trait',
1836             ],
1837              
1838             'pat.alt.subject.trait.scope.paragraph' =>
1839             '(?P<_version_later_paragraph>Later versions are permitted)',
1840             };
1841              
1842             $RE{version_later_postfix} = {
1843             caption => 'version "or later" (postfix)',
1844             tags => [
1845             'type:trait',
1846             ],
1847              
1848             'pat.alt.subject.trait' => '[(]?(?P<_version_later_postfix>'
1849             . $RE{or_at_option}{'pat.alt.subject.trait'}
1850             . '(?: any)? (?:later|above|newer)(?: version)?'
1851             . '|or any later at your option)[)]?',
1852             };
1853              
1854             $RE{version_later}{'pat.alt.subject.trait.scope.line.scope.sentence'}
1855             = '(?:,? )?(?P'
1856             . $RE{version_later_postfix}{'pat.alt.subject.trait'} . ')';
1857             $RE{version_later}{'pat.alt.subject.trait.scope.paragraph'}
1858             = '(?:[.]?[ ])?(?P'
1859             . $RE{version_later_paragraph}{'pat.alt.subject.trait.scope.paragraph'}
1860             . ')';
1861             $RE{version_later}{'pat.alt.subject.trait'} = _join_pats(
1862             { label => 'version_later', prefix => '(?:[.]?[ ]|,? )?' },
1863             $RE{version_later_paragraph}{'pat.alt.subject.trait.scope.paragraph'},
1864             $RE{version_later_postfix}{'pat.alt.subject.trait'},
1865             );
1866              
1867             =item * version_number
1868              
1869             =item * version_number_suffix
1870              
1871             =cut
1872              
1873             $RE{version_number} = {
1874             caption => 'version number',
1875             tags => [
1876             'type:trait',
1877             ],
1878              
1879             'pat.alt.subject.trait' => '(?P\d(?:\.\d+)*\b)',
1880             };
1881              
1882             $RE{version_number_suffix} = {
1883             caption => 'version "of the License" suffix',
1884             tags => [
1885             'type:trait',
1886             ],
1887              
1888             'pat.alt.subject.trait' => ' ?(?:(?:of the )?Licen[cs]e)?',
1889             };
1890              
1891             =item * version_only
1892              
1893             =cut
1894              
1895             $RE{version_only} = {
1896             caption => 'version "only"',
1897             tags => [
1898             'type:trait',
1899             ],
1900              
1901             'pat.alt.subject.trait' =>
1902             ' ?(?P<_version_only>(?:only|[(]no other versions[)]))',
1903             };
1904              
1905             =item * version_prefix
1906              
1907             =cut
1908              
1909             $RE{version_prefix} = {
1910             caption => 'version prefix',
1911             tags => [
1912             'type:trait',
1913             ],
1914              
1915             'pat.alt.subject.trait.scope.line.scope.sentence' =>
1916             '(?:[-]|[;]? ?(?:(?:only |either )?)?|[ - ])?[(]?(?:[Vv]ersion [Vv]?|VERSION |rev(?:ision)? |[Vv]\.? ?)?',
1917             'pat.alt.subject.trait.scope.paragraph' =>
1918             '[:]?[ ][(]?(?:Version [Vv]?|VERSION )?',
1919             'pat.alt.subject.trait' =>
1920             '(?:[-]|[;](?: (?:either )?)?|[ - ]|[:]?[ ])?[(]?(?:[Vv]ersion [Vv]?|VERSION |[Vv]\.? ?)?',
1921             };
1922              
1923             =item * version_numberstring
1924              
1925             I
1926              
1927             =cut
1928              
1929             $RE{version_numberstring} = {
1930             caption => 'version numberstring',
1931             tags => [
1932             'type:trait',
1933             ],
1934              
1935             'pat.alt.subject.trait.scope.line.scope.sentence' =>
1936             $RE{version_prefix}{'pat.alt.subject.trait.scope.line.scope.sentence'}
1937             . $RE{version_number}{'pat.alt.subject.trait'}
1938             . $RE{version_number_suffix}{'pat.alt.subject.trait'},
1939             'pat.alt.subject.trait.scope.paragraph' =>
1940             $RE{version_prefix}{'pat.alt.subject.trait.scope.paragraph'}
1941             . $RE{version_number}{'pat.alt.subject.trait'}
1942             . $RE{version_number_suffix}{'pat.alt.subject.trait'},
1943             'pat.alt.subject.trait' => $RE{version_prefix}{'pat.alt.subject.trait'}
1944             . $RE{version_number}{'pat.alt.subject.trait'}
1945             . $RE{version_number_suffix}{'pat.alt.subject.trait'},
1946             };
1947              
1948             $RE{version}{'pat.alt.subject.trait.scope.line.scope.sentence'}
1949             = '(?P<_version>'
1950             . $RE{version_numberstring}
1951             {'pat.alt.subject.trait.scope.line.scope.sentence'} . '(?:'
1952             . $RE{version_later}{'pat.alt.subject.trait.scope.line.scope.sentence'}
1953             . ')?)[)]?(?: of)? ?';
1954             $RE{version}{'pat.alt.subject.trait.scope.paragraph'}
1955             = '(?P<_version>'
1956             . $RE{version_numberstring}{'pat.alt.subject.trait.scope.paragraph'}
1957             . '(?:'
1958             . $RE{version_later}{'pat.alt.subject.trait.scope.paragraph'}
1959             . ')?)[)]?';
1960             $RE{version}{'pat.alt.subject.trait'}
1961             = '(?P<_version>'
1962             . $RE{version_numberstring}{'pat.alt.subject.trait'} . '(?:'
1963             . $RE{version_later}{'pat.alt.subject.trait'}
1964             . ')?)[)]?(?: of)? ?';
1965              
1966             =back
1967              
1968             =head2 Single licenses
1969              
1970             Patterns each covering a single license.
1971              
1972             Each of these patterns has exactly one of these tags:
1973             B< type:unversioned >
1974             B< type:versioned:decimal >
1975             B< type:singleversion:* >
1976             B< type:usage:*:* >
1977             .
1978              
1979             =over
1980              
1981             =item * aal
1982              
1983             =cut
1984              
1985             $RE{aal} = {
1986             name => 'AAL',
1987             'name.alt.org.fedora' => 'AAL',
1988             'name.alt.org.osi' => 'AAL',
1989             'name.alt.org.osi.iri.stem.until.date_20110430.synth.nogrant' =>
1990             'attribution',
1991             'name.alt.org.spdx' => 'AAL',
1992             'name.alt.org.wikidata.synth.nogrant' => 'Q38364310',
1993             caption => 'Attribution Assurance License',
1994             'caption.alt.org.tldr' => 'Attribution Assurance License (AAL)',
1995             'caption.alt.org.trove' => 'Attribution Assurance License',
1996             tags => [
1997             'license:is:grant',
1998             'type:unversioned',
1999             ],
2000              
2001             'pat.alt.subject.license' =>
2002             'must prominently display this GPG-signed text',
2003             };
2004              
2005             =item * abstyles
2006              
2007             =cut
2008              
2009             $RE{abstyles} = {
2010             name => 'Abstyles',
2011             'name.alt.org.fedora.iri.self' => 'Abstyles',
2012             'name.alt.org.spdx.since.date_20140807' => 'Abstyles',
2013             caption => 'Abstyles License',
2014             'caption.alt.org.tldr' => 'Abstyles License',
2015             tags => [
2016             'license:is:grant',
2017             'type:unversioned',
2018             ],
2019              
2020             'pat.alt.subject.license' =>
2021             'Permission is granted to copy and distribute '
2022             . 'modified versions of this document '
2023             . 'under the conditions for verbatim copying, '
2024             . 'provided that the entire resulting derived work '
2025             . 'is distributed under the terms of a permission notice '
2026             . 'identical to this one[.]',
2027             };
2028              
2029             =item * adobe_2006
2030              
2031             =cut
2032              
2033             $RE{adobe_2006} = {
2034             name => 'Adobe-2006',
2035             'name.alt.misc.scancode' => 'adobe-scl',
2036             'name.alt.org.fedora.synth.nogrant' => 'Adobe',
2037             'name.alt.org.fedora.iri.self' => 'AdobeLicense',
2038             'name.alt.org.spdx.since.date_20140807' => 'Adobe-2006',
2039             'name.alt.org.tldr' =>
2040             'adobe-systems-incorporated-source-code-license-agreement',
2041             caption => 'Adobe Systems Incorporated Source Code License Agreement',
2042             'caption.alt.org.fedora.misc.web.synth.nogrant' => 'Adobe License',
2043             tags => [
2044             'license:is:grant',
2045             'type:unversioned',
2046             ],
2047              
2048             'pat.alt.subject.license' =>
2049             'You agree to indemnify, hold harmless and defend',
2050             };
2051              
2052             =item * adobe_glyph
2053              
2054             =cut
2055              
2056             $RE{adobe_glyph} = {
2057             name => 'Adobe-Glyph',
2058             'name.alt.org.fedora.iri.mit_short' => 'AdobeGlyph',
2059             'name.alt.org.spdx.since.date_20140807' => 'Adobe-Glyph',
2060             caption => 'Adobe Glyph List License',
2061             'caption.alt.org.tldr' => 'Adobe Glyph List License',
2062             'summary.alt.org.fedora.iri.mit' =>
2063             'MIT-style license, Adobe Glyph List Variant',
2064             tags => [
2065             'license:is:grant',
2066             'type:unversioned',
2067             ],
2068              
2069             'pat.alt.subject.license.scope.sentence' =>
2070             'and to permit others to do the same, provided that the derived work is not represented as being a copy',
2071             };
2072              
2073             =item * adsl
2074              
2075             =cut
2076              
2077             $RE{adsl} = {
2078             name => 'ADSL',
2079             'name.alt.org.fedora' => 'ADSL',
2080             'name.alt.org.fedora.iri.self' => 'AmazonDigitalServicesLicense',
2081             'name.alt.org.spdx.since.date_20140807' => 'ADSL',
2082             caption => 'Amazon Digital Services License',
2083             tags => [
2084             'license:is:grant',
2085             'type:unversioned',
2086             ],
2087              
2088             'pat.alt.subject.license.scope.sentence' =>
2089             'Your use of this software code is at your own risk '
2090             . 'and you waive any claim against Amazon Digital Services, Inc[.]',
2091             };
2092              
2093             =item * afl
2094              
2095             =item * afl_1_1
2096              
2097             I
2098              
2099             =item * afl_1_2
2100              
2101             I
2102              
2103             =item * afl_2
2104              
2105             I
2106              
2107             =item * afl_2_1
2108              
2109             I
2110              
2111             =item * afl_3
2112              
2113             I
2114              
2115             =cut
2116              
2117             my $termination_for_patent_including_counterclaim
2118             = '[*)]Termination for Patent Action[. ]'
2119             . 'This License shall terminate automatically '
2120             . 'and You may no longer exercise any of the rights '
2121             . 'granted to You by this License '
2122             . 'as of the date You commence an action, '
2123             . 'including a cross-claim or counterclaim,';
2124              
2125             $RE{afl} = {
2126             name => 'AFL',
2127             'name.alt.org.osi.iri.stem.until.date_20021204' => 'academic',
2128             'name.alt.org.wikidata.synth.nogrant' => 'Q337279',
2129             caption => 'Academic Free License',
2130             'caption.alt.org.trove' => 'Academic Free License (AFL)',
2131             'caption.alt.org.wikipedia' => 'Academic Free License',
2132             tags => [
2133             'type:versioned:decimal',
2134             ],
2135              
2136             # TODO: readd when children cover same region
2137             # 'pat.alt.subject.license.scope.line.scope.paragraph' =>
2138             # 'Exclusions [Ff]rom License Grant[. ]Neither',
2139             };
2140              
2141             $RE{afl_1_1} = {
2142             name => 'AFL-1.1',
2143             'name.alt.org.spdx' => 'AFL-1.1',
2144             'name.alt.misc.fossology_old' => 'AFL_v1.1',
2145             caption => 'Academic Free License v1.1',
2146             'caption.alt.misc.fossology_old' => 'AFL 1.1',
2147             tags => [
2148             'license:contains:grant',
2149             'type:singleversion:afl',
2150             ],
2151             licenseversion => '1.1',
2152              
2153             'pat.alt.subject.license' => 'The Academic Free License applies to',
2154             };
2155              
2156             $RE{afl_1_2} = {
2157             name => 'AFL-1.2',
2158             'name.alt.org.spdx' => 'AFL-1.2',
2159             'name.alt.misc.fossology_old' => 'AFL_v1.2',
2160             caption => 'Academic Free License v1.2',
2161             'caption.alt.misc.fossology_old' => 'AFL 1.2',
2162             tags => [
2163             'license:contains:grant',
2164             'type:singleversion:afl',
2165             ],
2166             licenseversion => '1.2',
2167              
2168             'pat.alt.subject.license' => 'This Academic Free License applies to',
2169             };
2170              
2171             $RE{afl_2} = {
2172             name => 'AFL-2.0',
2173             'name.alt.org.spdx' => 'AFL-2.0',
2174             'name.alt.misc.fossology_old' => 'AFL_v2.0',
2175             caption => 'Academic Free License v2.0',
2176             'caption.alt.misc.fossology_old' => 'AFL 2.0',
2177             tags => [
2178             'license:contains:grant',
2179             'type:singleversion:afl',
2180             ],
2181             licenseversion => '2.0',
2182              
2183             'pat.alt.subject.license.scope.multisection' =>
2184             'its terms and conditions[.][ ]'
2185             . $termination_for_patent_including_counterclaim
2186             . ' for patent infringement',
2187             };
2188              
2189             $RE{afl_2_1} = {
2190             name => 'AFL-2.1',
2191             'name.alt.org.spdx' => 'AFL-2.1',
2192             'name.alt.org.tldr.synth.nogrant' => 'academic-free-license-v.-2.1',
2193             'name.alt.misc.fossology_old' => 'AFL_v2.1',
2194             caption => 'Academic Free License v2.1',
2195             'caption.alt.misc.fossology_old' => 'AFL 2.1',
2196             'caption.alt.org.tldr' => 'Academic Free License 2.1 (AFL-2.1)',
2197             tags => [
2198             'license:contains:grant',
2199             'type:singleversion:afl',
2200             ],
2201             licenseversion => '2.1',
2202              
2203             'pat.alt.subject.license.scope.multisection' =>
2204             'its terms and conditions[.][ ]'
2205             . $termination_for_patent_including_counterclaim
2206             . ' against Licensor or any licensee',
2207             };
2208              
2209             $RE{afl_3} = {
2210             name => 'AFL-3.0',
2211             'name.alt.org.fedora.synth.nogrant' => 'AFL',
2212             'name.alt.org.osi' => 'AFL-3.0',
2213             'name.alt.org.osi.iri.stem.until.date_20110430' => 'afl-3.0',
2214             'name.alt.org.spdx' => 'AFL-3.0',
2215             'name.alt.org.tldr.path.short' => 'afl3',
2216             'name.alt.misc.fossology_old' => 'AFL_v3.0',
2217             caption => 'Academic Free License v3.0',
2218             'caption.alt.org.fedora.synth.nogrant' => 'Academic Free License',
2219             'caption.alt.org.fsf' => 'Academic Free License 3.0',
2220             'caption.alt.org.osi' => 'Academic Free License ("AFL") v. 3.0',
2221             'caption.alt.org.osi.misc.list' => 'Academic Free License 3.0',
2222             'caption.alt.org.tldr' => 'Academic Free License 3.0 (AFL)',
2223             'caption.alt.misc.fossology_old' => 'AFL 3.0',
2224             tags => [
2225             'license:contains:grant',
2226             'type:singleversion:afl',
2227             ],
2228             licenseversion => '3.0',
2229              
2230             'pat.alt.subject.license.scope.multisection.part.part1' =>
2231             'Licensed under the Academic Free License version 3\.0[ ]'
2232             . '[*)]Grant of Copyright License[.]',
2233             };
2234              
2235             =item * afmparse
2236              
2237             =cut
2238              
2239             $RE{afmparse} = {
2240             name => 'Afmparse',
2241             'name.alt.org.fedora.iri.self' => 'Afmparse',
2242             'name.alt.org.spdx.since.date_20140807' => 'Afmparse',
2243             caption => 'Afmparse License',
2244             'caption.alt.org.tldr' => 'Afmparse License',
2245             tags => [
2246             'license:is:grant',
2247             'type:unversioned',
2248             ],
2249              
2250             'pat.alt.subject.license.scope.sentence' =>
2251             'If the file has been modified in any way, '
2252             . 'a notice of such modification is conspicuously indicated[.]',
2253             };
2254              
2255             =item * agpl
2256              
2257             =item * agpl_1
2258              
2259             I
2260              
2261             =item * agpl_1_only
2262              
2263             =item * agpl_1_or_later
2264              
2265             =item * agpl_2
2266              
2267             =item * agpl_3
2268              
2269             =item * agpl_3_only
2270              
2271             =item * agpl_3_or_later
2272              
2273             =cut
2274              
2275             $RE{agpl} = {
2276             name => 'AGPL',
2277             'name.alt.org.fsf' => 'AGPL',
2278             'name.alt.org.wikidata.synth.nogrant' => 'Q1131681',
2279             'name.alt.misc.fossology_old' => 'Affero',
2280             caption => 'GNU Affero General Public License',
2281             'caption.alt.misc.short' => 'Affero GPL',
2282             'caption.alt.misc.informal' => 'Affero License',
2283             'caption.alt.org.fsf' => 'GNU Affero General Public License (AGPL)',
2284             'caption.alt.org.wikipedia' => 'GNU Affero General Public License',
2285             tags => [
2286             'family:gpl',
2287             'license:contains:grant',
2288             'type:versioned:decimal',
2289             ],
2290             };
2291              
2292             $RE{agpl_1} = {
2293             name => 'AGPLv1',
2294             'name.alt.org.debian' => 'AGPL-1',
2295             'name.alt.org.fedora' => 'AGPLv1',
2296             'name.alt.org.spdx.since.date_20130410' => 'AGPL-1.0',
2297             'name.alt.org.wikidata.synth.nogrant' => 'Q27017230',
2298             'name.alt.misc.fossology_old' => 'Affero_v1',
2299             caption => 'Affero General Public License v1.0',
2300             'caption.alt.org.fedora' => 'Affero General Public License 1.0',
2301             'caption.alt.org.spdx.until.date_20140807' =>
2302             'GNU Affero General Public License v1.0',
2303             'caption.alt.org.spdx.since.date_20140807' =>
2304             'Affero General Public License v1.0',
2305             'caption.alt.misc.fossology_old' => 'AGPL 1.0',
2306             'caption.alt.org.wikidata' =>
2307             'Affero General Public License, version 1.0',
2308             iri => 'http://www.affero.org/oagpl.html',
2309             tags => [
2310             'family:gpl',
2311             'type:singleversion:agpl',
2312             ],
2313             licenseversion => '1.0',
2314              
2315             'pat.alt.subject.license.scope.multisection.part.title' =>
2316             'AFFERO GENERAL PUBLIC LICENSE[ ]Version 1',
2317             'pat.alt.subject.license.part.intro' =>
2318             'This license is a modified version of the GNU General Public License',
2319             'pat.alt.subject.license.scope.sentence.part.preamble' =>
2320             'Some other Affero software is covered '
2321             . 'by the GNU Library General Public License instead[.]',
2322             'pat.alt.subject.license.part.part2_d' =>
2323             '[*)]If the Program as you received it is intended to interact',
2324             };
2325              
2326             $RE{agpl_1_only} = {
2327             name => 'AGPL-1.0-only',
2328             caption => 'Affero General Public License v1.0 only',
2329             tags => [
2330             'family:gpl',
2331             'type:usage:agpl_1:only'
2332             ],
2333             };
2334              
2335             $RE{agpl_1_or_later} = {
2336             name => 'AGPL-1.0-or-later',
2337             'name.alt.org.debian' => 'AGPL-1+',
2338             'name.alt.org.spdx.since.date_20180414' => 'AGPL-1-or-later',
2339             'name.alt.org.wikidata.synth.nogrant' => 'Q54571707',
2340             caption => 'Affero General Public License v1.0 or later',
2341             'caption.alt.org.wikidata' =>
2342             'Affero General Public License, version 1.0 or later',
2343             tags => [
2344             'family:gpl',
2345             'type:usage:agpl_1:or_later'
2346             ],
2347             };
2348              
2349             $RE{agpl_2} = {
2350             name => 'AGPLv2',
2351             'name.alt.org.debian' => 'AGPL-2',
2352             'name.alt.org.wikidata.synth.nogrant' => 'Q54365943',
2353             caption => 'Affero General Public License, Version 2',
2354             'caption.alt.org.wikidata' =>
2355             'Affero General Public License, version 2.0',
2356             iri => 'http://www.affero.org/agpl2.html',
2357             tags => [
2358             'family:gpl',
2359             'type:singleversion:agpl'
2360             ],
2361             licenseversion => '2.0',
2362              
2363             'pat.alt.subject.license.part.part1' =>
2364             'This is version 2 of the Affero General Public License[.]',
2365             'pat.alt.subject.license.part.part2' =>
2366             'If the Program was licensed under version 1 of the Affero GPL',
2367             };
2368              
2369             $RE{agpl_3} = {
2370             name => 'AGPLv3',
2371             'name.alt.org.debian' => 'AGPL-3',
2372             'name.alt.org.fsf' => 'AGPLv3.0',
2373             'name.alt.org.fedora' => 'AGPLv3',
2374             'name.alt.org.osi' => 'AGPL-3.0',
2375             'name.alt.org.osi.iri.stem.until.date_20110430' => 'agpl-v3',
2376             'name.alt.org.perl' => 'agpl_3',
2377             'name.alt.org.spdx.until.date_20171228' => 'AGPL-3.0',
2378             'name.alt.org.tldr.path.short' => 'agpl3',
2379             'name.alt.org.wikidata.synth.nogrant' => 'Q27017232',
2380             'name.alt.misc.fossology_old' => 'Affero_v3',
2381             caption => 'GNU Affero General Public License v3.0',
2382             'caption.alt.org.fedora' => 'Affero General Public License 3.0',
2383             'caption.alt.org.fsf' =>
2384             'GNU Affero General Public License (AGPL) version 3',
2385             'caption.alt.org.osi' => 'GNU Affero General Public License version 3',
2386             'caption.alt.org.perl' => 'GNU Affero General Public License, Version 3',
2387             'caption.alt.org.trove' => 'GNU Affero General Public License v3',
2388             'caption.alt.org.tldr' =>
2389             'GNU Affero General Public License v3 (AGPL-3.0)',
2390             'caption.alt.org.wikidata' =>
2391             'GNU Affero General Public License, version 3.0',
2392             'caption.alt.misc.fossology_old' => 'AGPL 3.0',
2393             iri => 'https://www.gnu.org/licenses/agpl',
2394             'iri.alt.format.txt' => 'https://www.gnu.org/licenses/agpl.txt',
2395             'iri.alt.path.fragmented' =>
2396             'https://www.gnu.org/licenses/licenses.html#AGPL',
2397             'iri.alt.path.versioned' => 'http://www.gnu.org/licenses/agpl-3.0.html',
2398             tags => [
2399             'family:gpl',
2400             'license:published:by_fsf',
2401             'type:singleversion:agpl'
2402             ],
2403             licenseversion => '3.0',
2404              
2405             'pat.alt.subject.license.scope.multisection.part.title' =>
2406             'GNU AFFERO GENERAL PUBLIC LICENSE[ ]Version 3',
2407             'pat.alt.subject.license.part.intro' =>
2408             '["]This License["] refers to version 3 of the GNU Affero',
2409             'pat.alt.subject.license.scope.sentence.part.part13_1' =>
2410             'This Corresponding Source shall include '
2411             . 'the Corresponding Source for any work '
2412             . 'covered by '
2413             . 'version 3 of the GNU General Public License',
2414             'pat.alt.subject.license.scope.sentence.part.part13_2_1' =>
2415             'Notwithstanding any other provision of this License, '
2416             . 'you have permission to link or combine any covered work '
2417             . 'with a work licensed under '
2418             . 'version 3 of the GNU General',
2419             'pat.alt.subject.license.scope.sentence.part.part13_2_2' =>
2420             'The terms of this License will continue to apply '
2421             . 'to the part which is the covered work, '
2422             . 'but the work with which it is combined '
2423             . 'will remain governed by '
2424             . 'version 3 of the GNU General',
2425             'pat.alt.subject.license.scope.multisection.part.tail_sample' =>
2426             '[<]?name of author[>]?[ ]'
2427             . 'This program is free software[;]? '
2428             . 'you can redistribute it and[/]or modify it '
2429             . 'under the terms of the GNU Affero General Public License '
2430             . 'as published by the Free Software Foundation[;]? '
2431             . 'either version 3 of the License, or',
2432             };
2433              
2434             #FIXME $RE{agpl_3}{_pat_word} = '(?:AGPL|agpl)[-]?3';
2435              
2436             $RE{agpl_3_only} = {
2437             name => 'AGPL-3.0-only',
2438             'name.alt.org.spdx.since.date_20171228' => 'AGPL-3.0-only',
2439             caption => 'GNU Affero General Public License v3.0 only',
2440             tags => [
2441             'family:gpl',
2442             'license:published:by_fsf',
2443             'type:usage:agpl_3:only',
2444             ],
2445             };
2446              
2447             $RE{agpl_3_or_later} = {
2448             name => 'AGPL-3.0-or-later',
2449             'name.alt.org.debian' => 'AGPL-3+',
2450             'name.alt.org.fedora' => 'AGPLv3+',
2451             'name.alt.org.spdx.since.date_20171228' => 'AGPL-3.0-or-later',
2452             'name.alt.org.trove' => 'AGPLv3+',
2453             'name.alt.org.wikidata.synth.nogrant' => 'Q27020062',
2454             'name.alt.misc.fossology_old' => 'Affero_v3+',
2455             caption => 'GNU Affero General Public License v3.0 or later',
2456             'caption.alt.org.fedora' => 'Affero General Public License 3.0 or later',
2457             'caption.alt.org.trove' =>
2458             'GNU Affero General Public License v3 or later (AGPLv3+)',
2459             'caption.alt.org.wikidata' =>
2460             'GNU Affero General Public License, version 3.0 or later',
2461             tags => [
2462             'family:gpl',
2463             'license:published:by_fsf',
2464             'type:usage:agpl_3:or_later',
2465             ],
2466             };
2467              
2468             =item * aladdin
2469              
2470             =item * aladdin_8
2471              
2472             I
2473              
2474             =item * aladdin_9
2475              
2476             I
2477              
2478             =cut
2479              
2480             $RE{aladdin} = {
2481             name => 'Aladdin',
2482             'name.alt.org.trove' => 'AFPL',
2483             'name.alt.org.wikidata.synth.nogrant' => 'Q979794',
2484             caption => 'Aladdin Free Public License',
2485             'caption.alt.org.fedora' => 'Aladdin Free Public License',
2486             'caption.alt.org.trove' => 'Aladdin Free Public License (AFPL)',
2487             tags => [
2488             'type:versioned:decimal',
2489             ],
2490             };
2491              
2492             $RE{aladdin_8} = {
2493             name => 'Aladdin-8',
2494             'name.alt.org.scancode' => 'afpl-8',
2495             'name.alt.org.spdx.since.date_20130117.synth.nogrant' => 'Aladdin',
2496             'name.alt.org.debian' => 'Aladdin-8',
2497             caption => 'Aladdin Free Public License, Version 8',
2498             'caption.alt.org.spdx.synth.nogrant' => 'Aladdin Free Public License',
2499             tags => [
2500             'type:singleversion:aladdin',
2501             ],
2502             licenseversion => '8.0',
2503              
2504             'pat.alt.subject.license.scope.multisection' =>
2505             'laws of the appropriate country[.][ ]0[. ]Subject Matter',
2506             };
2507              
2508             $RE{aladdin_9} = {
2509             name => 'Aladdin-9',
2510             'name.alt.org.scancode' => 'afpl-9',
2511             'name.alt.org.tldr.path.short' => 'aladdin',
2512             caption => 'Aladdin Free Public License, Version 9',
2513             'caption.alt.org.tldr' => 'Aladdin Free Public License',
2514             'iri.alt.archive.time_20130804020135' =>
2515             'http://www.artifex.com/downloads/doc/Public.htm',
2516             tags => [
2517             'type:singleversion:aladdin',
2518             ],
2519             licenseversion => '9.0',
2520              
2521             'pat.alt.subject.license' =>
2522             'This License is not an Open Source license[:][ ]among other things',
2523             };
2524              
2525             =item * amdplpa
2526              
2527             =cut
2528              
2529             $RE{amdplpa} = {
2530             name => 'AMDPLPA',
2531             'name.alt.org.fedora' => 'AMDPLPA',
2532             'name.alt.org.spdx.since.date_20140807' => 'AMDPLPA',
2533             caption => 'AMD\'s plpa_map.c License',
2534             'caption.alt.org.fedora.iri.self' => 'AMD plpa map License',
2535             'caption.alt.org.spdx.since.date_20140807.until.date_20201125' =>
2536             'AMD\'s plpa_map.c License',
2537             'caption.alt.org.spdx.since.date_20201125.until.date_20210307' =>
2538             'AMDs plpa_map.c License',
2539             'caption.alt.org.spdx.since.date_20210307' => 'AMD\'s plpa_map.c License',
2540             tags => [
2541             'license:is:grant',
2542             'type:unversioned',
2543             ],
2544              
2545             'pat.alt.subject.license' =>
2546             'Neither the names nor trademarks of Advanced Micro Devices, Inc\.',
2547             };
2548              
2549             =item * aml
2550              
2551             =cut
2552              
2553             $RE{aml} = {
2554             name => 'AML',
2555             'name.alt.org.fedora' => 'AML',
2556             'name.alt.org.spdx.since.date_20140807' => 'AML',
2557             caption => 'Apple MIT License',
2558             'caption.alt.org.fedora.iri.self' => 'Apple MIT License',
2559             'caption.alt.org.tldr' => 'Apple MIT License (AML)',
2560             tags => [
2561             'family:mit',
2562             'license:is:grant',
2563             'type:unversioned',
2564             ],
2565              
2566             'pat.alt.subject.license' =>
2567             'Apple grants you a personal, non-exclusive license',
2568             };
2569              
2570             =item * ampas
2571              
2572             =cut
2573              
2574             $RE{ampas} = {
2575             name => 'AMPAS',
2576             'name.alt.org.fedora.iri.bsd' => 'AMPASBSD',
2577             'name.alt.org.spdx.since.date_20140807' => 'AMPAS',
2578             caption => 'Academy of Motion Picture Arts and Sciences BSD',
2579             'caption.alt.org.fedora.misc.short' => 'AMPAS BSD',
2580             'caption.alt.org.tldr' =>
2581             'Academy of Motion Picture Arts and Sciences BSD',
2582             'summary.alt.org.fedora' =>
2583             'Academy of Motion Picture Arts and Sciences BSD Variant',
2584             tags => [
2585             'family:bsd',
2586             'license:is:grant',
2587             'type:unversioned',
2588             ],
2589              
2590             'pat.alt.subject.license.scope.multisection' =>
2591             $P{retain_notice_cond_discl_warr}
2592             . '[.][ ]'
2593             . $P{repro_copr_cond_discl_warr}
2594             . '[.][ ]'
2595             . $P{nopromo_nothing_deemed},
2596             };
2597              
2598             =item * antlr_pd
2599              
2600             =cut
2601              
2602             $RE{antlr_pd} = {
2603             name => 'ANTLR-PD',
2604             'name.alt.org.fedora.iri.self' => 'ANTLR-PD',
2605             'name.alt.org.spdx' => 'ANTLR-PD',
2606             caption => 'ANTLR Software Rights Notice',
2607             'caption.alt.org.tldr' => 'ANTLR Software Rights Notice (ANTLR-PD)',
2608             tags => [
2609             'license:is:grant',
2610             'type:unversioned',
2611             ],
2612              
2613             'pat.alt.subject.license' =>
2614             'We reserve no legal rights to the ANTLR[--]?it is fully in the public domain[.]',
2615             };
2616              
2617             =item * apache
2618              
2619             =item * apache_1
2620              
2621             I
2622              
2623             =item * apache_1_1
2624              
2625             I
2626              
2627             =item * apache_2
2628              
2629             I
2630              
2631             =cut
2632              
2633             $RE{apache} = {
2634             name => 'Apache',
2635             'name.alt.org.osi.iri.stem_only.until.date_20080202' => 'apachepl',
2636             'name.alt.org.wikidata.synth.nogrant' => 'Q616526',
2637             caption => 'Apache License',
2638             'caption.alt.org.trove' => 'Apache Software License',
2639             'caption.alt.org.wikipedia' => 'Apache License',
2640             'caption.alt.misc.public' => 'Apache Public License',
2641             iri => 'https://www.apache.org/licenses/LICENSE-2.0',
2642             tags => [
2643             'type:versioned:decimal',
2644             ],
2645             };
2646              
2647             $RE{apache_1} = {
2648             name => 'Apache-1.0',
2649             'name.alt.org.fedora' => 'Apache-1.0',
2650             'name.alt.org.spdx' => 'Apache-1.0',
2651             'name.alt.org.wikidata.synth.nogrant' => 'Q26897902',
2652             'name.alt.misc.fossology_old' => 'Apache_v1.0',
2653             caption => 'Apache License 1.0',
2654             'caption.alt.org.fedora' => 'Apache Software License 1.0',
2655             'caption.alt.org.fedora.misc.short' => 'ASL 1.0',
2656             'caption.alt.org.tldr' => 'Apache License 1.0 (Apache-1.0)',
2657             'caption.alt.org.wikidata' => 'Apache Software License, Version 1.0',
2658             description => <<'END',
2659             Identical to BSD (4 clause), except...
2660             * extend advertising clause to also require advertising purpose
2661             * extend non-endorsement clause to include contact info
2662             * add derivatives-must-rename clause
2663             * add redistribution-acknowledgement clause
2664             END
2665             iri => 'https://www.apache.org/licenses/LICENSE-1.0',
2666             tags => [
2667             'license:contains:license:bsd_4_clause',
2668             'license:is:grant',
2669             'type:singleversion:apache',
2670             ],
2671             licenseversion => '1.0',
2672              
2673             'pat.alt.subject.license.scope.sentence' => $P{redist_ack_this},
2674             'pat.alt.subject.license.scope.multisection.part.head' =>
2675             $P{repro_copr_cond_discl}
2676             . '[.][ ]' . '[*)]?'
2677             . $P{ad_mat_ack_this}
2678             . '[word][ word]{0,14}'
2679             . '[.][ ][*)]?'
2680             . $P{nopromo_neither}
2681             . '[. ]For written permission, please contact [word]'
2682             . '[.][ ]' . '[*)]?'
2683             . 'Products derived from this software may not be called'
2684             };
2685              
2686             $RE{apache_1_1} = {
2687             name => 'Apache-1.1',
2688             'name.alt.org.osi' => 'Apache-1.1',
2689             'name.alt.org.osi.iri.stem.until.date_20110430' => 'apachepl-1.1',
2690             'name.alt.org.perl' => 'apache_1_1',
2691             'name.alt.org.spdx' => 'Apache-1.1',
2692             'name.alt.org.tldr' => 'apache-license-1.1',
2693             'name.alt.org.wikidata.synth.nogrant' => 'Q17817999',
2694             'name.alt.misc.fossology_old' => 'Apache_v1.1',
2695             caption => 'Apache License 1.1',
2696             'caption.alt.org.fedora' => 'Apache Software License 1.1',
2697             'caption.alt.org.fedora.misc.short' => 'ASL 1.1',
2698             'caption.alt.org.osi' => 'Apache Software License, version 1.1',
2699             'caption.alt.org.osi.misc.list' => 'Apache Software License 1.1',
2700             'caption.alt.org.perl' => 'Apache Software License, Version 1.1',
2701             'caption.alt.org.tldr' => 'Apache License 1.1 (Apache-1.1)',
2702             'caption.alt.org.wikidata' => 'Apache Software License, Version 1.1',
2703             'caption.alt.misc.fossology_old' => 'Apache 1.1',
2704             'caption.alt.misc.software' => 'Apache Software License 1.1',
2705             description => <<'END',
2706             Identical to BSD (3 clause), except...
2707             * add documentation-acknowledgement clause (as 3rd clause similar to BSD-4-clause advertising clause)
2708             * extend non-endorsement clause to include contact info
2709             * add derivatives-must-rename clause
2710             END
2711             iri => 'https://www.apache.org/licenses/LICENSE-1.1',
2712             'iri.alt.org.wikipedia' =>
2713             'https://en.wikipedia.org/wiki/Apache_License#Version_1.1',
2714             tags => [
2715             'license:contains:license:bsd_3_clause',
2716             'license:is:grant',
2717             'license:published:by_apache',
2718             'type:singleversion:apache',
2719             ],
2720             licenseversion => '1.1',
2721              
2722             'pat.alt.subject.license.scope.multisection' =>
2723             'without prior written permission of[ word]{1,5}[.][ ]'
2724             . 'THIS SOFTWARE IS PROVIDED',
2725             'pat.alt.subject.license.scope.multisection.part.head' =>
2726             '(?:Apache License 1\.1[ ]'
2727             . 'Copyright[c] 2000 The Apache Software Foundation[.]'
2728             . ' All rights reserved[.][ ])?'
2729             . $P{repro_copr_cond_discl}
2730             . '[.][ ]'
2731             . '[*)]?The end-user documentation included',
2732             };
2733              
2734             $RE{apache_2} = {
2735             name => 'Apache-2.0',
2736             'name.alt.org.osi' => 'Apache-2.0',
2737             'name.alt.org.osi.iri.stem.until.date_20110430' => 'apache2.0',
2738             'name.alt.org.perl' => 'apache_2_0',
2739             'name.alt.org.spdx' => 'Apache-2.0',
2740             'name.alt.org.tldr.path.short' => 'apache2',
2741             'name.alt.org.wikidata.synth.nogrant' => 'Q13785927',
2742             'name.alt.misc.fossology_old' => 'Apache_v2.0',
2743             'name.alt.misc.fossology_old_short' => 'Apache2.0',
2744             caption => 'Apache License 2.0',
2745             'caption.alt.org.fedora' => 'Apache Software License 2.0',
2746             'caption.alt.org.fedora.misc.short' => 'ASL 2.0',
2747             'caption.alt.org.osi' => 'Apache License, Version 2.0',
2748             'caption.alt.org.osi.misc.list' => 'Apache License 2.0',
2749             'caption.alt.org.perl' => 'Apache License, Version 2.0',
2750             'caption.alt.org.tldr' => 'Apache License 2.0 (Apache-2.0)',
2751             'caption.alt.org.wikidata' => 'Apache Software License, Version 2.0',
2752             'caption.alt.misc.public' => 'Apache Public License 2.0',
2753             'caption.alt.misc.software' => 'Apache Software License 2.0',
2754             iri => 'https://www.apache.org/licenses/LICENSE-2.0',
2755             'iri.alt.org.wikipedia' =>
2756             'https://en.wikipedia.org/wiki/Apache_License#Version_2.0',
2757             tags => [
2758             'license:contains:grant',
2759             'license:published:by_apache',
2760             'type:singleversion:apache',
2761             ],
2762             licenseversion => '2.0',
2763              
2764             'pat.alt.subject.grant.misc.extra' =>
2765             'Apache Software License, Version 2\.0',
2766             'pat.alt.subject.license.part.appendix' =>
2767             'How to apply the Apache License to your work',
2768             'pat.alt.subject.license.scope.multisection' => 'Apache License[ ]'
2769             . 'Version 2\.0, January 2004[ ]',
2770             };
2771              
2772             =item * apafml
2773              
2774             =cut
2775              
2776             $RE{apafml} = {
2777             name => 'APAFML',
2778             'name.alt.org.fedora' => 'APAFML',
2779             'name.alt.org.fedora.iri.self' => 'AdobePostscriptAFM',
2780             'name.alt.org.spdx.since.date_20140807' => 'APAFML',
2781             'name.alt.misc.fossology' => 'AdobeAFM',
2782             'name.alt.misc.fossology_old' => 'Adobe-AFM',
2783             caption => 'Adobe Postscript AFM License',
2784             'caption.alt.org.tldr' => 'Adobe Postscript AFM License',
2785             tags => [
2786             'type:unversioned',
2787             ],
2788              
2789             '_pat.alt.subject.license' => [
2790             'AFM files it accompanies may be used',
2791             'that the AFM files are not distributed',
2792             ],
2793             };
2794              
2795             =item * apl
2796              
2797             =item * apl_1
2798              
2799             =cut
2800              
2801             $RE{apl} = {
2802             name => 'APL',
2803             'name.alt.org.wikidata.synth.nogrant' => 'Q4680711',
2804             'name.alt.misc.fossology_old' => 'Adaptive',
2805             caption => 'Adaptive Public License',
2806             tags => [
2807             'type:versioned:decimal',
2808             ],
2809             };
2810              
2811             $RE{apl_1} = {
2812             name => 'APL-1.0',
2813             'name.alt.org.osi' => 'APL-1.0',
2814             'name.alt.org.osi.iri.stem.until.date_20110430' => 'apl-1.0',
2815             'name.alt.org.spdx' => 'APL-1.0',
2816             caption => 'Adaptive Public License 1.0',
2817             'caption.alt.org.osi.misc.list.synth.nogrant' =>
2818             'Adaptive Public License',
2819             'caption.alt.org.tldr' => 'Adaptive Public License 1.0 (APL-1.0)',
2820             'caption.alt.misc.fossology_old' => 'Adaptive v1.0',
2821             tags => [
2822             'type:singleversion:apl',
2823             ],
2824             licenseversion => '1.0',
2825              
2826             'pat.alt.subject.license' =>
2827             'THE LICENSED WORK IS PROVIDED UNDER THE TERMS OF THIS ADAPTIVE PUBLIC LICENSE',
2828             };
2829              
2830             =item * apsl
2831              
2832             =item * apsl_1
2833              
2834             =item * apsl_1_1
2835              
2836             =item * apsl_1_2
2837              
2838             =item * apsl_2
2839              
2840             =cut
2841              
2842             $RE{apsl} = {
2843             name => 'APSL',
2844             'name.alt.org.wikidata.synth.nogrant' => 'Q621330',
2845             caption => 'Apple Public Source License',
2846             'caption.alt.org.trove' => 'Apple Public Source License',
2847             'caption.alt.org.wikipedia' => 'Apple Public Source License',
2848             tags => [
2849             'type:versioned:decimal',
2850             ],
2851             };
2852              
2853             $RE{apsl_1} = {
2854             name => 'APSL-1.0',
2855             'name.alt.org.spdx' => 'APSL-1.0',
2856             'name.alt.misc.fossology_old' => 'APSL_v1.0',
2857             'name.alt.misc.fossology_old_short' => 'APSL1.0',
2858             'name.alt.misc.fossology_old_vague.synth.nogrant' => 'Apple',
2859             caption => 'Apple Public Source License 1.0',
2860             'caption.alt.org.fedora.iri.self' => 'Apple Public Source License 1.0',
2861             tags => [
2862             'type:singleversion:apsl',
2863             ],
2864             licenseversion => '1.0',
2865              
2866             'pat.alt.subject.license.scope.multisection.part.header' =>
2867             '(?:APPLE PUBLIC SOURCE LICENSE|Apple Public Source License)[ ]'
2868             . 'Ver(?:sion|\.) 1\.0(?:[ - ]March 16, ?1999)?[ ]'
2869             . '(?:Please read this License carefully|[*)]General[;] Definitions[.])',
2870             'pat.alt.subject.license.scope.sentence.part.part1' =>
2871             'subject to the terms of this Apple Public Source License version 1\.0 ',
2872             };
2873              
2874             $RE{apsl_1_1} = {
2875             name => 'APSL-1.1',
2876             'name.alt.org.spdx' => 'APSL-1.1',
2877             'name.alt.misc.fossology_old' => 'APSL_v1.',
2878             'name.alt.misc.fossology_old_short' => 'APSL1.1',
2879             caption => 'Apple Public Source License 1.1',
2880             'caption.alt.org.fedora.iri.self' => 'Apple Public Source License 1.1',
2881             tags => [
2882             'type:singleversion:apsl',
2883             ],
2884             licenseversion => '1.1',
2885              
2886             'pat.alt.subject.license.scope.multisection.part.header' =>
2887             '(?:APPLE PUBLIC SOURCE LICENSE|Apple Public Source License)[ ]'
2888             . 'Ver(?:sion|\.) 1\.1(?:[ - ]April 19, ?1999)?[ ]'
2889             . '(?:Please read this License carefully|[*)]General[;] Definitions[.])',
2890             'pat.alt.subject.license.scope.sentence.part.part1' =>
2891             'subject to the terms of this Apple Public Source License version 1\.1 ',
2892             };
2893              
2894             $RE{apsl_1_2} = {
2895             name => 'APSL-1.2',
2896             'name.alt.org.spdx' => 'APSL-1.2',
2897             'name.alt.misc.fossology_old' => 'APSL_v1.2',
2898             'name.alt.misc.fossology_old_short' => 'APSL1.2',
2899             caption => 'Apple Public Source License 1.2',
2900             'caption.alt.org.fedora.iri.self' => 'Apple Public Source License 1.2',
2901             tags => [
2902             'type:singleversion:apsl',
2903             ],
2904             licenseversion => '1.2',
2905              
2906             'pat.alt.subject.license.scope.multisection.part.header' =>
2907             '(?:APPLE PUBLIC SOURCE LICENSE|Apple Public Source License)[ ]'
2908             . ' Ver(?:sion|\.) 1\.2(?:[ - ]January 4, ?2001)?[ ]'
2909             . '(?:Please read this License carefully|[*)]General[;] Definitions[.])',
2910             'pat.alt.subject.license.scope.sentence.part.part1' =>
2911             'subject to the terms of this Apple Public Source License version 1\.2 ',
2912             };
2913              
2914             $RE{apsl_2} = {
2915             name => 'APSL-2.0',
2916             'name.alt.org.osi' => 'APSL-2.0',
2917             'name.alt.org.osi.iri.stem.until.date_20110430' => 'apsl-2.0',
2918             'name.alt.org.spdx' => 'APSL-2.0',
2919             'name.alt.org.tldr.path.short.synth.nogrant' => 'aspl2',
2920             'name.alt.misc.fossology_old' => 'APSL_v2.0',
2921             caption => 'Apple Public Source License 2.0',
2922             'caption.alt.org.fedora' => 'Apple Public Source License 2.0',
2923             'caption.alt.org.fedora.misc.short' => 'APSL 2.0',
2924             'caption.alt.org.tldr' => 'Apple Public Source License 2.0 (APSL)',
2925             'caption.alt.org.osi.misc.cat_list.synth.nogrant' =>
2926             'Apple Public Source License',
2927             tags => [
2928             'type:singleversion:apsl',
2929             ],
2930             licenseversion => '2.0',
2931              
2932             'pat.alt.subject.license.scope.multisection.part.header' =>
2933             '(?:APPLE PUBLIC SOURCE LICENSE|Apple Public Source License)[ ]'
2934             . 'Ver(?:sion|\.) 2\.0(?:[ - ]August 6, ?2003)?[ ]'
2935             . '(?:Please read this License carefully|[*)]General[;] Definitions[.])',
2936             'pat.alt.subject.license.scope.sentence.part.part1' =>
2937             'subject to the terms of this Apple Public Source License version 2\.0 ',
2938             };
2939              
2940             =item * artistic
2941              
2942             =item * artistic_1
2943              
2944             I
2945              
2946             =item * artistic_1_cl8
2947              
2948             I
2949              
2950             =item * artistic_1_perl
2951              
2952             I
2953              
2954             =item * artistic_2
2955              
2956             =cut
2957              
2958             $RE{artistic} = {
2959             name => 'Artistic',
2960             'name.alt.org.osi.iri.stem.until.date_20080202' => 'artistic-license',
2961             'name.alt.org.wikidata.synth.nogrant' => 'Q713244',
2962             caption => 'Artistic License',
2963             'caption.alt.org.trove' => 'Artistic License',
2964             'caption.alt.org.wikipedia' => 'Artistic License',
2965             tags => [
2966             'type:versioned:complex',
2967             ],
2968             };
2969              
2970             $RE{artistic_1} = {
2971             name => 'Artistic-1.0',
2972             'name.alt.org.osi' => 'Artistic-1.0',
2973             'name.alt.org.osi.iri.stem.until.date_20090218' => 'artistic-license-1.0',
2974             'name.alt.org.spdx' => 'Artistic-1.0',
2975             'name.alt.org.wikidata.synth.nogrant' => 'Q14624823',
2976             'name.alt.misc.fossology_old' => 'Artistic1.0',
2977             caption => 'Artistic License 1.0',
2978             'caption.alt.org.osi.misc.list' => 'Artistic license 1.0',
2979             'caption.alt.org.osi.misc.do_not_use_list' =>
2980             'Artistic license, version 1.0',
2981             'caption.alt.org.wikipedia' => 'Artistic License 1.0',
2982             'iri.alt.old.osi' =>
2983             'https://opensource.org/licenses/artistic-license-1.0',
2984             'iri.alt.org.wikipedia' =>
2985             'https://en.wikipedia.org/wiki/Artistic_License#Artistic_License_1.0',
2986             tags => [
2987             'type:singleversion:artistic',
2988             ],
2989             licenseversion => '1.0',
2990              
2991             'pat.alt.subject.license.scope.multisection' =>
2992             '[*)]C or perl subroutines supplied by you and linked into this Package shall not be considered part of this Package[.][ ]'
2993             . '[*)]The name of the Copyright Holder',
2994             };
2995              
2996             $RE{artistic_1_cl8} = {
2997             name => 'Artistic-1.0-cl8',
2998             'name.alt.org.spdx.since.date_20130912' => 'Artistic-1.0-cl8',
2999             summary => 'Artistic License 1.0 w/clause 8',
3000             'caption.alt.org.tldr.synth.nogrant' => 'Artistic License 1.0',
3001             tags => [
3002             'type:singleversion:artistic',
3003             ],
3004             licenseversion => '1.0-cl8',
3005              
3006             'pat.alt.subject.license.scope.multisection' => 'this Package[.][ ]'
3007             . '[*)]Aggregation of this Package',
3008             };
3009              
3010             $RE{artistic_1_clarified} = {
3011             name => 'Artistic-1.0-clarified',
3012             'name.alt.org.fedora.iri.self' => 'ArtisticClarified',
3013             'name.alt.org.spdx' => 'ClArtistic',
3014             caption => 'Clarified Artistic License',
3015             'caption.alt.org.fedora' => 'Artistic (clarified)',
3016             'caption.alt.org.fedora.misc.short' => 'Artistic clarified',
3017             'caption.alt.org.spdx' => 'Clarified Artistic License',
3018             'caption.alt.org.tldr' => 'Clarified Artistic License',
3019             iri =>
3020             'http://gianluca.dellavedova.org/2011/01/03/clarified-artistic-license/',
3021             tags => [
3022             'type:singleversion:artistic',
3023             ],
3024             licenseversion => '1.0-clarified',
3025              
3026             'pat.alt.subject.license' =>
3027             'Aggregation of the Standard Version of the Package',
3028             };
3029              
3030             $RE{artistic_1_perl} = {
3031             name => 'Artistic-1.0-Perl',
3032             'name.alt.org.perl.synth.nogrant' => 'artistic_1',
3033             'name.alt.org.osi' => 'Artistic-1.0-Perl',
3034             'name.alt.org.spdx.since.date_20130912' => 'Artistic-1.0-Perl',
3035             caption => 'Artistic License 1.0 (Perl)',
3036             'caption.alt.org.fedora' => 'Artistic 1.0 (original)',
3037             'caption.alt.org.osi' => 'Artistic License 1.0 (Perl)',
3038             'caption.alt.org.perl.synth.nogrant' => 'Artistic License, (Version 1)',
3039             'caption.alt.org.spdx' => 'Artistic License 1.0 (Perl)',
3040             iri => 'http://dev.perl.org/licenses/artistic.html',
3041             'iri.alt.old.perl' =>
3042             'http://www.perl.com/pub/a/language/misc/Artistic.html',
3043             tags => [
3044             'type:singleversion:artistic',
3045             ],
3046             licenseversion => '1.0-Perl',
3047              
3048             'pat.alt.subject.license.scope.multisection' => 'the language[.][ ]'
3049             . '[*)]Aggregation of this Package',
3050             };
3051              
3052             $RE{artistic_2} = {
3053             name => 'Artistic-2.0',
3054             'name.alt.org.osi' => 'Artistic-2.0',
3055             'name.alt.org.osi.iri.stem.until.date_20110430' => 'artistic-license-2.0',
3056             'name.alt.org.perl' => 'artistic_2',
3057             'name.alt.org.spdx' => 'Artistic-2.0',
3058             'name.alt.org.tldr' => 'artistic-license-2.0-(artistic)',
3059             'name.alt.org.tldr.path.short.synth.nogrant' => 'artistic',
3060             'name.alt.org.wikidata.synth.nogrant' => 'Q14624826',
3061             'name.alt.misc.fossology_old' => 'Artistic_v2.0',
3062             'name.alt.misc.fossology_old_short' => 'Artistic2.0',
3063             caption => 'Artistic License 2.0',
3064             'caption.alt.org.fedora' => 'Artistic 2.0',
3065             'caption.alt.org.osi.misc.cat_list' => 'Artistic license 2.0',
3066             'caption.alt.org.perl' => 'Artistic License, Version 2.0',
3067             'caption.alt.org.tldr' => 'Artistic License 2.0 (Artistic-2.0)',
3068             'caption.alt.org.wikipedia' => 'Artistic License 2.0',
3069             iri => 'http://www.perlfoundation.org/artistic_license_2_0',
3070             'iri.alt.org.wikipedia' =>
3071             'https://en.wikipedia.org/wiki/Artistic_License#Artistic_License_2.0',
3072             tags => [
3073             'type:singleversion:artistic',
3074             ],
3075             licenseversion => '2.0',
3076              
3077             'pat.alt.subject.license' => 'is governed by this Artistic License[.]',
3078             };
3079              
3080             =item * bahyph
3081              
3082             =cut
3083              
3084             $RE{bahyph} = {
3085             name => 'Bahyph',
3086             'name.alt.org.fedora.iri.self' => 'Bahyph',
3087             'name.alt.org.spdx.since.date_20140807' => 'Bahyph',
3088             caption => 'Bahyph License',
3089             'caption.alt.org.tldr' => 'Bahyph License',
3090             tags => [
3091             'license:is:grant',
3092             'type:unversioned',
3093             ],
3094              
3095             'pat.alt.subject.license' =>
3096             'These patterns were developed for internal GMV use and are made public',
3097             };
3098              
3099             =item * barr
3100              
3101             =cut
3102              
3103             $RE{barr} = {
3104             name => 'Barr',
3105             'name.alt.org.fedora.iri.self' => 'Barr',
3106             'name.alt.org.spdx.since.date_20140807' => 'Barr',
3107             caption => 'Barr License',
3108             'caption.alt.org.tldr' => 'Barr License',
3109             tags => [
3110             'license:is:grant',
3111             'type:unversioned',
3112             ],
3113              
3114             'pat.alt.subject.license' =>
3115             'This is a package of commutative diagram macros built on top of Xy[-]pic',
3116             };
3117              
3118             =item * bdwgc
3119              
3120             I
3121              
3122             =cut
3123              
3124             $RE{bdwgc} = {
3125             'name.alt.org.debian' => 'MIT~Boehm',
3126             caption => 'Boehm GC License',
3127             'summary.alt.org.fedora.iri.mit' =>
3128             'MIT-style license, Another Minimal variant (found in libatomic_ops)',
3129             description => <<'END',
3130             Origin: Possibly Boehm-Demers-Weiser conservative C/C++ Garbage Collector (libgc, bdwgc, boehm-gc).
3131             END
3132             iri => 'http://www.hboehm.info/gc/license.txt',
3133             tags => [
3134             'license:is:grant',
3135             'type:unversioned',
3136             ],
3137              
3138             'pat.alt.subject.license.scope.paragraph' => $P{perm_granted}
3139             . $P{to_copy_prg}
3140             . $P{any_purpose}
3141             . $P{retain_notices_all} . '[. ]'
3142             . $P{perm_dist_mod}
3143             . $P{granted}
3144             . $P{retain_notices}
3145             . $P{note_mod_inc_with_copr} . '[.]',
3146             };
3147              
3148             =item * bdwgc_matlab
3149              
3150             I
3151              
3152             =cut
3153              
3154             $RE{bdwgc_matlab} = {
3155             name => 'bdwgc-matlab',
3156             description => <<'END',
3157             Origin: Possibly Boehm-Demers-Weiser conservative C/C++ Garbage Collector (libgc, bdwgc, boehm-gc).
3158             END
3159             tags => [
3160             'license:is:grant',
3161             'type:unversioned',
3162             ],
3163              
3164             'pat.alt.subject.license.scope.paragraph' => $P{perm_granted}
3165             . $P{to_copy_prg}
3166             . $P{any_purpose}
3167             . $P{retain_notices_all} . '[. ]'
3168             . $P{repro_code_cite_authors_copr}
3169             . $P{and_used_by_perm} . '[". ]'
3170             . $P{repro_matlab_cite_authors} . '[. ]'
3171             . $P{perm_dist_mod}
3172             . $P{granted}
3173             . $P{retain_notices}
3174             . $P{note_mod_inc_with_copr} . '[. ]'
3175             . $P{retain_you_avail_orig} . '[.]',
3176             'pat.alt.subject.license.part.credit' => 'must cite the Authors',
3177             };
3178              
3179             =item * beerware
3180              
3181             =cut
3182              
3183             $RE{beerware} = {
3184             name => 'Beerware',
3185             'name.alt.misc.dash' => 'Beer-ware',
3186             'name.alt.org.fedora.iri.self' => 'Beerware',
3187             'name.alt.org.spdx.since.date_20140807' => 'Beerware',
3188             'name.alt.org.tldr.path.short' => 'beerware',
3189             'name.alt.org.wikidata.synth.nogrant' => 'Q10249',
3190             caption => 'Beerware License',
3191             'caption.alt.org.tldr' => 'Beerware License',
3192             'caption.alt.org.wikidata' => 'Beerware',
3193             'caption.alt.org.wikipedia' => 'Beerware',
3194             iri => 'https://people.freebsd.org/~phk/',
3195             tags => [
3196             'license:is:grant',
3197             'type:unversioned',
3198             ],
3199              
3200             'pat.alt.subject.license' => 'you can buy me a beer in return',
3201              
3202             #<<< do not let perltidy touch this (keep long regex on one line)
3203             examples => [
3204             { summary => 'pattern with subject "license" matches canonical license',
3205             gen_args => { subject => 'license' },
3206             str => 'As long as you retain this notice you can do whatever you want with this stuff. If we meet some day, and you think this stuff is worth it, you can buy me a beer in return.',
3207             matches => 1,
3208             },
3209             { summary => 'pattern with subject "grant" doesn\'t match canonical license',
3210             gen_args => { subject => 'grant' },
3211             str => 'As long as you retain this notice you can do whatever you want with this stuff. If we meet some day, and you think this stuff is worth it, you can buy me a beer in return.',
3212             matches => 0,
3213             },
3214             { summary => 'pattern with subject "grant" matches a license grant',
3215             gen_args => { subject => 'grant' },
3216             str => 'Licensed under the Beerware License.',
3217             matches => 1,
3218             },
3219             { summary => 'pattern with subject "name" matches canonical license',
3220             gen_args => { subject => 'name' },
3221             str => 'Beerware License',
3222             matches => 1,
3223             },
3224             { summary => 'pattern with subject "name" doesn\'t match canonical license',
3225             gen_args => { subject => 'name' },
3226             str => 'As long as you retain this notice you can do whatever you want with this stuff. If we meet some day, and you think this stuff is worth it, you can buy me a beer in return.',
3227             matches => 0,
3228             },
3229             { summary => 'pattern with subject "name" matches a license grant',
3230             gen_args => { subject => 'name' },
3231             str => 'Licensed under the Beerware License.',
3232             matches => 1,
3233             },
3234             { summary => 'pattern with subject "name" doesn\'t match canonical license IRI',
3235             gen_args => { subject => 'name' },
3236             str => 'https://people.freebsd.org/~phk/',
3237             matches => 0,
3238             },
3239             { summary => 'pattern with subject "iri" doesn\'t match original license',
3240             gen_args => { subject => 'iri' },
3241             str => 'As long as you retain this notice you can do whatever you want with this stuff. If we meet some day, and you think this stuff is worth it, you can buy me a beer in return.',
3242             matches => 0,
3243             },
3244             { summary => 'pattern with subject "iri" doesn\'t match canonical license name',
3245             gen_args => { subject => 'iri' },
3246             str => 'Beerware License',
3247             matches => 0,
3248             },
3249             { summary => 'pattern with subject "iri" doesn\'t match a license shortname',
3250             gen_args => { subject => 'iri' },
3251             str => 'Beerware',
3252             matches => 0,
3253             },
3254             ],
3255             #>>>
3256              
3257             };
3258              
3259             =item * bittorrent
3260              
3261             =item * bittorrent_1
3262              
3263             =item * bittorrent_1_1
3264              
3265             =cut
3266              
3267             $RE{bittorrent} = {
3268             name => 'BitTorrent',
3269             'name.alt.misc.fossology_old' => 'Bittorrent',
3270             'name.alt.org.wikidata.synth.nogrant' => 'Q4918693',
3271             caption => 'BitTorrent Open Source License',
3272             'caption.alt.org.fedora' => 'BitTorrent License',
3273             'caption.alt.org.fedora.iri.self' => 'BitTorrent Open Source License',
3274             tags => [
3275             'type:versioned:decimal',
3276             ],
3277             };
3278              
3279             $RE{bittorrent_1} = {
3280             name => 'BitTorrent-1.0',
3281             'name.alt.org.spdx.since.date_20130117' => 'BitTorrent-1.0',
3282             'name.alt.misc.fossology_old' => 'Bittorrent1.0',
3283             caption => 'BitTorrent Open Source License v1.0',
3284             description => <<'END',
3285             Identical to Jabber Open Source License, except...
3286             * drop description-of-modifications clause
3287             * drop retain-copyright-notices clause
3288             * replace references, e.g. "Jabber Server" -> "BitTorrent client"
3289             * document that license is derived from Jabber Open Source License
3290             END
3291             tags => [
3292             'license:contains:grant',
3293             'type:singleversion:bittorrent',
3294             ],
3295             licenseversion => '1.0',
3296              
3297             'pat.alt.subject.license.scope.multisection.part.header' =>
3298             'BitTorrent Open Source License[ ]'
3299             . 'Version 1\.0[ ]'
3300             . 'This BitTorrent Open Source License',
3301             'pat.alt.subject.license.scope.multisection.part.part4' =>
3302             ' has been made available'
3303             . '[. ]You are responsible for ensuring'
3304             . ' that the Source Code version remains available'
3305             . ' even if the Electronic Distribution Mechanism is maintained by a third party'
3306             . '[.][ ][*)]'
3307             . 'Intellectual Property Matters[.]',
3308             };
3309              
3310             $RE{bittorrent_1_1} = {
3311             name => 'BitTorrent-1.1',
3312             'name.alt.org.spdx.since.date_20130117' => 'BitTorrent-1.1',
3313             'name.alt.misc.fossology_old' => 'Bittorrent_v1.1',
3314             caption => 'BitTorrent Open Source License v1.1',
3315             'caption.alt.org.tldr' =>
3316             'BitTorrent Open Source License v1.1 (BitTorrent-1.1)',
3317             tags => [
3318             'license:contains:grant:bittorrent_1',
3319             'type:singleversion:bittorrent',
3320             ],
3321             licenseversion => '1.1',
3322              
3323             'pat.alt.subject.license.scope.multisection.part.header' =>
3324             'BitTorrent Open Source License[ ]'
3325             . 'Version 1\.1[ ]'
3326             . 'This BitTorrent Open Source License',
3327             'pat.alt.subject.license.scope.multisection.part.part4' =>
3328             ' is distributed by you'
3329             . '[. ]You are responsible for ensuring'
3330             . ' that the Source Code version remains available'
3331             . ' even if the Electronic Distribution Mechanism is maintained by a third party'
3332             . '[.][ ][*)]'
3333             . 'Intellectual Property Matters[.]',
3334             };
3335              
3336             =item * borceux
3337              
3338             =cut
3339              
3340             $RE{borceux} = {
3341             name => 'Borceux',
3342             'name.alt.org.fedora.iri.self' => 'Borceux',
3343             'name.alt.org.spdx.since.date_20140807' => 'Borceux',
3344             caption => 'Borceux license',
3345             'caption.alt.org.tldr' => 'Borceux license',
3346             tags => [
3347             'license:is:grant',
3348             'type:unversioned',
3349             ],
3350              
3351             'pat.alt.subject.license' =>
3352             'distribute each of the files in this package',
3353             };
3354              
3355             =item * bsd_0_clause
3356              
3357             I
3358              
3359             =cut
3360              
3361             $RE{bsd_0_clause} = {
3362             name => '0BSD',
3363             'name.alt.org.fedora' => '0BSD',
3364             'name.alt.org.fedora.iri.self' => 'ZeroClauseBSD',
3365             'name.alt.org.osi' => '0BSD',
3366             'name.alt.org.osi.misc.free' => 'FPL-1.0.0',
3367             'name.alt.org.spdx.since.date_20150930' => '0BSD',
3368             'name.alt.org.tldr' => 'bsd-0-clause-license',
3369             'name.alt.org.wikidata.synth.nogrant' => 'Q48271011',
3370             caption => 'BSD 0-Clause License',
3371             'caption.alt.org.fedora' => 'Zero-Clause BSD',
3372             'caption.alt.org.osi' => 'Zero-Clause BSD',
3373             'caption.alt.org.osi.misc.old' =>
3374             'Zero-Clause BSD / Free Public License 1.0.0',
3375             'caption.alt.org.osi.misc.list' => '0-clause BSD License',
3376             'caption.alt.org.osi.misc.list_bsd' => '0-clause BSD license',
3377             'caption.alt.org.osi.misc.list_free' => 'Free Public License 1.0.0',
3378             'caption.alt.org.spdx' => 'BSD Zero Clause License',
3379             'caption.alt.org.tldr' => 'BSD 0-Clause License (0BSD)',
3380             'caption.alt.org.wikidata' => 'Zero-clause BSD License',
3381             'caption.alt.misc.parens' => 'BSD (0 clause)',
3382             description => <<'END',
3383             Identical to ISC, except...
3384             * Redistribution of source need not retain any legal text
3385             * omit requirement of notices appearing in copies
3386              
3387             Origin: By Rob Landley in 2013 for toybox.
3388             Details at .
3389             END
3390             'iri.alt.misc.origin' =>
3391             'https://github.com/landley/toybox/blob/master/LICENSE',
3392             tags => [
3393             'family:mit',
3394             'license:is:grant',
3395             'type:unversioned',
3396             ],
3397              
3398             'pat.alt.subject.name.misc.free' => '(?:Free Public License|FPL)'
3399             . '(?:'
3400             . $RE{version_prefix}
3401             {'pat.alt.subject.trait.scope.line.scope.sentence'}
3402             . '1(?:\.0){0,2})?',
3403             'pat.alt.subject.license.scope.multisection' => $P{granted}
3404             . '[.][ ]'
3405             . $P{asis_sw_name_discl},
3406             };
3407              
3408             =item * bsd_1_clause
3409              
3410             I
3411              
3412             =cut
3413              
3414             $RE{bsd_1_clause} = {
3415             name => 'BSD-1-Clause',
3416             'name.alt.org.osi' => 'BSD-1-Clause',
3417             'name.alt.org.spdx.since.date_20171228' => 'BSD-1-Clause',
3418             'name.alt.org.wikidata.synth.nogrant' => 'Q19292556',
3419             caption => 'BSD 1-Clause License',
3420             'caption.alt.org.osi' => '1-clause BSD License',
3421             'caption.alt.org.wikidata' => '1-clause BSD License',
3422             'caption.alt.misc.parens' => 'BSD (1 clause)',
3423             tags => [
3424             'family:bsd',
3425             'license:is:grant',
3426             'type:unversioned',
3427             ],
3428              
3429             'pat.alt.subject.license.scope.multisection' =>
3430             $P{retain_notice_cond_discl} . '[.][ ]' . $P{asis_sw_by},
3431             };
3432              
3433             =item * bsd_2_clause
3434              
3435             =cut
3436              
3437             $RE{bsd_2_clause} = {
3438             name => 'BSD-2-Clause',
3439             'name.alt.org.debian' => 'BSD-2-clause',
3440             'name.alt.org.osi' => 'BSD-2-Clause',
3441             'name.alt.org.perl' => 'freebsd',
3442             'name.alt.org.spdx' => 'BSD-2-Clause',
3443             'name.alt.org.tldr' => 'bsd-2-clause-license-(freebsd)',
3444             'name.alt.org.tldr.path.short' => 'freebsd',
3445             'name.alt.org.wikidata.synth.nogrant' => 'Q18517294',
3446             'name.alt.misc.clauses' => '2-clause-BSD',
3447             'name.alt.misc.freebsd' => 'FreeBSD',
3448             'name.alt.misc.simplified' => 'Simplified-BSD',
3449             caption => 'BSD 2-Clause License',
3450             'caption.alt.org.fedora.misc.cc' => 'Creative Commons BSD',
3451             'caption.alt.org.osi' => 'The 2-Clause BSD License',
3452             'caption.alt.org.osi.misc.list' => '2-clause BSD License',
3453             'caption.alt.org.osi.misc.cat_list' => '2-clause BSD license',
3454             'caption.alt.org.perl' => 'FreeBSD License (two-clause)',
3455             'caption.alt.org.spdx.until.date_20171228' =>
3456             'BSD 2-clause "Simplified" License',
3457             'caption.alt.org.spdx.since.date_20171228' =>
3458             'BSD 2-Clause "Simplified" License',
3459             'caption.alt.org.tldr' => 'BSD 2-Clause License (FreeBSD/Simplified)',
3460             'caption.alt.org.wikidata' => '2-clause BSD License',
3461             'caption.alt.org.wikipedia.iri.bsd' =>
3462             '2-clause license ("Simplified BSD License" or "FreeBSD License")',
3463             'caption.alt.misc.parens' => 'BSD (2 clause)',
3464             'caption.alt.misc.simplified' => 'Simplified BSD License',
3465             'caption.alt.misc.qemu' =>
3466             'BSD Licence (without advertising or endorsement clauses)',
3467             'iri.alt.org.cc.archive.time_20110401183132.until.date_20110401' =>
3468             'http://creativecommons.org/licenses/BSD/', # TODO: find official date
3469             tags => [
3470             'family:bsd',
3471             'license:is:grant',
3472             'type:unversioned',
3473             ],
3474              
3475             'pat.alt.subject.license.scope.multisection' =>
3476             $P{retain_notice_cond_discl}
3477             . '[.][ ]'
3478             . $P{repro_copr_cond_discl}
3479             . '[.][ ]'
3480             . $P{asis_sw_by},
3481             };
3482              
3483             =item * bsd_2_clause_freebsd
3484              
3485             I
3486              
3487             =cut
3488              
3489             $RE{bsd_2_clause_freebsd} = {
3490             name => 'BSD-2-Clause-FreeBSD',
3491             'name.alt.org.fedora.iri.bsd_short' => '2ClauseBSD',
3492             'name.alt.org.spdx.until.date_20200803' => 'BSD-2-Clause-FreeBSD',
3493             'name.alt.org.wikidata.synth.nogrant' => 'Q90408476',
3494             caption => 'BSD 2-clause FreeBSD License',
3495             'caption.alt.org.fedora' => 'BSD License (two clause)',
3496             'caption.alt.org.steward' => 'FreeBSD License',
3497             'caption.alt.org.spdx.until.date_20130117' =>
3498             'BSD 2-clause "FreeBSD" License',
3499             'caption.alt.org.spdx.since.date_20130117.until.date_20171228' =>
3500             'BSD 2-clause FreeBSD License',
3501             'caption.alt.org.spdx.since.date_20171228' =>
3502             'BSD 2-Clause FreeBSD License',
3503             'caption.alt.org.wikidata' => 'FreeBSD license',
3504             'summary.alt.org.fedora.iri.bsd' => 'FreeBSD BSD Variant (2 clause BSD)',
3505             tags => [
3506             'family:bsd',
3507             'license:contains:license:bsd_2_clause_views',
3508             'license:is:grant',
3509             'type:unversioned',
3510             ],
3511              
3512             'pat.alt.subject.license.scope.multisection' =>
3513             $P{retain_notice_cond_discl}
3514             . '[.][ ]'
3515             . $P{repro_copr_cond_discl}
3516             . '[.][ ]'
3517             . $P{discl_warranties} . '[. ]'
3518             . $P{discl_liability}
3519             . '[.][ ]'
3520             . 'The views and conclusions contained in the software and documentation '
3521             . 'are those of the authors and should not be interpreted '
3522             . 'as representing official policies, either expressed or implied, '
3523             . 'of the FreeBSD Project[.]',
3524             'pat.alt.subject.license.scope.line.scope.sentence.part.last' =>
3525             'expressed or implied, of the FreeBSD Project',
3526             };
3527              
3528             =item * bsd_2_clause_netbsd
3529              
3530             I
3531              
3532             =cut
3533              
3534             $RE{bsd_2_clause_netbsd} = {
3535             name => 'BSD-2-Clause-NetBSD',
3536             'name.alt.org.spdx.until.date_20200515' => 'BSD-2-Clause-NetBSD',
3537             caption => 'BSD 2-clause NetBSD License',
3538             'caption.alt.org.spdx.until.date_20130117' =>
3539             'BSD 2-clause "NetBSD" License',
3540             'caption.alt.org.spdx.since.date_20130117.until.date_20171228' =>
3541             'BSD 2-clause NetBSD License',
3542             'caption.alt.org.spdx.since.date_20171228' =>
3543             'BSD 2-Clause NetBSD License',
3544             tags => [
3545             'family:bsd',
3546             'license:contains:license:bsd_2_clause',
3547             'license:is:grant',
3548             'type:unversioned',
3549             ],
3550              
3551             'pat.alt.subject.license.scope.line.scope.sentence.part.first' =>
3552             'This code is derived from software contributed to The NetBSD Foundation by',
3553             'pat.alt.subject.license.scope.multisection' =>
3554             'This code is derived from software contributed to The NetBSD Foundation by[ word]{0,15}'
3555             . '[ ]'
3556             . $P{retain_notice_cond_discl}
3557             . '[.][ ]'
3558             . $P{repro_copr_cond_discl},
3559             };
3560              
3561             =item * bsd_2_clause_patent
3562              
3563             I
3564              
3565             =cut
3566              
3567             $RE{bsd_2_clause_patent} = {
3568             name => 'BSD+Patent',
3569             'name.alt.org.fedora' => 'BSD-2-Clause-Patent',
3570             'name.alt.org.fedora.iri.self' => 'BSD-2-Clause-Patent',
3571             'name.alt.org.osi' => 'BSDplusPatent',
3572             'name.alt.org.osi.misc.shortname' => 'BSD-2-Clause-Patent',
3573             'name.alt.org.spdx.since.date_20171228' => 'BSD-2-Clause-Patent',
3574             caption => 'BSD 2-Clause Plus Patent License',
3575             'caption.alt.org.fedora' => 'BSD + Patent',
3576             'caption.alt.org.spdx.since.date_20171228' =>
3577             'BSD 2-Clause Plus Patent License',
3578             'caption.alt.org.spdx.since.date_20171228' =>
3579             'BSD-2-Clause Plus Patent License',
3580             'caption.alt.org.osi' => 'BSD+Patent',
3581             tags => [
3582             'family:bsd',
3583             'license:contains:license:bsd_2_clause',
3584             'license:is:grant',
3585             'type:unversioned',
3586             ],
3587              
3588             'pat.alt.subject.license.scope.line.scope.sentence.part.last_but_disclaimers'
3589             => 'Except as expressly stated above, no rights or licenses',
3590             'pat.alt.subject.license.scope.multisection' =>
3591             $P{retain_notice_cond_discl}
3592             . '[.][ ]'
3593             . $P{repro_copr_cond_discl}
3594             . '[.][ ]'
3595             . 'Subject to the terms and conditions of this license, '
3596             . 'each copyright holder and contributor hereby grants',
3597             };
3598              
3599             =item * bsd_2_clause_views
3600              
3601             =cut
3602              
3603             $RE{bsd_2_clause_views} = {
3604             name => 'BSD-2-Clause-Views',
3605             'iri.alt.org.spdx.since.date_20200803' => 'BSD-2-Clause-Views',
3606             caption => 'BSD 2-Clause with views sentence',
3607             'caption.alt.misc.freebsd' => 'FreeBSD License',
3608             tags => [
3609             'family:bsd',
3610             'license:contains:license:bsd_2_clause',
3611             'license:is:grant',
3612             'type:unversioned',
3613             ],
3614              
3615             'pat.alt.subject.license.scope.multisection' =>
3616             $P{retain_notice_cond_discl}
3617             . '[.][ ]'
3618             . $P{repro_copr_cond_discl}
3619             . '[.][ ]'
3620             . $P{discl_warranties} . '[. ]'
3621             . $P{discl_liability}
3622             . '[.][ ]'
3623             . 'The views and conclusions contained in the software and documentation '
3624             . 'are those of the authors and should not be interpreted '
3625             . 'as representing official policies, either expressed or implied, '
3626             . 'of',
3627             };
3628              
3629             =item * bsd_3_clause
3630              
3631             =cut
3632              
3633             $RE{bsd_3_clause} = {
3634             name => 'BSD-3-Clause',
3635             'name.alt.org.debian' => 'BSD-3-clause',
3636             'name.alt.org.fedora.iri.bsd' => '3ClauseBSD',
3637             'name.alt.org.osi' => 'BSD-3-Clause',
3638             'name.alt.org.perl.synth.nogrant' => 'bsd',
3639             'name.alt.org.spdx' => 'BSD-3-Clause',
3640             'name.alt.org.tldr.path.short' => 'bsd3',
3641             'name.alt.org.wikidata.synth.nogrant' => 'Q18491847',
3642             'name.alt.misc.clauses' => '3-clause-BSD',
3643             'name.alt.misc.modified' => 'Modified-BSD',
3644             caption => 'BSD 3-Clause License',
3645             'caption.alt.org.fedora' => 'New BSD',
3646             'caption.alt.org.osi' => 'The 3-Clause BSD License',
3647             'caption.alt.org.osi.misc.list' => '3-clause BSD License',
3648             'caption.alt.org.osi.misc.list_lower' => '3-clause BSD license',
3649             'caption.alt.org.perl' => 'BSD License (three-clause)',
3650             'caption.alt.org.spdx.until.date_20171228' =>
3651             'BSD 3-clause "New" or "Revised" License',
3652             'caption.alt.org.spdx.since.date_20171228' =>
3653             'BSD 3-Clause "New" or "Revised" License',
3654             'caption.alt.org.tldr' => 'BSD 3-Clause License (Revised)',
3655             'caption.alt.org.wikidata' => '3-clause BSD License',
3656             'caption.alt.org.wikipedia.iri.bsd' =>
3657             '3-clause license ("BSD License 2.0", "Revised BSD License", "New BSD License", or "Modified BSD License")',
3658             'caption.alt.misc.modified' => 'Modified BSD License',
3659             'caption.alt.misc.new_lower' => 'new BSD License',
3660             'caption.alt.misc.new_parens' => '(new) BSD License',
3661             'caption.alt.misc.parens' => 'BSD (3 clause)',
3662             'caption.alt.misc.qemu' => 'BSD Licence (without advertising clause)',
3663             'summary.alt.org.fedora' => 'BSD License (no advertising)',
3664             'summary.alt.org.fedora.misc.new_bsd' =>
3665             'New BSD (no advertising, 3 clause)',
3666             tags => [
3667             'family:bsd',
3668             'license:contains:license:bsd_2_clause',
3669             'license:is:grant',
3670             'type:unversioned',
3671             ],
3672              
3673             'pat.alt.subject.license.scope.multisection' => $P{repro_copr_cond_discl}
3674             . '[.]?[ ]'
3675             . '(?:[*)]\[?(?:rescinded 22 July 1999'
3676             . '|This condition was removed[.])\]?)?' . '[*)]'
3677             . $P{nopromo_neither},
3678             };
3679              
3680             =item * bsd_3_clause_attribution
3681              
3682             I
3683              
3684             =cut
3685              
3686             $RE{bsd_3_clause_attribution} = {
3687             name => 'BSD-3-Clause-Attribution',
3688             'name.alt.org.spdx.since.date_20140807' => 'BSD-3-Clause-Attribution',
3689             caption => 'BSD with attribution',
3690             'caption.alt.org.fedora.iri.self' => 'BSD with attribution',
3691              
3692             # has word "Attribution title-cased, unlike caption
3693             'iri.alt.org.fedora.iri.self' =>
3694             'https://fedoraproject.org/wiki/Licensing/BSD_with_Attribution',
3695             tags => [
3696             'family:bsd',
3697             'license:contains:license:bsd_3_clause',
3698             'license:is:grant',
3699             'type:unversioned',
3700             ],
3701              
3702             'pat.alt.subject.license.scope.multisection.part.second_half' =>
3703             $P{nopromo_neither} . '[.][ ][*)]' . $P{redist_ack_this},
3704             };
3705              
3706             =item * bsd_3_clause_clear
3707              
3708             I
3709              
3710             =cut
3711              
3712             $RE{bsd_3_clause_clear} = {
3713             name => 'BSD-3-Clause-Clear',
3714             'name.alt.org.spdx.since.date_20130117' => 'BSD-3-Clause-Clear',
3715             caption => 'BSD 3-Clause Clear License',
3716             'caption.alt.org.spdx.until.date_20130410' =>
3717             'BSD 2-clause "Clear" License',
3718             'caption.alt.org.spdx.since.date_20130410.until.date_20171228' =>
3719             'BSD 3-clause Clear License',
3720             'caption.alt.org.spdx.since.date_20171228' =>
3721             'BSD 3-Clause Clear License',
3722             tags => [
3723             'family:bsd',
3724             'license:contains:license:bsd_3_clause',
3725             'license:is:grant',
3726             'type:unversioned',
3727             ],
3728              
3729             'pat.alt.subject.license.scope.multisection.part.second_half' =>
3730             $P{nopromo_neither}
3731             . '[.][ ]'
3732             . 'NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY[\']S PATENT RIGHTS ARE GRANTED BY THIS LICENSE'
3733             . '[. ]'
3734             . $P{discl_warranties},
3735             };
3736              
3737             =item * bsd_3_clause_eclipse
3738              
3739             I
3740              
3741             =cut
3742              
3743             # license scheme is unversioned, despite versioned name
3744             $RE{bsd_3_clause_eclipse} = {
3745             name => 'EDL-1.0',
3746             'name.alt.org.debian' => 'BSD-3-clause~Eclipse',
3747             'name.alt.org.steward' => 'EDL-1.0',
3748             'name.alt.org.wikidata.synth.nogrant' => 'Q26245522',
3749             caption => 'Eclipse Distribution License 1.0',
3750             'caption.alt.org.fedora' => 'Eclipse Distribution License 1.0',
3751             'caption.alt.org.steward' => 'Eclipse Distribution License - v 1.0',
3752             'caption.alt.org.wikidata' => 'Eclipse Distribution License',
3753             description => <<'END',
3754             Specific instance of BSD 3-Clause License,
3755             tied to "Eclipse Foundation, Inc.".
3756             END
3757             iri => 'http://www.eclipse.org/org/documents/edl-v10.php',
3758             tags => [
3759             'family:bsd',
3760             'license:contains:license:bsd_3_clause',
3761             'license:is:grant',
3762             'type:unversioned',
3763             ],
3764             licenseversion => '1.0',
3765              
3766             'pat.alt.subject.license.scope.line.scope.sentence.part.clause_3' =>
3767             'Neither the name of the Eclipse Foundation, Inc\. nor',
3768             };
3769              
3770             =item * bsd_3_clause_lbnl
3771              
3772             I
3773              
3774             =cut
3775              
3776             $RE{bsd_3_clause_lbnl} = {
3777             name => 'BSD-3-Clause-LBNL',
3778             'name.alt.org.fedora.iri.self' => 'LBNLBSD',
3779             'name.alt.org.osi' => 'BSD-3-Clause-LBNL',
3780             'name.alt.org.spdx.since.date_20140807' => 'BSD-3-Clause-LBNL',
3781             caption => 'Lawrence Berkeley National Labs BSD variant license',
3782             'caption.alt.org.fedora.misc.short' => 'LBNL BSD',
3783             'caption.alt.org.osi' =>
3784             'Lawrence Berkeley National Labs BSD Variant License',
3785             'caption.alt.org.osi.misc.list_bsd' => 'BSD-3-Clause-LBNL',
3786             tags => [
3787             'family:bsd',
3788             'license:is:grant',
3789             'type:unversioned',
3790             ],
3791             'pat.alt.subject.license.scope.multisection.part.second_half' =>
3792             $P{nopromo_neither}
3793             . '[.][ ]'
3794             . 'NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY[\']S PATENT RIGHTS ARE GRANTED BY THIS LICENSE'
3795             . '[. ]'
3796             . $P{discl_warranties} . '[. ]'
3797             . $P{discl_liability}
3798             . '[.][ ]'
3799             . 'You are under no obligation whatsoever to provide any bug fixes',
3800             'pat.alt.subject.license.scope.line.scope.sentence.part.last_disclaimer'
3801             => 'You are under no obligation whatsoever to provide any bug fixes',
3802             };
3803              
3804             =item * bsd_3_clause_modification
3805              
3806             =cut
3807              
3808             $RE{bsd_3_clause_modification} = {
3809             name => 'BSD-3-Clause-Modification',
3810             'name.alt.org.spdx.since.date_20210307' => 'BSD-3-Clause-Modification',
3811             caption => 'BSD 3-Clause Modification',
3812             tags => [
3813             'family:bsd',
3814             'license:contains:license:bsd_3_clause',
3815             'license:is:grant',
3816             'type:unversioned',
3817             ],
3818              
3819             'pat.alt.subject.license.scope.multisection.part.second_half' =>
3820             $P{nopromo_neither}
3821             . ' from the copyright holders'
3822             . '[.][ ]'
3823             . '[*)]If any files are modified'
3824             . ', you must cause the modified files to carry prominent notices'
3825             . ' stating that you changed the files and the date of any change',
3826             };
3827              
3828             =item * bsd_3_clause_no_military_license
3829              
3830             I
3831              
3832             =cut
3833              
3834             $RE{bsd_3_clause_no_military_license} = {
3835             name => 'BSD-3-Clause-No-Military-License',
3836             'name.alt.org.spdx.since.date_20210520' =>
3837             'BSD-3-Clause-No-Military-License',
3838             caption => 'BSD 3-Clause No Military License',
3839             tags => [
3840             'family:bsd',
3841             'license:contains:license:bsd_3_clause',
3842             'license:is:grant',
3843             'type:unversioned',
3844             ],
3845              
3846             'pat.alt.subject.license.scope.multisection.part.second_half' =>
3847             $P{nopromo_neither}
3848             . '[.][ ]'
3849             . $P{discl_warranties} . '[. ]'
3850             . $P{discl_liability}
3851             . '[.][ ]'
3852             . 'YOU ACKNOWLEDGE THAT THIS SOFTWARE'
3853             . ' IS NOT DESIGNED, LICENSED OR INTENDED'
3854             . ' FOR USE IN THE DESIGN, CONSTRUCTION, OPERATION OR MAINTENANCE'
3855             . ' OF ANY MILITARY FACILITY[.]',
3856             };
3857              
3858             =item * bsd_3_clause_no_nuclear_license
3859              
3860             I
3861              
3862             =cut
3863              
3864             $RE{bsd_3_clause_no_nuclear_license} = {
3865             name => 'BSD-3-Clause-No-Nuclear-License',
3866             'name.alt.org.spdx.since.date_20160721' =>
3867             'BSD-3-Clause-No-Nuclear-License',
3868             caption => 'BSD 3-Clause No Nuclear License',
3869             tags => [
3870             'family:bsd',
3871             'license:contains:license:bsd_3_clause',
3872             'license:is:grant',
3873             'type:unversioned',
3874             ],
3875              
3876             'pat.alt.subject.license.scope.multisection.part.second_half' =>
3877             $P{nopromo_neither}
3878             . '[.][ ]'
3879             . $P{discl_warranties_any_kind} . '[. ]'
3880             . $P{discl_warranties_excluded} . '[. ]'
3881             . $P{discl_liability_suffered} . '[. ]'
3882             . $P{discl_liability_revenue}
3883             . '[.][ ]'
3884             . 'You acknowledge that this software'
3885             . ' is not designed, licensed or intended for use'
3886             . ' in the design, construction, operation or maintenance'
3887             . ' of any nuclear facility[.]',
3888             };
3889              
3890             =item * bsd_3_clause_no_nuclear_license_2014
3891              
3892             I
3893              
3894             =cut
3895              
3896             $RE{bsd_3_clause_no_nuclear_license_2014} = {
3897             name => 'BSD-3-Clause-No-Nuclear-License-2014',
3898             'name.alt.org.spdx.since.date_20160721' =>
3899             'BSD-3-Clause-No-Nuclear-License-2014',
3900             caption => 'BSD 3-Clause No Nuclear License 2014',
3901             tags => [
3902             'family:bsd',
3903             'license:contains:license:bsd_3_clause',
3904             'license:is:grant',
3905             'type:unversioned',
3906             ],
3907              
3908             'pat.alt.subject.license.scope.multisection.part.second_half' =>
3909             $P{nopromo_neither}
3910             . '[.][ ]'
3911             . $P{discl_warranties} . '[. ]'
3912             . $P{discl_liability}
3913             . '[.][ ]'
3914             . 'You acknowledge that this software'
3915             . ' is not designed, licensed or intended for use'
3916             . ' in the design, construction, operation or maintenance'
3917             . ' of any nuclear facility[.]',
3918             };
3919              
3920             =item * bsd_3_clause_no_nuclear_warranty
3921              
3922             I
3923              
3924             =cut
3925              
3926             $RE{bsd_3_clause_no_nuclear_warranty} = {
3927             name => 'BSD-3-Clause-No-Nuclear-Warranty',
3928             'name.alt.org.spdx.since.date_20160721' =>
3929             'BSD-3-Clause-No-Nuclear-Warranty',
3930             caption => 'BSD 3-Clause No Nuclear Warranty',
3931             tags => [
3932             'family:bsd',
3933             'type:unversioned',
3934             ],
3935             tags => [
3936             'family:bsd',
3937             'license:contains:license:bsd_3_clause',
3938             'license:is:grant',
3939             'type:unversioned',
3940             ],
3941              
3942             'pat.alt.subject.license.scope.multisection.part.second_half' =>
3943             $P{nopromo_neither}
3944             . '[.][ ]'
3945             . $P{discl_warranties_any_kind} . '[. ]'
3946             . $P{discl_warranties_excluded} . '[. ]'
3947             . $P{discl_liability_suffered} . '[. ]'
3948             . $P{discl_liability_revenue}
3949             . '[.][ ]'
3950             . 'You acknowledge that this software'
3951             . ' is not designed or intended for use'
3952             . ' in the design, construction, operation or maintenance'
3953             . ' of any nuclear facility[.]',
3954             };
3955              
3956             =item * bsd_3_clause_refractions
3957              
3958             I
3959              
3960             =cut
3961              
3962             # license scheme is unversioned, despite versioned name
3963             $RE{bsd_3_clause_refractions} = {
3964             'name.alt.org.debian' => 'BSD-3-clause~Refractions',
3965             caption => 'Refractions BSD License v1.0',
3966             'caption.alt.org.steward' =>
3967             'Refractions BSD 3 Clause License (BSD) - v 1.0',
3968             description => <<'END',
3969             Specific instance of BSD 3-Clause License,
3970             tied to "Refractions Research".
3971             END
3972             iri => 'http://udig.refractions.net/files/bsd3-v10.html',
3973             tags => [
3974             'family:bsd',
3975             'license:contains:license:bsd_3_clause',
3976             'license:is:grant',
3977             'type:unversioned',
3978             ],
3979             licenseversion => '1.0',
3980              
3981             'pat.alt.subject.license.scope.line.scope.sentence.part.clause_3' =>
3982             'Neither the name of the Refractions Research nor',
3983             };
3984              
3985             =item * bsd_4_clause
3986              
3987             =cut
3988              
3989             $RE{bsd_4_clause} = {
3990             name => 'BSD-4-Clause',
3991             'name.alt.org.debian' => 'BSD-4-clause',
3992             'name.alt.org.fedora.iri.bsd_short' => 'BSDwithAdvertising',
3993             'name.alt.org.spdx' => 'BSD-4-Clause',
3994             'name.alt.org.tldr' => '4-clause-bsd',
3995             'name.alt.org.wikidata.synth.nogrant' => 'Q21503790',
3996             'name.alt.misc.clauses' => '4-clause-BSD',
3997             caption => 'BSD 4-Clause License',
3998             'caption.alt.org.fedora' => 'BSD License (original)',
3999             'caption.alt.org.fedora.misc.summary' => 'Original BSD License',
4000             'caption.alt.org.spdx.until.date_20171228' =>
4001             'BSD 4-clause "Original" or "Old" License',
4002             'caption.alt.org.spdx.since.date_20171228' =>
4003             'BSD 4-Clause "Original" or "Old" License',
4004             'caption.alt.org.tldr' => '4-Clause BSD',
4005             'caption.alt.org.wikidata' => '4-clause BSD License',
4006             'caption.alt.org.wikipedia.iri.bsd' =>
4007             '4-clause license (original "BSD License")',
4008             'caption.alt.misc.qemu' => 'BSD Licence (with advertising clause)',
4009             'caption.alt.misc.parens' => 'BSD (4 clause)',
4010             'summary.alt.org.fedora.iri.bsd' =>
4011             'Original BSD License (BSD with advertising)',
4012             tags => [
4013             'family:bsd',
4014             'license:contains:license:bsd_3_clause',
4015             'license:is:grant',
4016             'type:unversioned',
4017             ],
4018              
4019             'pat.alt.subject.license.scope.sentence' => $P{ad_mat_ack_this},
4020              
4021             # TODO: enable when possible to skip based on dependency graph
4022             # 'pat.alt.subject.license.scope.multisection.part.head' =>
4023             # $P{repro_copr_cond_discl} . '[.][ ]' . '[*)]?' . $P{ad_mat_ack_this},
4024             'pat.alt.subject.license.scope.multisection.part.tail' => '[*)]?'
4025             . $P{ad_mat_ack_this}
4026             . '[word][ word]{0,14}'
4027             . '[.][ ]' . '[*)]?'
4028             . $P{nopromo_neither},
4029             'pat.alt.subject.license.scope.multisection.part.most' =>
4030             $P{repro_copr_cond_discl}
4031             . '[.][ ][*)]?'
4032             . $P{ad_mat_ack_this}
4033             . '[word][ word]{0,14}'
4034             . '[.][ ][*)]?'
4035             . $P{nopromo_neither},
4036             };
4037              
4038             =item * bsd_4_clause_uc
4039              
4040             I
4041              
4042             =cut
4043              
4044             $RE{bsd_4_clause_uc} = {
4045             name => 'BSD-4-Clause-UC',
4046             'name.alt.org.spdx' => 'BSD-4-Clause-UC',
4047             caption => 'BSD-4-Clause (University of California-Specific)',
4048             description => <<'END',
4049             Specific instance of BSD 4-Clause License,
4050             tied to "University of California, Berkeley".
4051             END
4052             tags => [
4053             'family:bsd',
4054             'license:contains:license:bsd_4_clause',
4055             'license:is:grant',
4056             'type:unversioned',
4057             ],
4058              
4059             'pat.alt.subject.license.scope.multisection.part.tail' => '[*)]?'
4060             . $P{ad_mat_ack_this}
4061             . 'the University of California, Berkeley and its contributors'
4062             . '[.][ ]' . '[*)]?'
4063             . $P{nopromo_university},
4064             'pat.alt.subject.license.scope.multisection.part.most' =>
4065             $P{repro_copr_cond_discl}
4066             . '[.][ ][*)]?'
4067             . $P{ad_mat_ack_this}
4068             . 'the University of California, Berkeley and its contributors'
4069             . '[.][ ][*)]?'
4070             . $P{nopromo_university},
4071             };
4072              
4073             =item * bsd_protection
4074              
4075             I
4076              
4077             =cut
4078              
4079             $RE{bsd_protection} = {
4080             name => 'BSD-Protection',
4081             'name.alt.org.spdx.since.date_20140807' => 'BSD-Protection',
4082             caption => 'BSD Protection License',
4083             'caption.alt.org.fedora.iri.self' => 'BSD Protection License',
4084             'caption.alt.org.fedora.misc.short' => 'BSD Protection',
4085             tags => [
4086             'type:unversioned',
4087             ],
4088              
4089             'pat.alt.subject.license.scope.line.scope.sentence.part.section1' =>
4090             'This license governs the copying, distribution, and modification',
4091             };
4092              
4093             =item * bsl
4094              
4095             I
4096              
4097             =item * bsl_1
4098              
4099             I
4100              
4101             =cut
4102              
4103             $RE{bsl} = {
4104             name => 'BSL',
4105             'name.alt.misc.fossology_old' => 'Boost',
4106             'name.alt.org.wikidata.synth.nogrant' => 'Q2353141',
4107             caption => 'Boost Software License',
4108             'caption.alt.misc.mixedcase' => 'boost Software License',
4109             'iri.alt.org.wikipedia' =>
4110             'https://en.wikipedia.org/wiki/Boost_Software_License#License',
4111             tags => [
4112             'type:versioned:decimal',
4113             ],
4114             };
4115              
4116             $RE{bsl_1} = {
4117             name => 'BSL-1.0',
4118             'name.alt.org.osi' => 'BSL-1.0',
4119             'name.alt.org.fedora.synth.nogrant' => 'Boost',
4120             'name.alt.org.osi.iri.stem.until.date_20110430' => 'bsl1.0',
4121             'name.alt.org.spdx' => 'BSL-1.0',
4122             'name.alt.org.tldr' => 'boost-software-license-1.0-explained',
4123             'name.alt.org.tldr.path.short.synth.nogrant' => 'boost',
4124             'name.alt.misc.fossology_old' => 'Boost_v1.0',
4125             caption => 'Boost Software License 1.0',
4126             'caption.alt.org.fedora.synth.nogrant' => 'Boost Software License',
4127             'caption.alt.misc.mixedcase' => 'boost Software License, Version 1.0',
4128             'caption.alt.org.osi.misc.list.synth.nogrant' => 'Boost Software License',
4129             'caption.alt.org.tldr' => 'Boost Software License 1.0 (BSL-1.0)',
4130             'caption.alt.org.trove' => 'Boost Software License 1.0 (BSL-1.0)',
4131             iri => 'http://www.boost.org/LICENSE_1_0.txt',
4132             tags => [
4133             'license:is:grant',
4134             'type:singleversion:bsl',
4135             ],
4136             licenseversion => '1.0',
4137              
4138             'pat.alt.subject.license' =>
4139             'this license [(]the ["]Software["][)] to use, reproduce',
4140             };
4141              
4142             =item * bzip2
4143              
4144             =item * bzip2_1_0_5
4145              
4146             =item * bzip2_1_0_6
4147              
4148             =cut
4149              
4150             $RE{bzip2} = {
4151             name => 'bzip2',
4152             caption => 'bzip2 and libbzip2 License',
4153             tags => [
4154             'type:versioned:decimal',
4155             ],
4156              
4157             'pat.alt.subject.license' =>
4158             '[*)]Redistributions of source code must retain '
4159             . 'the above copyright notice, this list of conditions '
4160             . 'and the following disclaimer[.][ ]'
4161             . '[*)]The origin of this software must not be misrepresented[;] '
4162             . 'you must not claim that you wrote the original software[. ]'
4163             . 'If you use this software in a product, '
4164             . 'an acknowledgment in the product documentation '
4165             . 'would be appreciated but is not required[.][ ]'
4166             . '[*)]Altered source versions must be plainly marked as such, '
4167             . 'and must not be misrepresented as being the original software[.][ ]'
4168             . '[*)]The name of the author may not be used '
4169             . 'to endorse or promote products derived from this software '
4170             . 'without specific prior written permission[.]',
4171             };
4172              
4173             $RE{bzip2_1_0_5} = {
4174             name => 'bzip2-1.0.5',
4175             'name.alt.org.spdx.since.date_20140807' => 'bzip2-1.0.5',
4176             caption => 'bzip2 and libbzip2 License v1.0.5',
4177             tags => [
4178             'license:is:grant',
4179             'type:singleversion:bzip2',
4180             ],
4181             licenseversion => '1.0.5',
4182              
4183             'pat.alt.subject.license' =>
4184             'This program, ["]?bzip2["]?(?: and|, the) associated library ["]?libbzip2["]?, '
4185             . '(?:and all documentation, )?'
4186             . 'are copyright[c] 1996[-]2007',
4187             };
4188              
4189             $RE{bzip2_1_0_6} = {
4190             name => 'bzip2-1.0.6',
4191             'name.alt.org.spdx.since.date_20140807' => 'bzip2-1.0.6',
4192             'name.alt.org.tldr.synth.nogrant' => 'bzip2',
4193             caption => 'bzip2 and libbzip2 License v1.0.6',
4194             'caption.alt.org.tldr.synth.nogrant' => 'bzip2 (original)',
4195             tags => [
4196             'license:is:grant',
4197             'type:singleversion:bzip2',
4198             ],
4199             licenseversion => '1.0.6',
4200              
4201             'pat.alt.subject.license' =>
4202             'This program, ["]?bzip2["]?(?: and|, the) associated library ["]?libbzip2["]?, '
4203             . '(?:and all documentation, )?'
4204             . 'are copyright[c] 1996[-]2010',
4205             };
4206              
4207             =item * cal
4208              
4209             I
4210              
4211             =item * cal_1
4212              
4213             I
4214              
4215             =cut
4216              
4217             $RE{cal} = {
4218             name => 'CAL',
4219             caption => 'Cryptographic Autonomy License',
4220             tags => [
4221             'type:versioned:decimal',
4222             ],
4223             };
4224              
4225             $RE{cal_1} = {
4226             name => 'CAL-1.0',
4227             'name.alt.org.osi' => 'CAL-1.0',
4228             'name.alt.org.spdx.since.date_20200515' => 'CAL-1.0',
4229             caption => 'Cryptographic Autonomy License 1.0',
4230             'caption.alt.org.osi' => 'Cryptographic Autonomy License version 1.0',
4231             'caption.alt.org.osi.misc.list' => 'Cryptographic Autonomy License v.1.0',
4232             'caption.alt.misc.legal' => 'The Cryptographic Autonomy License, v. 1.0',
4233             'iri.alt.misc.github' =>
4234             'https://github.com/holochain/cryptographic-autonomy-license',
4235             tags => [
4236             'type:singleversion:cal',
4237             ],
4238             licenseversion => '1.0',
4239              
4240             'pat.alt.subject.license' =>
4241             'This Cryptographic Autonomy License [(]the ["]License["][)] '
4242             . 'applies to any Work '
4243             . 'whose owner has marked it',
4244             };
4245              
4246             =item * caldera
4247              
4248             =cut
4249              
4250             $RE{caldera} = {
4251             name => 'Caldera',
4252             'name.alt.org.spdx.since.date_20140807' => 'Caldera',
4253             caption => 'Caldera License',
4254             'caption.alt.org.tldr' => 'Caldera License',
4255             tags => [
4256             'license:is:grant',
4257             'type:unversioned',
4258             ],
4259              
4260             'pat.alt.subject.license' =>
4261             'Caldera International, Inc\. hereby grants a fee free license',
4262             };
4263              
4264             =item * catosl
4265              
4266             =item * catosl_1_1
4267              
4268             =cut
4269              
4270             $RE{catosl} = {
4271             name => 'CATOSL',
4272             caption => 'Computer Associates Trusted Open Source License',
4273             tags => [
4274             'type:versioned:decimal',
4275             ],
4276             };
4277              
4278             $RE{catosl_1_1} = {
4279             name => 'CATOSL-1.1',
4280             'name.alt.org.fedora.synth.nogrant' => 'CATOSL',
4281             'name.alt.org.osi' => 'CATOSL-1.1',
4282             'name.alt.org.osi.iri.stem.until.date_20110430' => 'ca-tosl1.0',
4283             'name.alt.org.spdx' => 'CATOSL-1.1',
4284             'name.alt.org.wikidata.synth.nogrant' => 'Q38365570',
4285             'name.alt.misc.fossology_old' => 'CA1.1',
4286             caption => 'Computer Associates Trusted Open Source License 1.1',
4287             'caption.alt.org.tldr' =>
4288             'Computer Associates Trusted Open Source License 1.1 (CATOSL-1.1)',
4289             'caption.alt.org.wikidata' =>
4290             'Computer Associates Trusted Open Source License, Version 1.1',
4291             tags => [
4292             'type:singleversion:catosl',
4293             ],
4294             licenseversion => '1.1',
4295              
4296             'pat.alt.subject.license' =>
4297             'Contribution means[*)]in the case of CA, the Original Program',
4298             };
4299              
4300             =item * cc_by
4301              
4302             =item * cc_by_1
4303              
4304             I
4305              
4306             =item * cc_by_2
4307              
4308             I
4309              
4310             =item * cc_by_2_5
4311              
4312             I
4313              
4314             =item * cc_by_3
4315              
4316             I
4317              
4318             =item * cc_by_4
4319              
4320             I
4321              
4322             =cut
4323              
4324             # sources of introduction and expiry dates:
4325             #
4326             #
4327             #
4328              
4329             my $if_dist_work_or_works_keep_intact_notices
4330             = 'If you distribute, publicly display, publicly perform, or publicly digitally perform the Work or any Derivative Works or Collective Works, You must keep intact all copyright notices for the Work and';
4331             my $if_dist_work_or_collections_keep_intact_notices
4332             = 'If You Distribute, or Publicly Perform the Work or any Adaptations or Collections, You must, unless a request has been made pursuant to Section 4[(]a[)], keep intact all copyright notices for the Work and';
4333             my $credit_author_if_supplied
4334             = ' give the Original Author credit reasonable to the medium or means You are utilizing by conveying the name [(]or pseudonym if applicable[)] of the Original Author if supplied;';
4335             my $credit_author_or_designated_party
4336             = ' provide, reasonable to the medium or means You are utilizing[:]?'
4337             . ' [*)] the name of the Original Author [(]or pseudonym, if applicable[)] if supplied, and[/]or'
4338             . ' [*)] if the Original Author and[/]or Licensor designate another party or parties'
4339             . ' [(][eg] a sponsor institute, publishing entity, journal[)]'
4340             . ' for attribution in Licensor[\']?s copyright notice, terms of service or by other reasonable means,'
4341             . ' the name of such party or parties;';
4342              
4343             #" if the Original Author and[/]or Licensor designate another party or parties [(][eg], a sponsor institute, publishing entity, journal[)] for attribution [(]["]Attribution Parties["][)] in Licensor[']?s copyright notice, terms of service or by other reasonable means, the name of such party or parties;";
4344             #' [*)] the title of the Work if supplied;';
4345             my $to_extend_URI
4346             = ' to the extent reasonably practicable, the Uniform Resource Identifier, if any, that Licensor specifies to be associated with the Work,'
4347             . ' unless such URI does not refer to the copyright notice or licensing information for the Work; and';
4348              
4349             # ' (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and'
4350             #" (iv) , consistent with Section 3(b), in the case of an Adaptation, a credit identifying the use of the Work in the Adaptation (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). The credit required by this Section 4 (b) may be implemented in any reasonable manner; provided, however, that in the case of a Adaptation or Collection, at a minimum such credit will appear, if a credit for all contributing authors of the Adaptation or Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and[/]or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and[/]or Attribution Parties.
4351              
4352             $RE{cc_by} = {
4353             name => 'CC-BY',
4354             'name.alt.org.fedora' => 'CC-BY',
4355             'name.alt.org.cc' => 'CC-BY',
4356             'name.alt.org.wikidata.synth.nogrant' => 'Q6905323',
4357             'name.alt.misc.fossology_old_vague.synth.nogrant' => 'CCPL',
4358             'name.alt.misc.fossology_old_vague_short.synth.nogrant' => 'CCA',
4359             caption => 'Creative Commons Attribution',
4360             'caption.alt.org.fedora' => 'Creative Commons Attribution license',
4361             tags => [
4362             'family:cc:standard',
4363             'type:versioned:decimal',
4364             ],
4365              
4366             'pat.alt.subject.name' => '(?:'
4367             . $P{cc}
4368             . '[- ](?:'
4369             . $P{cc_by} . '|BY|'
4370             . $P{cc_url} . 'by))',
4371             };
4372              
4373             $RE{cc_by_1} = {
4374             name => 'CC-BY-1.0',
4375             'name.alt.org.cc' => 'CC-BY-1.0',
4376             'name.alt.org.spdx' => 'CC-BY-1.0',
4377             'name.alt.org.wikidata.synth.nogrant' => 'Q30942811',
4378             'name.alt.misc.fossology_old_vague.synth.nogrant' => 'CCA1.0',
4379             caption => 'Creative Commons Attribution 1.0 Generic',
4380             'caption.alt.org.cc' =>
4381             'Creative Commons Attribution 1.0 Generic License',
4382             'caption.alt.org.cc.misc.legal.synth.nogrant' => 'Attribution 1.0',
4383             'caption.alt.org.cc.misc.shortname' => 'CC BY 1.0',
4384             'caption.alt.org.cc.misc.deed' => 'Attribution 1.0 Generic (CC BY 1.0)',
4385             'caption.alt.org.spdx.until.date_20150513' =>
4386             'Creative Commons Attribution 1.0',
4387             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
4388             'Creative Commons Attribution 1.0 Generic',
4389             'caption.alt.org.spdx.since.date_20150730' =>
4390             'Creative Commons Attribution 1.0',
4391             'caption.alt.org.wikidata' => 'Creative Commons Attribution 1.0 Generic',
4392             iri => 'https://creativecommons.org/licenses/by/1.0/',
4393             tags => [
4394             'family:cc:standard',
4395             'type:singleversion:cc_by',
4396             ],
4397             licenseversion => '1.0',
4398              
4399             'pat.alt.subject.license.scope.multisection.part.part4' =>
4400             'as requested[. ]' . '[*)]?'
4401             . $if_dist_work_or_works_keep_intact_notices
4402             . $credit_author_if_supplied
4403             . ' the title of the Work if supplied;'
4404             . ' in the case of a Derivative',
4405             };
4406              
4407             $RE{cc_by_2} = {
4408             name => 'CC-BY-2.0',
4409             'name.alt.org.cc.since.date_20040525' => 'CC-BY-2.0',
4410             'name.alt.org.spdx' => 'CC-BY-2.0',
4411             'name.alt.org.wikidata.synth.nogrant' => 'Q19125117',
4412             'name.alt.misc.fossology_old_vague.synth.nogrant' => 'CCPL_v2.0',
4413             caption => 'Creative Commons Attribution 2.0',
4414             'caption.alt.org.cc' =>
4415             'Creative Commons Attribution 2.0 Generic License',
4416             'caption.alt.org.cc.misc.legal.synth.nogrant' => 'Attribution 2.0',
4417             'caption.alt.org.cc.misc.shortname' => 'CC BY 2.0',
4418             'caption.alt.org.cc.misc.deed' => 'Attribution 2.0 Generic (CC BY 2.0)',
4419             'caption.alt.org.spdx.until.date_20150513' =>
4420             'Creative Commons Attribution 2.0',
4421             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
4422             'Creative Commons Attribution 2.0 Generic',
4423             'caption.alt.org.spdx.since.date_20150730' =>
4424             'Creative Commons Attribution 2.0',
4425             'caption.alt.org.wikidata' => 'Creative Commons Attribution 2.0 Generic',
4426             iri => 'https://creativecommons.org/licenses/by/2.0/',
4427             tags => [
4428             'family:cc:standard',
4429             'type:singleversion:cc_by',
4430             ],
4431             licenseversion => '2.0',
4432              
4433             'pat.alt.subject.license.scope.multisection.part.part4' =>
4434             'as requested[. ]' . '[*)]?'
4435             . $if_dist_work_or_works_keep_intact_notices
4436             . $credit_author_if_supplied
4437             . ' the title of the Work if supplied;'
4438             . $to_extend_URI
4439             . ' in the case of a Derivative',
4440             };
4441              
4442             $RE{cc_by_2_5} = {
4443             name => 'CC-BY-2.5',
4444             'name.alt.org.cc.since.date_20050600' => 'CC-BY-2.5',
4445             'name.alt.org.spdx' => 'CC-BY-2.5',
4446             'name.alt.org.wikidata.synth.nogrant' => 'Q18810333',
4447             'name.alt.misc.fossology_old_vague.synth.nogrant' => 'CCPL_v2.5',
4448             'name.alt.misc.fossology_old_vague_short.synth.nogrant' => 'CCA_v2.5',
4449             'name.alt.misc.fossology_old_vague_shorter.synth.nogrant' => 'CCA2.5',
4450             caption => 'Creative Commons Attribution 2.5',
4451             'caption.alt.org.cc' =>
4452             'Creative Commons Attribution 2.5 Generic License',
4453             'caption.alt.org.cc.misc.legal.synth.nogrant' => 'Attribution 2.5',
4454             'caption.alt.org.cc.misc.shortname' => 'CC BY 2.5',
4455             'caption.alt.org.cc.misc.deed' => 'Attribution 2.5 Generic (CC BY 2.5)',
4456             'caption.alt.org.spdx.until.date_20150513' =>
4457             'Creative Commons Attribution 2.5',
4458             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
4459             'Creative Commons Attribution 2.5 Generic',
4460             'caption.alt.org.spdx.since.date_20150730' =>
4461             'Creative Commons Attribution 2.5',
4462             'caption.alt.org.wikidata' => 'Creative Commons Attribution 2.5 Generic',
4463             iri => 'https://creativecommons.org/licenses/by/2.5/',
4464             tags => [
4465             'family:cc:standard',
4466             'type:singleversion:cc_by',
4467             ],
4468             licenseversion => '2.5',
4469              
4470             'pat.alt.subject.license.scope.multisection.part.part4' =>
4471             'as requested[. ]' . '[*)]?'
4472             . $if_dist_work_or_works_keep_intact_notices
4473             . $credit_author_or_designated_party
4474             . ' the title of the Work if supplied;'
4475             . $to_extend_URI
4476             . ' in the case of a Derivative',
4477             };
4478              
4479             $RE{cc_by_3} = {
4480             name => 'CC-BY-3.0',
4481             'name.alt.org.cc.since.date_20070223' => 'CC-BY-3.0',
4482             'name.alt.org.spdx' => 'CC-BY-3.0',
4483             'name.alt.org.tldr.synth.nogrant' => 'creative-commons-attribution-(cc)',
4484             'name.alt.org.wikidata.synth.nogrant' => 'Q14947546',
4485             'name.alt.misc.fossology_old_vague.synth.nogrant' => 'CCPL_v3.0',
4486             'name.alt.misc.fossology_old_vague_short.synth.nogrant' => 'CCA3.0',
4487             caption => 'Creative Commons Attribution 3.0',
4488             'caption.alt.org.cc' =>
4489             'Creative Commons Attribution 3.0 Unported License',
4490             'caption.alt.org.cc.misc.modern' =>
4491             'Creative Commons Attribution 3.0 International License',
4492             'caption.alt.org.cc.misc.legal' => 'Attribution 3.0 Unported',
4493             'caption.alt.org.cc.misc.shortname' => 'CC BY 3.0',
4494             'caption.alt.org.cc.misc.deed' => 'Attribution 3.0 Unported (CC BY 3.0)',
4495             'caption.alt.org.spdx.until.date_20150513' =>
4496             'Creative Commons Attribution 3.0',
4497             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
4498             'Creative Commons Attribution 3.0 Unported',
4499             'caption.alt.org.spdx.since.date_20150730' =>
4500             'Creative Commons Attribution 3.0',
4501             'caption.alt.org.tldr' =>
4502             'Creative Commons Attribution 3.0 Unported (CC-BY)',
4503             'caption.alt.org.wikidata' => 'Creative Commons Attribution 3.0 Unported',
4504             iri => 'https://creativecommons.org/licenses/by/3.0/',
4505             tags => [
4506             'family:cc:standard',
4507             'type:singleversion:cc_by',
4508             ],
4509             licenseversion => '3.0',
4510              
4511             'pat.alt.subject.license.scope.multisection.part.part4' =>
4512             'as requested[. ]' . '[*)]?'
4513             . $if_dist_work_or_collections_keep_intact_notices
4514              
4515             # . $credit_author_or_designated_party
4516             # . ' the title of the Work if supplied;'
4517             # . ' to the extent reasonably practicable, the Uniform Resource Identifier, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and'
4518             # . ' in the case of a Derivative',
4519             };
4520              
4521             $RE{cc_by_4} = {
4522             name => 'CC-BY-4.0',
4523             'name.alt.org.cc.since.date_20131125' => 'CC-BY-4.0',
4524             'name.alt.org.spdx.since.date_20140807' => 'CC-BY-4.0',
4525             'name.alt.org.tldr' =>
4526             'creative-commons-attribution-4.0-international-(cc-by-4)',
4527             'name.alt.org.tldr.path.short' => 'ccby4',
4528             'name.alt.org.wikidata.synth.nogrant' => 'Q20007257',
4529             caption => 'Creative Commons Attribution 4.0',
4530             'caption.alt.org.cc' =>
4531             'Creative Commons Attribution 4.0 International License',
4532             'caption.alt.org.cc.misc.legal.synth.nogrant' =>
4533             'Attribution 4.0 International',
4534             'caption.alt.org.cc.misc.shortname' => 'CC BY 4.0',
4535             'caption.alt.org.cc.misc.deed' =>
4536             'Attribution 4.0 International (CC BY 4.0)',
4537             'caption.alt.org.spdx.until.date_20150513' =>
4538             'Creative Commons Attribution 4.0',
4539             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
4540             'Creative Commons Attribution 4.0 International',
4541             'caption.alt.org.spdx.since.date_20150730' =>
4542             'Creative Commons Attribution 4.0',
4543             'caption.alt.org.tldr' =>
4544             'Creative Commons Attribution 4.0 International (CC BY 4.0)',
4545             'caption.alt.org.wikidata' =>
4546             'Creative Commons Attribution 4.0 International',
4547             iri => 'https://creativecommons.org/licenses/by/4.0/',
4548             tags => [
4549             'family:cc:standard',
4550             'type:singleversion:cc_by',
4551             ],
4552             licenseversion => '4.0',
4553              
4554             'pat.alt.subject.license.scope.sentence.part.intro' =>
4555             $cc_by_exercising_you_accept_this
4556             . 'Creative Commons Attribution 4.0',
4557             };
4558              
4559             =item * cc_by_nc
4560              
4561             =item * cc_by_nc_1
4562              
4563             I
4564              
4565             =item * cc_by_nc_2
4566              
4567             I
4568              
4569             =item * cc_by_nc_2_5
4570              
4571             I
4572              
4573             =item * cc_by_nc_3
4574              
4575             I
4576              
4577             =item * cc_by_nc_4
4578              
4579             I
4580              
4581             =cut
4582              
4583             $RE{cc_by_nc} = {
4584             name => 'CC-BY-NC',
4585             'name.alt.org.cc' => 'CC-BY-NC',
4586             'name.alt.org.wikidata.synth.nogrant' => 'Q6936496',
4587             caption => 'Creative Commons Attribution-NonCommercial',
4588             'caption.alt.org.fedora' => 'Creative Commons Attribution-NonCommercial',
4589             tags => [
4590             'family:cc:standard',
4591             'type:versioned:decimal',
4592             ],
4593              
4594             'pat.alt.subject.name' => '(?:'
4595             . $P{cc}
4596             . '[- ](?:'
4597             . $P{cc_by} . '[- ]'
4598             . $P{cc_nc}
4599             . '|BY[- ]NC|'
4600             . $P{cc_url}
4601             . 'by-nc))',
4602             };
4603              
4604             $RE{cc_by_nc_1} = {
4605             name => 'CC-BY-NC-1.0',
4606             'name.alt.org.cc' => 'CC-BY-NC-1.0',
4607             'name.alt.org.spdx' => 'CC-BY-NC-1.0',
4608             'name.alt.org.wikidata.synth.nogrant' => 'Q44283370',
4609             caption => 'Creative Commons Attribution-NonCommercial 1.0',
4610             'caption.alt.org.cc' =>
4611             'Creative Commons Attribution-NonCommercial 1.0 Generic License',
4612             'caption.alt.org.cc.misc.legal' => 'Attribution-NonCommercial 1.0',
4613             'caption.alt.org.cc.misc.shortname' => 'CC BY-NC 1.0',
4614             'caption.alt.org.cc.misc.deed' =>
4615             'Attribution-NonCommercial 1.0 Generic (CC BY-NC 1.0)',
4616             'caption.alt.org.spdx.until.date_20150513' =>
4617             'Creative Commons Attribution Non Commercial 1.0',
4618             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
4619             'Creative Commons Attribution Non Commercial 1.0 Generic',
4620             'caption.alt.org.spdx.since.date_20150730' =>
4621             'Creative Commons Attribution Non Commercial 1.0',
4622             'caption.alt.org.wikidata' =>
4623             'Creative Commons Attribution-NonCommercial 1.0 Generic',
4624             iri => 'https://creativecommons.org/licenses/by-nc/1.0/',
4625             tags => [
4626             'family:cc:standard',
4627             'type:singleversion:cc_by_nc',
4628             ],
4629             licenseversion => '1.0',
4630             };
4631              
4632             $RE{cc_by_nc_2} = {
4633             name => 'CC-BY-NC-2.0',
4634             'name.alt.org.cc.since.date_20040525' => 'CC-BY-NC-2.0',
4635             'name.alt.org.spdx' => 'CC-BY-NC-2.0',
4636             'name.alt.org.tldr' => 'creative-commons-public-license-(ccpl)',
4637             'name.alt.org.wikidata.synth.nogrant' => 'Q44128984',
4638             caption => 'Creative Commons Attribution-NonCommercial 2.0',
4639             'caption.alt.org.cc' =>
4640             'Creative Commons Attribution-NonCommercial 2.0 Generic License',
4641             'caption.alt.org.cc.misc.legal' => 'Attribution-NonCommercial 2.0',
4642             'caption.alt.org.cc.misc.shortname' => 'CC BY-NC 2.0',
4643             'caption.alt.org.cc.misc.deed' =>
4644             'Attribution-NonCommercial 2.0 Generic (CC BY-NC 2.0)',
4645             'caption.alt.org.spdx.until.date_20150513' =>
4646             'Creative Commons Attribution Non Commercial 2.0',
4647             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
4648             'Creative Commons Attribution Non Commercial 2.0 Generic',
4649             'caption.alt.org.spdx.since.date_20150730' =>
4650             'Creative Commons Attribution Non Commercial 2.0',
4651             'caption.alt.org.tldr' =>
4652             'Creative Commons Attribution-NonCommercial 2.0 Generic (CC BY-NC 2.0)',
4653             'caption.alt.org.wikidata' =>
4654             'Creative Commons Attribution-NonCommercial 2.0 Generic',
4655             iri => 'https://creativecommons.org/licenses/by-nc/2.0/',
4656             tags => [
4657             'family:cc:standard',
4658             'type:singleversion:cc_by_nc',
4659             ],
4660             licenseversion => '2.0',
4661             };
4662              
4663             $RE{cc_by_nc_2_5} = {
4664             name => 'CC-BY-NC-2.5',
4665             'name.alt.org.cc.since.date_20050600' => 'CC-BY-NC-2.5',
4666             'name.alt.org.spdx' => 'CC-BY-NC-2.5',
4667             'name.alt.org.wikidata.synth.nogrant' => 'Q19113746',
4668             caption => 'Creative Commons Attribution-NonCommercial 2.5',
4669             'caption.alt.org.cc' =>
4670             'Creative Commons Attribution-NonCommercial 2.5 Generic License',
4671             'caption.alt.org.cc.misc.legal' => 'Attribution-NonCommercial 2.5',
4672             'caption.alt.org.cc.misc.shortname' => 'CC BY-NC 2.5',
4673             'caption.alt.org.cc.misc.deed' =>
4674             'Attribution-NonCommercial 2.5 Generic (CC BY-NC 2.5)',
4675             'caption.alt.org.spdx.until.date_20150513' =>
4676             'Creative Commons Attribution Non Commercial 2.5',
4677             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
4678             'Creative Commons Attribution Non Commercial 2.5 Generic',
4679             'caption.alt.org.spdx.since.date_20150730' =>
4680             'Creative Commons Attribution Non Commercial 2.5',
4681             'caption.alt.org.wikidata' =>
4682             'Creative Commons Attribution-NonCommercial 2.5 Generic',
4683             iri => 'https://creativecommons.org/licenses/by-nc/2.5/',
4684             tags => [
4685             'family:cc:standard',
4686             'type:singleversion:cc_by_nc',
4687             ],
4688             licenseversion => '2.5',
4689             };
4690              
4691             $RE{cc_by_nc_3} = {
4692             name => 'CC-BY-NC-3.0',
4693             'name.alt.org.cc.since.date_20070223' => 'CC-BY-NC-3.0',
4694             'name.alt.org.spdx' => 'CC-BY-NC-3.0',
4695             'name.alt.org.tldr.synth.nogrant' =>
4696             'creative-commons-attribution-noncommercial-(cc-nc)',
4697             'name.alt.org.wikidata.synth.nogrant' => 'Q18810331',
4698             caption => 'Creative Commons Attribution-NonCommercial 3.0',
4699             'caption.alt.org.cc' =>
4700             'Creative Commons Attribution-NonCommercial 3.0 Unported License',
4701             'caption.alt.org.cc.misc.modern' =>
4702             'Creative Commons Attribution-NonCommercial 3.0 International License',
4703             'caption.alt.org.cc.misc.legal' =>
4704             'Attribution-NonCommercial 3.0 Unported',
4705             'caption.alt.org.cc.misc.shortname' => 'CC BY-NC 3.0',
4706             'caption.alt.org.cc.misc.deed' =>
4707             'Attribution-NonCommercial 3.0 Unported (CC BY-NC 3.0)',
4708             'caption.alt.org.spdx.until.date_20150513' =>
4709             'Creative Commons Attribution Non Commercial 3.0',
4710             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
4711             'Creative Commons Attribution Non Commercial 3.0 Unported',
4712             'caption.alt.org.spdx.since.date_20150730' =>
4713             'Creative Commons Attribution Non Commercial 3.0',
4714             'caption.alt.org.tldr.synth.nogrant' =>
4715             'Creative Commons Attribution NonCommercial (CC-BY-NC)',
4716             'caption.alt.org.wikidata' =>
4717             'Creative Commons Attribution-NonCommercial 3.0 Unported',
4718             iri => 'https://creativecommons.org/licenses/by-nc/3.0/',
4719             tags => [
4720             'family:cc:standard',
4721             'type:singleversion:cc_by_nc',
4722             ],
4723             licenseversion => '3.0',
4724             };
4725              
4726             $RE{cc_by_nc_4} = {
4727             name => 'CC-BY-NC-4.0',
4728             'name.alt.org.cc.since.date_20131125' => 'CC-BY-NC-4.0',
4729             'name.alt.org.spdx.since.date_20140807' => 'CC-BY-NC-4.0',
4730             'name.alt.org.wikidata.synth.nogrant' => 'Q34179348',
4731             caption => 'Creative Commons Attribution-NonCommercial 4.0',
4732             'caption.alt.org.cc' =>
4733             'Creative Commons Attribution-NonCommercial 4.0 International License',
4734             'caption.alt.org.cc.misc.legal' =>
4735             'Attribution-NonCommercial 4.0 International',
4736             'caption.alt.org.cc.misc.shortname' => 'CC BY-NC 4.0',
4737             'caption.alt.org.cc.misc.deed' =>
4738             'Attribution-NonCommercial 4.0 International (CC BY-NC 4.0)',
4739             'caption.alt.org.spdx.until.date_20150513' =>
4740             'Creative Commons Attribution Non Commercial 4.0',
4741             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
4742             'Creative Commons Attribution Non Commercial 4.0 International',
4743             'caption.alt.org.spdx.since.date_20150730' =>
4744             'Creative Commons Attribution Non Commercial 4.0',
4745             'caption.alt.org.tldr' =>
4746             'Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0)',
4747             'caption.alt.org.wikidata' =>
4748             'Creative Commons Attribution-NonCommercial 4.0 International',
4749             iri => 'https://creativecommons.org/licenses/by-nc/4.0/',
4750             tags => [
4751             'family:cc:standard',
4752             'type:singleversion:cc_by_nc',
4753             ],
4754             licenseversion => '4.0',
4755              
4756             'pat.alt.subject.license.scope.sentence.part.intro' =>
4757             $cc_by_exercising_you_accept_this
4758             . 'Creative Commons Attribution-NonCommercial 4.0',
4759             };
4760              
4761             =item * cc_by_nc_nd
4762              
4763             =item * cc_by_nc_nd_1
4764              
4765             I
4766              
4767             =item * cc_by_nc_nd_2
4768              
4769             I
4770              
4771             =item * cc_by_nc_nd_2_5
4772              
4773             I
4774              
4775             =item * cc_by_nc_nd_3
4776              
4777             I
4778              
4779             =item * cc_by_nc_nd_4
4780              
4781             I
4782              
4783             =cut
4784              
4785             $RE{cc_by_nc_nd} = {
4786             name => 'CC-BY-NC-ND',
4787             'name.alt.org.cc' => 'CC-BY-NC-ND',
4788             'name.alt.org.wikidata.synth.nogrant' => 'Q6937225',
4789             caption => 'Creative Commons Attribution-NonCommercial-NoDerivatives',
4790             'caption.alt.org.cc.misc.abbrev' =>
4791             'Creative Commons Attribution-NonCommercial-NoDerivs',
4792             'caption.alt.org.cc.misc.abbrev_flipped' =>
4793             'Creative Commons Attribution-NoDerivs-NonCommercial',
4794             'caption.alt.org.fedora' =>
4795             'Creative Commons Attribution-NonCommercial-NoDerivs',
4796             tags => [
4797             'family:cc:standard',
4798             'type:versioned:decimal',
4799             ],
4800              
4801             'pat.alt.subject.name' => '(?:'
4802             . $P{cc}
4803             . '[- ](?:'
4804             . $P{cc_by}
4805             . '[- ](?:'
4806             . $P{cc_nc} . '[- ]'
4807             . $P{cc_nd} . '|'
4808             . $P{cc_nd} . '[- ]'
4809             . $P{cc_nc}
4810             . ')|BY[- ]NC[- ]ND|'
4811             . $P{cc_url}
4812             . 'by-nc-nd))',
4813             };
4814              
4815             $RE{cc_by_nc_nd_1} = {
4816             name => 'CC-BY-NC-ND-1.0',
4817             'name.alt.org.cc' => 'CC-BY-ND-NC-1.0',
4818             'name.alt.org.spdx' => 'CC-BY-NC-ND-1.0',
4819             'name.alt.org.wikidata.synth.nogrant' => 'Q47008926',
4820             caption => 'Creative Commons Attribution-NoDerivs-NonCommercial 1.0',
4821             'caption.alt.org.cc' =>
4822             'Creative Commons Attribution-NoDerivs-NonCommercial 1.0 Generic License',
4823             'caption.alt.org.cc.misc.legal' =>
4824             'Attribution-NoDerivs-NonCommercial 1.0',
4825             'caption.alt.org.cc.misc.shortname' => 'CC BY-ND-NC 1.0',
4826             'caption.alt.org.cc.misc.deed' =>
4827             'Attribution-NoDerivs-NonCommercial 1.0 Generic (CC BY-ND-NC 1.0)',
4828             'caption.alt.org.spdx.until.date_20150513' =>
4829             'Creative Commons Attribution Non Commercial No Derivatives 1.0',
4830             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
4831             'Creative Commons Attribution Non Commercial No Derivatives 1.0 Generic',
4832             'caption.alt.org.spdx.since.date_20150730' =>
4833             'Creative Commons Attribution Non Commercial No Derivatives 1.0',
4834             'caption.alt.org.wikidata' =>
4835             'Creative Commons Attribution-NonCommercial-NoDerivs 1.0 Generic',
4836             iri => 'https://creativecommons.org/licenses/by-nd-nc/1.0/',
4837             tags => [
4838             'family:cc:standard',
4839             'type:singleversion:cc_by_nc_nd',
4840             ],
4841             licenseversion => '1.0',
4842             };
4843              
4844             $RE{cc_by_nc_nd_2} = {
4845             name => 'CC-BY-NC-ND-2.0',
4846             'name.alt.org.cc.since.date_20040525' => 'CC-BY-NC-ND-2.0',
4847             'name.alt.org.spdx' => 'CC-BY-NC-ND-2.0',
4848             'name.alt.org.wikidata.synth.nogrant' => 'Q47008927',
4849             caption => 'Creative Commons Attribution-NonCommercial-NoDerivs 2.0',
4850             'caption.alt.org.cc' =>
4851             'Creative Commons Attribution-NonCommercial-NoDerivs 2.0 Generic License',
4852             'caption.alt.org.cc.misc.legal' =>
4853             'Attribution-NonCommercial-NoDerivs 2.0',
4854             'caption.alt.org.cc.misc.shortname' => 'CC BY-NC-ND 2.0',
4855             'caption.alt.org.cc.misc.deed' =>
4856             'Attribution-NonCommercial-NoDerivs 2.0 Generic (CC BY-NC-ND 2.0)',
4857             'caption.alt.org.spdx.until.date_20150513' =>
4858             'Creative Commons Attribution Non Commercial No Derivatives 2.0',
4859             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
4860             'Creative Commons Attribution Non Commercial No Derivatives 2.0 Generic',
4861             'caption.alt.org.spdx.since.date_20150730' =>
4862             'Creative Commons Attribution Non Commercial No Derivatives 2.0',
4863             'caption.alt.org.wikidata' =>
4864             'Creative Commons Attribution-NonCommercial-NoDerivs 2.0 Generic',
4865             iri => 'https://creativecommons.org/licenses/by-nc-nd/2.0/',
4866             tags => [
4867             'family:cc:standard',
4868             'type:singleversion:cc_by_nc_nd',
4869             ],
4870             licenseversion => '2.0',
4871             };
4872              
4873             $RE{cc_by_nc_nd_2_5} = {
4874             name => 'CC-BY-NC-ND-2.5',
4875             'name.alt.org.cc.since.date_20050600' => 'CC-BY-NC-ND-2.5',
4876             'name.alt.org.spdx' => 'CC-BY-NC-ND-2.5',
4877             'name.alt.org.wikidata.synth.nogrant' => 'Q19068204',
4878             caption => 'Creative Commons Attribution-NonCommercial-NoDerivs 2.5',
4879             'caption.alt.org.cc' =>
4880             'Creative Commons Attribution-NonCommercial-NoDerivs 2.5 Generic License',
4881             'caption.alt.org.cc.misc.legal' =>
4882             'Attribution-NonCommercial-NoDerivs 2.5',
4883             'caption.alt.org.cc.misc.shortname' => 'CC BY-NC-ND 2.5',
4884             'caption.alt.org.cc.misc.deed' =>
4885             'Attribution-NonCommercial-NoDerivs 2.5 Generic (CC BY-NC-ND 2.5)',
4886             'caption.alt.org.spdx.until.date_20150513' =>
4887             'Creative Commons Attribution Non Commercial No Derivatives 2.5',
4888             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
4889             'Creative Commons Attribution Non Commercial No Derivatives 2.5 Generic',
4890             'caption.alt.org.spdx.since.date_20150730' =>
4891             'Creative Commons Attribution Non Commercial No Derivatives 2.5',
4892             'caption.alt.org.wikidata' =>
4893             'Creative Commons Attribution-NonCommercial-NoDerivs 2.5 Generic',
4894             iri => 'https://creativecommons.org/licenses/by-nc-nd/2.5/',
4895             tags => [
4896             'family:cc:standard',
4897             'type:singleversion:cc_by_nc_nd',
4898             ],
4899             licenseversion => '2.5',
4900             };
4901              
4902             $RE{cc_by_nc_nd_3} = {
4903             name => 'CC-BY-NC-ND-3.0',
4904             'name.alt.org.cc.since.date_20070223' => 'CC-BY-NC-ND-3.0',
4905             'name.alt.org.spdx' => 'CC-BY-NC-ND-3.0',
4906             'name.alt.org.wikidata.synth.nogrant' => 'Q19125045',
4907             caption => 'Creative Commons Attribution-NonCommercial-NoDerivs 3.0',
4908             'caption.alt.org.cc' =>
4909             'Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License',
4910             'caption.alt.org.cc.misc.modern' =>
4911             'Creative Commons Attribution-NonCommercial-NoDerivs 3.0 International License',
4912             'caption.alt.org.cc.misc.legal' =>
4913             'Attribution-NonCommercial-NoDerivs 3.0 Unported',
4914             'caption.alt.org.cc.misc.shortname' => 'CC BY-NC-ND 3.0',
4915             'caption.alt.org.cc.misc.deed' =>
4916             'Attribution-NonCommercial-NoDerivs 3.0 Unported (CC BY-NC-ND 3.0)',
4917             'caption.alt.org.spdx.until.date_20150513' =>
4918             'Creative Commons Attribution Non Commercial No Derivatives 3.0',
4919             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
4920             'Creative Commons Attribution Non Commercial No Derivatives 3.0 Unported',
4921             'caption.alt.org.spdx.since.date_20150730' =>
4922             'Creative Commons Attribution Non Commercial No Derivatives 3.0',
4923             'caption.alt.org.tldr.synth.nogrant' =>
4924             'Creative Commons Attribution NonCommercial NoDerivs (CC-NC-ND)',
4925             'caption.alt.org.wikidata' =>
4926             'Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported',
4927             iri => 'https://creativecommons.org/licenses/by-nc-nd/3.0/',
4928             tags => [
4929             'family:cc:standard',
4930             'type:singleversion:cc_by_nc_nd',
4931             ],
4932             licenseversion => '3.0',
4933             };
4934              
4935             $RE{cc_by_nc_nd_4} = {
4936             name => 'CC-BY-NC-ND-4.0',
4937             'name.alt.org.cc.since.date_20131125' => 'CC-BY-NC-ND-4.0',
4938             'name.alt.org.spdx.since.date_20140807' => 'CC-BY-NC-ND-4.0',
4939             'name.alt.org.wikidata.synth.nogrant' => 'Q24082749',
4940             caption => 'Creative Commons Attribution-NonCommercial-NoDerivatives 4.0',
4941             'caption.alt.org.cc' =>
4942             'Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License',
4943             'caption.alt.org.cc.misc.legal' =>
4944             'Attribution-NonCommercial-NoDerivatives 4.0 International',
4945             'caption.alt.org.cc.misc.shortname' => 'CC BY-NC-ND 4.0',
4946             'caption.alt.org.cc.misc.deed' =>
4947             'Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0)',
4948             'caption.alt.org.spdx.until.date_20150513' =>
4949             'Creative Commons Attribution Non Commercial No Derivatives 4.0',
4950             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
4951             'Creative Commons Attribution Non Commercial No Derivatives 4.0 International',
4952             'caption.alt.org.spdx.since.date_20150730' =>
4953             'Creative Commons Attribution Non Commercial No Derivatives 4.0',
4954             'caption.alt.org.wikidata' =>
4955             'Creative Commons Attribution-NonCommercial-NoDerivs 4.0 International',
4956             iri => 'https://creativecommons.org/licenses/by-nc-nd/4.0/',
4957             tags => [
4958             'family:cc:standard',
4959             'type:singleversion:cc_by_nc_nd',
4960             ],
4961             licenseversion => '4.0',
4962              
4963             'pat.alt.subject.license.scope.sentence.part.intro' =>
4964             $cc_by_exercising_you_accept_this
4965             . 'Creative Commons Attribution-NonCommercial-NoDerivatives 4.0',
4966             };
4967              
4968             =item * cc_by_nc_sa
4969              
4970             =item * cc_by_nc_sa_1
4971              
4972             I
4973              
4974             =item * cc_by_nc_sa_2
4975              
4976             I
4977              
4978             =item * cc_by_nc_sa_2_5
4979              
4980             I
4981              
4982             =item * cc_by_nc_sa_3
4983              
4984             I
4985              
4986             =item * cc_by_nc_sa_4
4987              
4988             I
4989              
4990             =cut
4991              
4992             $RE{cc_by_nc_sa} = {
4993             name => 'CC-BY-NC-SA',
4994             'name.alt.org.cc' => 'CC-BY-NC-SA',
4995             'name.alt.org.wikidata.synth.nogrant' => 'Q6998997',
4996             caption => 'Creative Commons Attribution-NonCommercial-ShareAlike',
4997             'caption.alt.org.fedora' =>
4998             'Creative Commons Attribution-NonCommercial-ShareAlike',
4999             'caption.alt.org.wikidata.until.date_20210809' =>
5000             'Creative Commons Attribution–NonCommercial-ShareAlike',
5001             'caption.alt.org.wikidata.since.date_20210809' =>
5002             'Creative Commons Attribution-NonCommercial-ShareAlike',
5003             tags => [
5004             'family:cc:standard',
5005             'type:versioned:decimal',
5006             ],
5007              
5008             'pat.alt.subject.name' => '(?:'
5009             . $P{cc}
5010             . '[- ](?:'
5011             . $P{cc_by} . '[- ]'
5012             . $P{cc_nc} . '[- ]'
5013             . $P{cc_sa}
5014             . '|BY[- ]NC[- ]SA|'
5015             . $P{cc_url}
5016             . 'by-nc-sa))',
5017             };
5018              
5019             $RE{cc_by_nc_sa_1} = {
5020             name => 'CC-BY-NC-SA-1.0',
5021             'name.alt.org.cc' => 'CC-BY-NC-SA-1.0',
5022             'name.alt.org.spdx' => 'CC-BY-NC-SA-1.0',
5023             'name.alt.org.wikidata.synth.nogrant' => 'Q47008954',
5024             caption => 'Creative Commons Attribution-NonCommercial-ShareAlike 1.0',
5025             'caption.alt.org.cc' =>
5026             'Creative Commons Attribution-NonCommercial-ShareAlike 1.0 Generic License',
5027             'caption.alt.org.cc.misc.legal' =>
5028             'Attribution-NonCommercial-ShareAlike 1.0',
5029             'caption.alt.org.cc.misc.shortname' => 'CC BY-NC-SA 1.0',
5030             'caption.alt.org.cc.misc.deed' =>
5031             'Attribution-NonCommercial-ShareAlike 1.0 Generic (CC BY-NC-SA 1.0)',
5032             'caption.alt.org.spdx.until.date_20150513' =>
5033             'Creative Commons Attribution Non Commercial Share Alike 1.0',
5034             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
5035             'Creative Commons Attribution Non Commercial Share Alike 1.0 Generic',
5036             'caption.alt.org.spdx.since.date_20150730' =>
5037             'Creative Commons Attribution Non Commercial Share Alike 1.0',
5038             'caption.alt.org.wikidata' =>
5039             'Creative Commons Attribution-NonCommercial-ShareAlike 1.0 Generic',
5040             iri => 'https://creativecommons.org/licenses/by-nc-sa/1.0/',
5041             tags => [
5042             'family:cc:standard',
5043             'type:singleversion:cc_by_nc_sa',
5044             ],
5045             licenseversion => '1.0',
5046             };
5047              
5048             $RE{cc_by_nc_sa_2} = {
5049             name => 'CC-BY-NC-SA-2.0',
5050             'name.alt.org.cc.since.date_20040525' => 'CC-BY-NC-SA-2.0',
5051             'name.alt.org.spdx' => 'CC-BY-NC-SA-2.0',
5052             'name.alt.org.wikidata.synth.nogrant' => 'Q28050835',
5053             caption => 'Creative Commons Attribution-NonCommercial-ShareAlike 2.0',
5054             'caption.alt.org.cc' =>
5055             'Creative Commons Attribution-NonCommercial-ShareAlike 2.0 Generic License',
5056             'caption.alt.org.cc.misc.legal' =>
5057             'Attribution-NonCommercial-ShareAlike 2.0',
5058             'caption.alt.org.cc.misc.shortname' => 'CC BY-NC-SA 2.0',
5059             'caption.alt.org.cc.misc.deed' =>
5060             'Attribution-NonCommercial-ShareAlike 2.0 Generic (CC BY-NC-SA 2.0)',
5061             'caption.alt.org.spdx.until.date_20150513' =>
5062             'Creative Commons Attribution Non Commercial Share Alike 2.0',
5063             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
5064             'Creative Commons Attribution Non Commercial Share Alike 2.0 Generic',
5065             'caption.alt.org.spdx.since.date_20150730' =>
5066             'Creative Commons Attribution Non Commercial Share Alike 2.0',
5067             'caption.alt.org.wikidata' =>
5068             'Creative Commons Attribution-NonCommercial-ShareAlike 2.0 Generic',
5069             iri => 'https://creativecommons.org/licenses/by-nc-sa/2.0/',
5070             tags => [
5071             'family:cc:standard',
5072             'type:singleversion:cc_by_nc_sa',
5073             ],
5074             licenseversion => '2.0',
5075             };
5076              
5077             $RE{cc_by_nc_sa_2_5} = {
5078             name => 'CC-BY-NC-SA-2.5',
5079             'name.alt.org.cc.since.date_20050600' => 'CC-BY-NC-SA-2.5',
5080             'name.alt.org.spdx' => 'CC-BY-NC-SA-2.5',
5081             'name.alt.org.wikidata.synth.nogrant' => 'Q19068212',
5082             caption => 'Creative Commons Attribution-NonCommercial-ShareAlike 2.5',
5083             'caption.alt.org.cc' =>
5084             'Creative Commons Attribution-NonCommercial-ShareAlike 2.5 Generic License',
5085             'caption.alt.org.cc.misc.legal' =>
5086             'Attribution-NonCommercial-ShareAlike 2.5',
5087             'caption.alt.org.cc.misc.shortname' => 'CC BY-NC-SA 2.5',
5088             'caption.alt.org.cc.misc.deed' =>
5089             'Attribution-NonCommercial-ShareAlike 2.5 Generic (CC BY-NC-SA 2.5)',
5090             'caption.alt.org.spdx.until.date_20150513' =>
5091             'Creative Commons Attribution Non Commercial Share Alike 2.5',
5092             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
5093             'Creative Commons Attribution Non Commercial Share Alike 2.5 Generic',
5094             'caption.alt.org.spdx.since.date_20150730' =>
5095             'Creative Commons Attribution Non Commercial Share Alike 2.5',
5096             'caption.alt.org.wikidata' =>
5097             'Creative Commons Attribution-NonCommercial-ShareAlike 2.5 Generic',
5098             iri => 'https://creativecommons.org/licenses/by-nc-sa/2.5/',
5099             tags => [
5100             'family:cc:standard',
5101             'type:singleversion:cc_by_nc_sa',
5102             ],
5103             licenseversion => '2.5',
5104             };
5105              
5106             $RE{cc_by_nc_sa_3} = {
5107             name => 'CC-BY-NC-SA-3.0',
5108             'name.alt.org.cc.since.date_20070223' => 'CC-BY-NC-SA-3.0',
5109             'name.alt.org.spdx' => 'CC-BY-NC-SA-3.0',
5110             'name.alt.org.wikidata.synth.nogrant' => 'Q15643954',
5111             caption => 'Creative Commons Attribution-NonCommercial-ShareAlike 3.0',
5112             'caption.alt.org.cc' =>
5113             'Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License',
5114             'caption.alt.org.cc.misc.modern' =>
5115             'Creative Commons Attribution-NonCommercial-ShareAlike 3.0 International License',
5116             'caption.alt.org.cc.misc.legal' =>
5117             'Attribution-NonCommercial-ShareAlike 3.0 Unported',
5118             'caption.alt.org.cc.misc.shortname' => 'CC BY-NC-SA 3.0',
5119             'caption.alt.org.cc.misc.deed' =>
5120             'Attribution-NonCommercial-ShareAlike 3.0 Unported (CC BY-NC-SA 3.0)',
5121             'caption.alt.org.spdx.until.date_20150513' =>
5122             'Creative Commons Attribution Non Commercial Share Alike 3.0',
5123             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
5124             'Creative Commons Attribution Non Commercial Share Alike 3.0 Unported',
5125             'caption.alt.org.spdx.since.date_20150730' =>
5126             'Creative Commons Attribution Non Commercial Share Alike 3.0',
5127             'caption.alt.org.tldr.synth.nogrant' =>
5128             'Creative Commons Attribution NonCommercial ShareAlike (CC-NC-SA)',
5129             'caption.alt.org.wikidata' =>
5130             'Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported',
5131             iri => 'https://creativecommons.org/licenses/by-nc-sa/3.0/',
5132             tags => [
5133             'family:cc:standard',
5134             'type:singleversion:cc_by_nc_sa',
5135             ],
5136             licenseversion => '3.0',
5137             };
5138              
5139             $RE{cc_by_nc_sa_4} = {
5140             name => 'CC-BY-NC-SA-4.0',
5141             'name.alt.org.cc.since.date_20131125' => 'CC-BY-NC-SA-4.0',
5142             'name.alt.org.spdx.since.date_20140807' => 'CC-BY-NC-SA-4.0',
5143             'name.alt.org.wikidata.synth.nogrant' => 'Q42553662',
5144             caption => 'Creative Commons Attribution-NonCommercial-ShareAlike 4.0',
5145             'caption.alt.org.cc' =>
5146             'Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License',
5147             'caption.alt.org.cc.misc.legal' =>
5148             'Attribution-NonCommercial-ShareAlike 4.0 International',
5149             'caption.alt.org.cc.misc.shortname' => 'CC BY-NC-SA 4.0',
5150             'caption.alt.org.cc.misc.deed' =>
5151             'Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)',
5152             'caption.alt.org.spdx.until.date_20150513' =>
5153             'Creative Commons Attribution Non Commercial Share Alike 4.0',
5154             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
5155             'Creative Commons Attribution Non Commercial Share Alike 4.0 International',
5156             'caption.alt.org.spdx.since.date_20150730' =>
5157             'Creative Commons Attribution Non Commercial Share Alike 4.0',
5158             'caption.alt.org.tldr' =>
5159             'Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)',
5160             'caption.alt.org.wikidata' =>
5161             'Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International',
5162             iri => 'https://creativecommons.org/licenses/by-nc-sa/4.0/',
5163             tags => [
5164             'family:cc:standard',
5165             'type:singleversion:cc_by_nc_sa',
5166             ],
5167             licenseversion => '4.0',
5168              
5169             'pat.alt.subject.license.scope.sentence.part.intro' =>
5170             $cc_by_exercising_you_accept_this
5171             . 'Creative Commons Attribution-NonCommercial-ShareAlike 4.0',
5172             };
5173              
5174             =item * cc_by_nd
5175              
5176             =item * cc_by_nd_1
5177              
5178             I
5179              
5180             =item * cc_by_nd_2
5181              
5182             I
5183              
5184             =item * cc_by_nd_2_5
5185              
5186             I
5187              
5188             =item * cc_by_nd_3
5189              
5190             I
5191              
5192             =item * cc_by_nd_4
5193              
5194             I
5195              
5196             =cut
5197              
5198             $RE{cc_by_nd} = {
5199             name => 'CC-BY-ND',
5200             'name.alt.org.cc' => 'CC-BY-ND',
5201             'name.alt.org.fedora' => 'CC-BY-ND',
5202             'name.alt.org.wikidata.synth.nogrant' => 'Q6999319',
5203             caption => 'Creative Commons Attribution-NoDerivatives',
5204             'caption.alt.org.cc.misc.abbrev' =>
5205             'Creative Commons Attribution-NoDerivs',
5206             'caption.alt.org.fedora' => 'Creative Commons Attribution-NoDerivs',
5207             'caption.alt.org.wikidata' =>
5208             'Creative Commons Attribution-NoDerivatives',
5209             tags => [
5210             'family:cc:standard',
5211             'type:versioned:decimal',
5212             ],
5213              
5214             'pat.alt.subject.name' => '(?:'
5215             . $P{cc}
5216             . '[- ](?:'
5217             . $P{cc_by} . '[- ]'
5218             . $P{cc_nd}
5219             . '|BY[- ]ND|'
5220             . $P{cc_url}
5221             . 'by-nd))',
5222             };
5223              
5224             $RE{cc_by_nd_1} = {
5225             name => 'CC-BY-ND-1.0',
5226             'name.alt.org.cc' => 'CC-BY-ND-1.0',
5227             'name.alt.org.spdx' => 'CC-BY-ND-1.0',
5228             'name.alt.org.wikidata.synth.nogrant' => 'Q47008966',
5229             caption => 'Creative Commons Attribution-NoDerivs 1.0',
5230             'caption.alt.org.cc' =>
5231             'Creative Commons Attribution-NoDerivs 1.0 Generic License',
5232             'caption.alt.org.cc.misc.legal' => 'Attribution-NoDerivs 1.0',
5233             'caption.alt.org.cc.misc.shortname' => 'CC BY-ND 1.0',
5234             'caption.alt.org.cc.misc.deed' =>
5235             'Attribution-NoDerivs 1.0 Generic (CC BY-ND 1.0)',
5236             'caption.alt.org.spdx.until.date_20150513' =>
5237             'Creative Commons Attribution No Derivatives 1.0',
5238             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
5239             'Creative Commons Attribution No Derivatives 1.0 Generic',
5240             'caption.alt.org.spdx.since.date_20150730' =>
5241             'Creative Commons Attribution No Derivatives 1.0',
5242             'caption.alt.org.wikidata' =>
5243             'Creative Commons Attribution-NoDerivs 1.0 Generic',
5244             iri => 'https://creativecommons.org/licenses/by-nd/1.0/',
5245             tags => [
5246             'family:cc:standard',
5247             'type:singleversion:cc_by_nd',
5248             ],
5249             licenseversion => '1.0',
5250             };
5251              
5252             $RE{cc_by_nd_2} = {
5253             name => 'CC-BY-ND-2.0',
5254             'name.alt.org.cc.since.date_20040525' => 'CC-BY-ND-2.0',
5255             'name.alt.org.spdx' => 'CC-BY-ND-2.0',
5256             'name.alt.org.wikidata.synth.nogrant' => 'Q35254645',
5257             caption => 'Creative Commons Attribution-NoDerivs 2.0',
5258             'caption.alt.org.cc' =>
5259             'Creative Commons Attribution-NoDerivs 2.0 Generic License',
5260             'caption.alt.org.cc.misc.legal' => 'Attribution-NoDerivs 2.0',
5261             'caption.alt.org.cc.misc.shortname' => 'CC BY-ND 2.0',
5262             'caption.alt.org.cc.misc.deed' =>
5263             'Attribution-NoDerivs 2.0 Generic (CC BY-ND 2.0)',
5264             'caption.alt.org.spdx.until.date_20150513' =>
5265             'Creative Commons Attribution No Derivatives 2.0',
5266             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
5267             'Creative Commons Attribution No Derivatives 2.0 Generic',
5268             'caption.alt.org.spdx.since.date_20150730' =>
5269             'Creative Commons Attribution No Derivatives 2.0',
5270             'caption.alt.org.wikidata' =>
5271             'Creative Commons Attribution-NoDerivs 2.0 Generic',
5272             iri => 'https://creativecommons.org/licenses/by-nd/2.0/',
5273             tags => [
5274             'family:cc:standard',
5275             'type:singleversion:cc_by_nd',
5276             ],
5277             licenseversion => '2.0',
5278             };
5279              
5280             $RE{cc_by_nd_2_5} = {
5281             name => 'CC-BY-ND-2.5',
5282             'name.alt.org.cc.since.date_20050600' => 'CC-BY-ND-2.5',
5283             'name.alt.org.spdx' => 'CC-BY-ND-2.5',
5284             'name.alt.org.wikidata.synth.nogrant' => 'Q18810338',
5285             caption => 'Creative Commons Attribution-NoDerivs 2.5',
5286             'caption.alt.org.cc' =>
5287             'Creative Commons Attribution-NoDerivs 2.5 Generic License',
5288             'caption.alt.org.cc.misc.legal' => 'Attribution-NoDerivs 2.5',
5289             'caption.alt.org.cc.misc.shortname' => 'CC BY-ND 2.5',
5290             'caption.alt.org.cc.misc.deed' =>
5291             'Attribution-NoDerivs 2.5 Generic (CC BY-ND 2.5)',
5292             'caption.alt.org.spdx.until.date_20150513' =>
5293             'Creative Commons Attribution No Derivatives 2.5',
5294             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
5295             'Creative Commons Attribution No Derivatives 2.5 Generic',
5296             'caption.alt.org.spdx.since.date_20150730' =>
5297             'Creative Commons Attribution No Derivatives 2.5',
5298             'caption.alt.org.wikidata' =>
5299             'Creative Commons Attribution-NoDerivs 2.5 Generic',
5300             iri => 'https://creativecommons.org/licenses/by-nd/2.5/',
5301             tags => [
5302             'family:cc:standard',
5303             'type:singleversion:cc_by_nd',
5304             ],
5305             licenseversion => '2.5',
5306             };
5307              
5308             $RE{cc_by_nd_3} = {
5309             name => 'CC-BY-ND-3.0',
5310             'name.alt.org.cc.since.date_20070223' => 'CC-BY-ND-3.0',
5311             'name.alt.org.spdx' => 'CC-BY-ND-3.0',
5312             'name.alt.org.wikidata.synth.nogrant' => 'Q18810160',
5313             caption => 'Creative Commons Attribution-NoDerivs 3.0',
5314             'caption.alt.org.cc' =>
5315             'Creative Commons Attribution-NoDerivs 3.0 Unported License',
5316             'caption.alt.org.cc.misc.modern' =>
5317             'Creative Commons Attribution-NoDerivs 3.0 International License',
5318             'caption.alt.org.cc.misc.legal' => 'Attribution-NoDerivs 3.0 Unported',
5319             'caption.alt.org.cc.misc.shortname' => 'CC BY-ND 3.0',
5320             'caption.alt.org.cc.misc.deed' =>
5321             'Attribution-NoDerivs 3.0 Unported (CC BY-ND 3.0)',
5322             'caption.alt.org.spdx.until.date_20150513' =>
5323             'Creative Commons Attribution No Derivatives 3.0',
5324             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
5325             'Creative Commons Attribution No Derivatives 3.0 Unported',
5326             'caption.alt.org.spdx.since.date_20150730' =>
5327             'Creative Commons Attribution No Derivatives 3.0',
5328             'caption.alt.org.tldr.synth.nogrant' =>
5329             'Creative Commons Attribution NoDerivs (CC-ND)',
5330             'caption.alt.org.wikidata' =>
5331             'Creative Commons Attribution-NoDerivs 3.0 Unported',
5332             iri => 'https://creativecommons.org/licenses/by-nd/3.0/',
5333             tags => [
5334             'family:cc:standard',
5335             'type:singleversion:cc_by_nd',
5336             ],
5337             licenseversion => '3.0',
5338             };
5339              
5340             $RE{cc_by_nd_4} = {
5341             name => 'CC-BY-ND-4.0',
5342             'name.alt.org.cc.since.date_20131125' => 'CC-BY-ND-4.0',
5343             'name.alt.org.spdx.since.date_20140807' => 'CC-BY-ND-4.0',
5344             'name.alt.org.wikidata.synth.nogrant' => 'Q36795408',
5345             caption => 'Creative Commons Attribution-NoDerivatives 4.0',
5346             'caption.alt.org.cc' =>
5347             'Creative Commons Attribution-NoDerivatives 4.0 International License',
5348             'caption.alt.org.cc.misc.legal' =>
5349             'Attribution-NoDerivatives 4.0 International',
5350             'caption.alt.org.cc.misc.shortname' => 'CC BY-ND 4.0',
5351             'caption.alt.org.cc.misc.deed' =>
5352             'Attribution-NoDerivatives 4.0 International (CC BY-ND 4.0)',
5353             'caption.alt.org.spdx.until.date_20150513' =>
5354             'Creative Commons Attribution No Derivatives 4.0',
5355             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
5356             'Creative Commons Attribution No Derivatives 4.0 International',
5357             'caption.alt.org.spdx.since.date_20150730' =>
5358             'Creative Commons Attribution No Derivatives 4.0',
5359             'caption.alt.org.tldr' =>
5360             'Creative Commons Attribution-NoDerivatives 4.0 International (CC BY-ND 4.0)',
5361             'caption.alt.org.wikidata' =>
5362             'Creative Commons Attribution-NoDerivs 4.0 International',
5363             iri => 'https://creativecommons.org/licenses/by-nd/4.0/',
5364             tags => [
5365             'family:cc:standard',
5366             'type:singleversion:cc_by_nd',
5367             ],
5368             licenseversion => '4.0',
5369              
5370             'pat.alt.subject.license.scope.sentence.part.intro' =>
5371             $cc_by_exercising_you_accept_this
5372             . 'Creative Commons Attribution-NoDerivatives 4.0',
5373             };
5374              
5375             =item * cc_by_sa
5376              
5377             =item * cc_by_sa_1
5378              
5379             I
5380              
5381             =item * cc_by_sa_2
5382              
5383             I
5384              
5385             =item * cc_by_sa_2_5
5386              
5387             I
5388              
5389             =item * cc_by_sa_3
5390              
5391             I
5392              
5393             =item * cc_by_sa_4
5394              
5395             I
5396              
5397             =cut
5398              
5399             $RE{cc_by_sa} = {
5400             name => 'CC-BY-SA',
5401             'name.alt.org.cc' => 'CC-BY-SA',
5402             'name.alt.org.fedora' => 'CC-BY-SA',
5403             'name.alt.org.wikidata.synth.nogrant' => 'Q6905942',
5404             'name.alt.misc.fossology_old' => 'CCA_SA',
5405             caption => 'Creative Commons Attribution-ShareAlike',
5406             tags => [
5407             'family:cc:standard',
5408             'type:versioned:decimal',
5409             ],
5410              
5411             'pat.alt.subject.name' => '(?:'
5412             . $P{cc}
5413             . '[- ](?:'
5414             . $P{cc_by} . '[- ]'
5415             . $P{cc_sa}
5416             . '|BY[- ]SA|'
5417             . $P{cc_url}
5418             . 'by-sa))',
5419             };
5420              
5421             $RE{cc_by_sa_1} = {
5422             name => 'CC-BY-SA-1.0',
5423             'name.alt.org.cc' => 'CC-BY-SA-1.0',
5424             'name.alt.org.spdx' => 'CC-BY-SA-1.0',
5425             'name.alt.org.wikidata.synth.nogrant' => 'Q47001652',
5426             'name.alt.misc.fossology_old' => 'CCA_SA_v1.0',
5427             'name.alt.misc.fossology_old_short' => 'CCA_SA1.0',
5428             caption => 'Creative Commons Attribution-ShareAlike 1.0',
5429             'caption.alt.org.cc' =>
5430             'Creative Commons Attribution-ShareAlike 1.0 Generic License',
5431             'caption.alt.org.cc.misc.legal' => 'Attribution-ShareAlike 1.0',
5432             'caption.alt.org.cc.misc.shortname' => 'CC BY-SA 1.0',
5433             'caption.alt.org.cc.misc.deed' =>
5434             'Attribution-ShareAlike 1.0 Generic (CC BY-SA 1.0)',
5435             'caption.alt.org.spdx.until.date_20150513' =>
5436             'Creative Commons Attribution Share Alike 1.0',
5437             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
5438             'Creative Commons Attribution Share Alike 1.0 Generic',
5439             'caption.alt.org.spdx.since.date_20150730' =>
5440             'Creative Commons Attribution Share Alike 1.0',
5441             'caption.alt.org.wikidata' =>
5442             'Creative Commons Attribution-ShareAlike 1.0 Generic',
5443             iri => 'https://creativecommons.org/licenses/by-sa/1.0/',
5444             tags => [
5445             'family:cc:standard',
5446             'type:singleversion:cc_by_sa',
5447             ],
5448             licenseversion => '1.0',
5449             };
5450              
5451             $RE{cc_by_sa_2} = {
5452             name => 'CC-BY-SA-2.0',
5453             'name.alt.org.cc.since.date_20040525' => 'CC-BY-SA-2.0',
5454             'name.alt.org.spdx' => 'CC-BY-SA-2.0',
5455             'name.alt.org.wikidata.synth.nogrant' => 'Q19068220',
5456             caption => 'Creative Commons Attribution-ShareAlike 2.0',
5457             'caption.alt.org.cc' =>
5458             'Creative Commons Attribution-ShareAlike 2.0 Generic License',
5459             'caption.alt.org.cc.misc.legal' => 'Attribution-ShareAlike 2.0',
5460             'caption.alt.org.cc.misc.shortname' => 'CC BY-SA 2.0',
5461             'caption.alt.org.cc.misc.deed' =>
5462             'Attribution-ShareAlike 2.0 Generic (CC BY-SA 2.0)',
5463             'caption.alt.org.spdx.until.date_20150513' =>
5464             'Creative Commons Attribution Share Alike 2.0',
5465             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
5466             'Creative Commons Attribution Share Alike 2.0 Generic',
5467             'caption.alt.org.spdx.since.date_20150730' =>
5468             'Creative Commons Attribution Share Alike 2.0',
5469             'caption.alt.org.wikidata' =>
5470             'Creative Commons Attribution-ShareAlike 2.0 Generic',
5471             iri => 'https://creativecommons.org/licenses/by-sa/2.0/',
5472             tags => [
5473             'family:cc:standard',
5474             'type:singleversion:cc_by_sa',
5475             ],
5476             licenseversion => '2.0',
5477             };
5478              
5479             $RE{cc_by_sa_2_5} = {
5480             name => 'CC-BY-SA-2.5',
5481             'name.alt.org.cc.since.date_20050600' => 'CC-BY-SA-2.5',
5482             'name.alt.org.spdx' => 'CC-BY-SA-2.5',
5483             'name.alt.org.wikidata.synth.nogrant' => 'Q19113751',
5484             'name.alt.misc.fossology_old' => 'CCA_SA_v2.5',
5485             'name.alt.misc.fossology_old_short' => 'CCA_SA2.5',
5486             caption => 'Creative Commons Attribution-ShareAlike 2.5',
5487             'caption.alt.org.cc' =>
5488             'Creative Commons Attribution-ShareAlike 2.5 Generic License',
5489             'caption.alt.org.cc.misc.legal' => 'Attribution-ShareAlike 2.5',
5490             'caption.alt.org.cc.misc.shortname' => 'CC BY-SA 2.5',
5491             'caption.alt.org.cc.misc.deed' =>
5492             'Attribution-ShareAlike 2.5 Generic (CC BY-SA 2.5)',
5493             'caption.alt.org.spdx.until.date_20150513' =>
5494             'Creative Commons Attribution Share Alike 2.5',
5495             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
5496             'Creative Commons Attribution Share Alike 2.5 Generic',
5497             'caption.alt.org.spdx.since.date_20150730' =>
5498             'Creative Commons Attribution Share Alike 2.5',
5499             'caption.alt.org.wikidata' =>
5500             'Creative Commons Attribution-ShareAlike 2.5 Generic',
5501             iri => 'https://creativecommons.org/licenses/by-sa/2.5/',
5502             tags => [
5503             'family:cc:standard',
5504             'type:singleversion:cc_by_sa',
5505             ],
5506             licenseversion => '2.5',
5507             };
5508              
5509             $RE{cc_by_sa_3} = {
5510             name => 'CC-BY-SA-3.0',
5511             'name.alt.org.cc.since.date_20070223' => 'CC-BY-SA-3.0',
5512             'name.alt.org.spdx' => 'CC-BY-SA-3.0',
5513             'name.alt.org.wikidata.synth.nogrant' => 'Q14946043',
5514             'name.alt.misc.fossology_old' => 'CCA_SA_v3.0',
5515             'name.alt.misc.fossology_old_short' => 'CCA_SA3.0',
5516             caption => 'Creative Commons Attribution-ShareAlike 3.0',
5517             'caption.alt.org.cc' =>
5518             'Creative Commons Attribution-ShareAlike 3.0 Unported License',
5519             'caption.alt.org.cc.misc.modern' =>
5520             'Creative Commons Attribution-ShareAlike 3.0 International License',
5521             'caption.alt.org.cc.misc.legal' => 'Attribution-ShareAlike 3.0 Unported',
5522             'caption.alt.org.cc.misc.shortname' => 'CC BY-SA 3.0',
5523             'caption.alt.org.cc.misc.deed' =>
5524             'Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0)',
5525             'caption.alt.org.spdx.until.date_20150513' =>
5526             'Creative Commons Attribution Share Alike 3.0',
5527             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
5528             'Creative Commons Attribution Share Alike 3.0 Unported',
5529             'caption.alt.org.spdx.since.date_20150730' =>
5530             'Creative Commons Attribution Share Alike 3.0',
5531             'caption.alt.org.tldr.synth.nogrant' =>
5532             'Creative Commons Attribution Share Alike (CC-SA)',
5533             'caption.alt.org.wikidata' =>
5534             'Creative Commons Attribution-ShareAlike 3.0 Unported',
5535             iri => 'https://creativecommons.org/licenses/by-sa/3.0/',
5536             tags => [
5537             'family:cc:standard',
5538             'type:singleversion:cc_by_sa',
5539             ],
5540             licenseversion => '3.0',
5541             };
5542              
5543             $RE{cc_by_sa_4} = {
5544             name => 'CC-BY-SA-4.0',
5545             'name.alt.org.cc.since.date_20131125' => 'CC-BY-SA-4.0',
5546             'name.alt.org.spdx.since.date_20140807' => 'CC-BY-SA-4.0',
5547             'name.alt.org.wikidata.synth.nogrant' => 'Q18199165',
5548             caption => 'Creative Commons Attribution-ShareAlike 4.0',
5549             'caption.alt.org.cc' =>
5550             'Creative Commons Attribution-ShareAlike 4.0 International License',
5551             'caption.alt.org.cc.misc.legal' =>
5552             'Attribution-ShareAlike 4.0 International',
5553             'caption.alt.org.cc.misc.shortname' => 'CC BY-SA 4.0',
5554             'caption.alt.org.cc.misc.deed' =>
5555             'Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)',
5556             'caption.alt.org.spdx.until.date_20150513' =>
5557             'Creative Commons Attribution Share Alike 4.0',
5558             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
5559             'Creative Commons Attribution Share Alike 4.0 International',
5560             'caption.alt.org.spdx.since.date_20150730' =>
5561             'Creative Commons Attribution Share Alike 4.0',
5562             'caption.alt.org.tldr' =>
5563             'Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)',
5564             'caption.alt.org.wikidata' =>
5565             'Creative Commons Attribution-ShareAlike 4.0 International',
5566             iri => 'https://creativecommons.org/licenses/by-sa/4.0/',
5567             tags => [
5568             'family:cc:standard',
5569             'type:singleversion:cc_by_sa',
5570             ],
5571             licenseversion => '4.0',
5572              
5573             'pat.alt.subject.license.scope.sentence.part.intro' =>
5574             $cc_by_exercising_you_accept_this
5575             . 'Creative Commons Attribution-ShareAlike 4.0',
5576             };
5577              
5578             =item * cc_cc0
5579              
5580             =item * cc_cc0_1
5581              
5582             I
5583              
5584             =cut
5585              
5586             $RE{cc_cc0} = {
5587             name => 'CC0',
5588             'name.alt.org.cc' => 'CC0',
5589             'name.alt.org.wikidata.synth.nogrant' => 'Q6938433',
5590             caption => 'Creative Commons CC0',
5591             'caption.alt.org.fedora' => 'Creative Commons Zero 1.0 Universal',
5592             'caption.alt.org.wikidata' => 'CC0',
5593             'caption.alt.misc.zero' => 'Creative Commons Zero',
5594             'iri.alt.org.wikipedia' =>
5595             'https://en.wikipedia.org/wiki/Creative_Commons_license#Zero_/_public_domain',
5596             tags => [
5597             'family:cc:zero',
5598             'type:versioned:decimal',
5599             ],
5600              
5601             'pat.alt.subject.name' => '(?:'
5602             . $P{cc}
5603             . '[- ](?:'
5604             . $P{cc_cc0}
5605             . '(?: [(]?["]?CC0["]?[)]?)?|CC0|'
5606             . $P{cc_url_pd}
5607             . 'zero))',
5608             'pat.alt.subject.grant' =>
5609             'has waived all copyright and related or neighboring rights',
5610             };
5611              
5612             $RE{cc_cc0_1} = {
5613             name => 'CC0-1.0',
5614             'name.alt.org.cc' => 'CC0-1.0',
5615             'name.alt.org.spdx' => 'CC0-1.0',
5616             'name.alt.org.tldr' => 'creative-commons-cc0-1.0-universal',
5617             'name.alt.org.tldr.path.short' => 'cc0-1.0',
5618             caption => 'Creative Commons CC0 1.0',
5619             'caption.alt.org.cc.misc.legal' => 'CC0 1.0 Universal',
5620             'caption.alt.org.cc.misc.shortname' => 'CC0 1.0',
5621             'caption.alt.org.cc.misc.deed' =>
5622             'CC0 1.0 Universal (CC0 1.0) Public Domain Dedication',
5623             'caption.alt.org.spdx' => 'Creative Commons Zero v1.0 Universal',
5624             'caption.alt.org.tldr' => 'Creative Commons CC0 1.0 Universal (CC-0)',
5625             'caption.alt.org.trove' => 'CC0 1.0 Universal (CC0 1.0)',
5626             'caption.alt.org.trove.misc.short' => 'CC0 1.0',
5627             iri => 'https://creativecommons.org/publicdomain/zero/1.0/',
5628             'iri.alt.org.wikipedia' =>
5629             'https://en.wikipedia.org/wiki/Creative_Commons_license#Zero_/_public_domain',
5630             tags => [
5631             'family:cc:zero',
5632             'type:singleversion:cc_cc0',
5633             ],
5634             licenseversion => '1.0',
5635              
5636             'pat.alt.subject.grant' =>
5637             'has waived all copyright and related or neighboring rights',
5638             };
5639              
5640             =item * cc_devnations
5641              
5642             I
5643              
5644             =item * cc_devnations_2
5645              
5646             I
5647              
5648             =cut
5649              
5650             $RE{cc_devnations} = {
5651             name => 'CC-DevNations',
5652             'name.alt.org.cc.until.date_20070604' => 'CC-DevNations',
5653             caption => 'Creative Commons Developing Nations',
5654             tags => [
5655             'family:cc:standard',
5656             'type:versioned:decimal',
5657             ],
5658             };
5659              
5660             $RE{cc_devnations_2} = {
5661             name => 'CC-DevNations-2.0',
5662             'name.alt.org.cc.since.date_20040913.until.date_20070604' =>
5663             'CC-DevNations-2.0',
5664             caption => 'Creative Commons Developing Nations 2.0',
5665             'caption.alt.org.cc.synth.nogrant' => 'Developing Nations License',
5666             'caption.alt.org.cc.misc.legal' => 'Developing Nations 2.0',
5667             iri => 'https://creativecommons.org/licenses/devnations/2.0/',
5668             description => <<'END',
5669             Release:
5670              
5671             Expiry:
5672             END
5673             tags => [
5674             'family:cc:standard',
5675             'type:singleversion:cc_devnations',
5676             ],
5677             licenseversion => '2.0',
5678              
5679             'pat.alt.subject.license.scope.sentence.part.definition_c' =>
5680             '["]Developing Nation["] means any nation that is not classified',
5681             };
5682              
5683             =item * cc_nc
5684              
5685             I
5686              
5687             =item * cc_nc_1
5688              
5689             I
5690              
5691             =cut
5692              
5693             $RE{cc_nc} = {
5694             name => 'CC-NC',
5695             'name.alt.org.cc.until.date_20040525' => 'CC-NC',
5696             'name.alt.org.wikidata.synth.nogrant' => 'Q65071627',
5697             caption => 'Creative Commons NonCommercial',
5698             tags => [
5699             'family:cc:standard',
5700             'type:versioned:decimal',
5701             ],
5702             };
5703              
5704             $RE{cc_nc_1} = {
5705             name => 'CC-NC-1.0',
5706             'name.alt.org.cc.until.date_20040525' => 'CC-NC-1.0',
5707             caption => 'Creative Commons NonCommercial 1.0',
5708             'caption.alt.org.cc' =>
5709             'Creative Commons NonCommercial 1.0 Generic License',
5710             'caption.alt.org.cc.misc.legal' => 'NonCommercial 1.0',
5711             'caption.alt.org.cc.misc.shortname' => 'CC NC 1.0',
5712             'caption.alt.org.cc.misc.deed' => 'NonCommercial 1.0 Generic (CC NC 1.0)',
5713             iri => 'https://creativecommons.org/licenses/nc/1.0/',
5714             tags => [
5715             'family:cc:standard',
5716             'type:singleversion:cc_nc',
5717             ],
5718             licenseversion => '1.0',
5719             };
5720              
5721             =item * cc_nc_sa
5722              
5723             I
5724              
5725             =item * cc_nc_sa_1
5726              
5727             I
5728              
5729             =cut
5730              
5731             $RE{cc_nc_sa} = {
5732             name => 'CC-NC-SA',
5733             'name.alt.org.cc.until.date_20040525' => 'CC-NC-SA',
5734             caption => 'Creative Commons NonCommercial-ShareAlike',
5735             tags => [
5736             'family:cc:standard',
5737             'type:versioned:decimal',
5738             ],
5739             };
5740              
5741             $RE{cc_nc_sa_1} = {
5742             name => 'CC-NC-SA-1.0',
5743             'name.alt.org.cc.until.date_20040525' => 'CC-NC-SA-1.0',
5744             caption => 'Creative Commons NonCommercial-ShareAlike 1.0',
5745             'caption.alt.org.cc' =>
5746             'Creative Commons NonCommercial-ShareAlike 1.0 Generic License',
5747             'caption.alt.org.cc.misc.legal' => 'NonCommercial-ShareAlike 1.0',
5748             'caption.alt.org.cc.misc.shortname' => 'CC NC-SA 1.0',
5749             'caption.alt.org.cc.misc.deed' =>
5750             'NonCommercial-ShareAlike 1.0 Generic (CC NC-SA 1.0)',
5751             iri => 'https://creativecommons.org/licenses/nc-sa/1.0/',
5752             description => <<'END',
5753             Expiry:
5754             END
5755             tags => [
5756             'family:cc:standard',
5757             'type:singleversion:cc_nc_sa',
5758             ],
5759             licenseversion => '1.0',
5760             };
5761              
5762             =item * cc_nc_sp
5763              
5764             I
5765              
5766             =item * cc_nc_sp_1
5767              
5768             I
5769              
5770             =cut
5771              
5772             $RE{cc_nc_sp} = {
5773             name => 'CC-NC-SP',
5774             'name.alt.org.cc.since.date_20041112.until.date_20110912' =>
5775             'CC-NC-Sampling+',
5776             caption => 'Creative Commons NonCommercial Sampling Plus',
5777             tags => [
5778             'family:cc:recombo',
5779             'type:versioned:decimal',
5780             ],
5781             };
5782              
5783             $RE{cc_nc_sp_1} = {
5784             name => 'CC-NC-SP-1.0',
5785             'name.alt.org.cc.since.date_20041112.until.date_20110912' =>
5786             'CC-NC-Sampling+-1.0',
5787             caption => 'Creative Commons NonCommercial Sampling Plus 1.0',
5788             'caption.alt.org.cc' => 'NonCommercial Sampling Plus 1.0',
5789             'caption.alt.org.cc.misc.shortname' => 'CC NC-Sampling+ 1.0',
5790             iri => 'https://creativecommons.org/licenses/nc-sampling+/1.0/',
5791             description => <<'END',
5792             Release:
5793              
5794             Expiry:
5795             END
5796             tags => [
5797             'family:cc:recombo',
5798             'type:singleversion:cc_nc_sp',
5799             ],
5800             licenseversion => '1.0',
5801             };
5802              
5803             =item * cc_nd_nc
5804              
5805             I
5806              
5807             =item * cc_nd_nc_1
5808              
5809             I
5810              
5811             =cut
5812              
5813             $RE{cc_nd_nc} = {
5814             name => 'CC-ND-NC',
5815             'name.alt.org.cc.until.date_20040525' => 'CC-ND-NC',
5816             caption => 'Creative Commons NoDerivs-NonCommercial',
5817             'caption.alt.org.cc.misc.long' =>
5818             'Creative Commons NoDerivatives-NonCommercial',
5819             'caption.alt.org.cc.misc.flipped' =>
5820             'Creative Commons NonCommercial-NoDerivs',
5821             tags => [
5822             'family:cc:standard',
5823             'type:versioned:decimal',
5824             ],
5825             };
5826              
5827             $RE{cc_nd_nc_1} = {
5828             name => 'CC-ND-NC-1.0',
5829             'name.alt.org.cc.until.date_20040525' => 'CC-ND-NC-1.0',
5830             caption => 'Creative Commons NoDerivs-NonCommercial 1.0',
5831             'caption.alt.org.cc' =>
5832             'Creative Commons NoDerivs-NonCommercial 1.0 Generic License',
5833             'caption.alt.org.cc.misc.legal' => 'NoDerivs-NonCommercial 1.0',
5834             'caption.alt.org.cc.misc.shortname' => 'CC ND-NC 1.0',
5835             'caption.alt.org.cc.misc.deed' =>
5836             'NoDerivs-NonCommercial 1.0 Generic (CC ND-NC 1.0)',
5837             iri => 'https://creativecommons.org/licenses/nd-nc/1.0/',
5838             description => <<'END',
5839             Expiry:
5840             END
5841             tags => [
5842             'family:cc:standard',
5843             'type:singleversion:cc_nd_nc',
5844             ],
5845             licenseversion => '1.0',
5846             };
5847              
5848             =item * cc_nd
5849              
5850             I
5851              
5852             =item * cc_nd_1
5853              
5854             I
5855              
5856             =cut
5857              
5858             $RE{cc_nd} = {
5859             name => 'CC-ND',
5860             'name.alt.org.cc.until.date_20040525' => 'CC-ND',
5861             caption => 'Creative Commons NoDerivs',
5862             'caption.alt.org.cc.misc.long' => 'Creative Commons NoDerivatives',
5863             tags => [
5864             'family:cc:standard',
5865             'type:versioned:decimal',
5866             ],
5867             };
5868              
5869             $RE{cc_nd_1} = {
5870             name => 'CC-ND-1.0',
5871             'name.alt.org.cc.until.date_20040525' => 'CC-ND-1.0',
5872             caption => 'Creative Commons NoDerivs 1.0',
5873             'caption.alt.org.cc' => 'Creative Commons NoDerivs 1.0 Generic License',
5874             'caption.alt.org.cc.misc.legal' => 'NoDerivs 1.0',
5875             'caption.alt.org.cc.misc.shortname' => 'CC ND 1.0',
5876             'caption.alt.org.cc.misc.deed' => 'NoDerivs 1.0 Generic (CC ND 1.0)',
5877             iri => 'https://creativecommons.org/licenses/nd/1.0/',
5878             description => <<'END',
5879             Expiry:
5880             END
5881             tags => [
5882             'family:cc:standard',
5883             'type:singleversion:cc_nd',
5884             ],
5885             licenseversion => '1.0',
5886             };
5887              
5888             =item * cc_pd
5889              
5890             I
5891              
5892             =item * cc_pdd
5893              
5894             I
5895              
5896             =item * cc_pddc
5897              
5898             I
5899              
5900             =cut
5901              
5902             $RE{cc_pd} = {
5903             name => 'CC-PD',
5904             'name.alt.org.cc.until.date_20101011' => 'CC-PD',
5905             caption => 'Creative Commons Public Domain',
5906             description => <<'END',
5907             Casual name
5908             for either "Public Domain Dedication and Certification"
5909             or its predecessor "Public Domain Dedication".
5910             END
5911             iri => 'https://creativecommons.org/licenses/publicdomain/',
5912             tags => [
5913             'family:cc:publicdomain',
5914             'type:unversioned',
5915             ],
5916             };
5917              
5918             $RE{cc_pdd} = {
5919             name => 'CC-PDD',
5920             'name.alt.org.cc.until.date_20040525' => 'CC-PDD',
5921             caption => 'Creative Commons Public Domain Dedication',
5922             'caption.alt.org.cc.misc.deed' =>
5923             'Creative Commons Copyright-Only Dedication (based on United States law)',
5924             'iri.alt.archive.time_20040202011504' =>
5925             'https://creativecommons.org/licenses/publicdomain/',
5926             description => <<'END',
5927             Expiry: Possibly with revision 2.0 of the main licenses.
5928            
5929             END
5930             tags => [
5931             'family:cc:publicdomain',
5932             'type:unversioned',
5933             ],
5934              
5935             'pat.alt.subject.license.scope.line.scope.sentence.part.intro' =>
5936             'The person or persons who have associated their work with this document',
5937             };
5938              
5939             $RE{cc_pddc} = {
5940             name => 'CC-PDDC',
5941             'name.alt.org.cc.since.date_20040525.until.date_20101011' => 'CC-PDDC',
5942             'name.alt.org.spdx.since.date_20190710' => 'CC-PDDC',
5943             caption => 'Creative Commons Public Domain Dedication and Certification',
5944             'caption.alt.org.cc.misc.long' =>
5945             'Creative Commons Copyright-Only Dedication (based on United States law) or Public Domain Certification',
5946             description => <<'END',
5947             Expiry: Possibly with revision 2.0 of the main licenses.
5948            
5949              
5950             Expiry:
5951             END
5952             tags => [
5953             'family:cc:publicdomain',
5954             'type:unversioned',
5955             ],
5956              
5957             'pat.alt.subject.license.scope.line.scope.sentence.part.intro' =>
5958             'The person or persons who have associated work with this document',
5959             };
5960              
5961             =item * cc_sa
5962              
5963             I
5964              
5965             =item * cc_sa_1
5966              
5967             I
5968              
5969             =cut
5970              
5971             $RE{cc_sa} = {
5972             name => 'CC-SA',
5973             'name.alt.org.cc.until.date_20040525' => 'CC-SA',
5974             caption => 'Creative Commons ShareAlike',
5975             tags => [
5976             'family:cc:standard',
5977             'type:versioned:decimal',
5978             ],
5979             };
5980              
5981             $RE{cc_sa_1} = {
5982             name => 'CC-SA-1.0',
5983             'name.alt.org.cc.until.date_20040525' => 'CC-SA-1.0',
5984             'name.alt.org.wikidata.synth.nogrant' => 'Q75209430',
5985             caption => 'Creative Commons ShareAlike 1.0',
5986             'caption.alt.org.cc' => 'Creative Commons ShareAlike 1.0 Generic License',
5987             'caption.alt.org.wikidata' => 'Creative Commons ShareAlike 1.0',
5988             'caption.alt.org.cc.misc.legal' => 'ShareAlike 1.0',
5989             'caption.alt.org.cc.misc.shortname' => 'CC SA 1.0',
5990             'caption.alt.org.cc.misc.deed' => 'ShareAlike 1.0 Generic (CC SA 1.0)',
5991             iri => 'https://creativecommons.org/licenses/sa/1.0/',
5992             description => <<'END',
5993             Expiry:
5994             END
5995             tags => [
5996             'family:cc:standard',
5997             'type:singleversion:cc_sa',
5998             ],
5999             licenseversion => '1.0',
6000             };
6001              
6002             =item * cc_sampling
6003              
6004             I
6005              
6006             =item * cc_sampling_1
6007              
6008             I
6009              
6010             =cut
6011              
6012             $RE{cc_sampling} = {
6013             name => 'CC-Sampling',
6014             'name.alt.org.cc.since.date_20031216.until.date_20070604' =>
6015             'CC-Sampling',
6016             caption => 'Creative Commons Sampling',
6017             tags => [
6018             'family:cc:recombo',
6019             'type:versioned:decimal',
6020             ],
6021             };
6022              
6023             $RE{cc_sampling_1} = {
6024             name => 'CC-Sampling-1.0',
6025             'name.alt.org.cc.since.date_20031216.until.date_20070604' =>
6026             'CC-Sampling-1.0',
6027             'name.alt.org.wikidata.synth.nogrant' => 'Q100509915',
6028             caption => 'Creative Commons Sampling 1.0',
6029             'caption.alt.org.cc.synth.nogrant' => 'Sampling 1.0',
6030             'caption.alt.org.wikidata' => 'Sampling 1.0',
6031             iri => 'https://creativecommons.org/licenses/sampling/1.0/',
6032             description => <<'END',
6033             Release:
6034              
6035             Rebranding as recombo:
6036              
6037             Use with recombo logo:
6038              
6039             Expiry:
6040             END
6041             tags => [
6042             'family:cc:recombo',
6043             'type:singleversion:cc_sampling',
6044             ],
6045             licenseversion => '1.0',
6046              
6047             'pat.alt.subject.license.scope.line.scope.paragraph.part.part3a' =>
6048             'Re-creativity[. ]You may',
6049             };
6050              
6051             =item * cc_sp
6052              
6053             =item * cc_sp_1
6054              
6055             I
6056              
6057             =cut
6058              
6059             $RE{cc_sp} = {
6060             name => 'CC-SP',
6061             'name.alt.org.cc.since.date_20031216.until.date_20110912' =>
6062             'CC-Sampling+',
6063             caption => 'Creative Commons Sampling Plus',
6064             tags => [
6065             'family:cc:recombo',
6066             'type:versioned:decimal',
6067             ],
6068              
6069             'pat.alt.subject.name' => '(?:'
6070             . $P{cc}
6071             . '[- ](?:'
6072             . $P{cc_sp} . '|'
6073             . $P{cc_url}
6074             . 'sampling\+))',
6075             };
6076              
6077             $RE{cc_sp_1} = {
6078             name => 'CC-SP-1.0',
6079             'name.alt.org.cc.since.date_20031216.until.date_20110912' =>
6080             'CC-Sampling+-1.0',
6081             'name.alt.org.wikidata.synth.nogrant' => 'Q26913038',
6082             caption => 'Creative Commons Sampling Plus 1.0',
6083             'caption.alt.org.cc' => 'Sampling Plus 1.0',
6084             'caption.alt.org.cc.misc.shortname.synth.nogrant' => 'CC Sampling+ 1.0',
6085             'caption.alt.org.fedora' => 'Creative Commons Sampling Plus 1.0',
6086             iri => 'https://creativecommons.org/licenses/sampling+/1.0/',
6087             description => <<'END',
6088             Release:
6089              
6090             Expiry:
6091             END
6092             tags => [
6093             'family:cc:recombo',
6094             'type:singleversion:cc_sp',
6095             ],
6096             licenseversion => '1.0',
6097              
6098             'pat.alt.subject.license.scope.line.scope.sentence.part.part3a' =>
6099             'Re-creativity permitted',
6100             };
6101              
6102             =item * cddl
6103              
6104             =item * cddl_1
6105              
6106             I
6107              
6108             =item * cddl_1_1
6109              
6110             I
6111              
6112             =cut
6113              
6114             $RE{cddl} = {
6115             name => 'CDDL',
6116             'name.alt.org.fedora.iri.self' => 'CDDL',
6117             'name.alt.org.wikidata.synth.nogrant' => 'Q304628',
6118             caption => 'Common Development and Distribution License',
6119             'caption.alt.org.wikipedia' =>
6120             'Common Development and Distribution License',
6121             tags => [
6122             'type:versioned:decimal',
6123             ],
6124             };
6125              
6126             $RE{cddl_1} = {
6127             name => 'CDDL-1.0',
6128             'name.alt.org.fedora' => 'CDDL-1.0',
6129             'name.alt.org.osi' => 'CDDL-1.0',
6130             'name.alt.org.osi.iri.stem_plain.until.date_20110430.archive.time_20110426131805'
6131             => 'cddl1',
6132             'name.alt.org.spdx' => 'CDDL-1.0',
6133             'name.alt.org.tldr.synth.nogrant' =>
6134             'common-development-and-distribution-license-(cddl-1.0)-explained',
6135             'name.alt.org.tldr.path.short' => 'cddl',
6136             'name.alt.org.wikidata.synth.nogrant' => 'Q26996811',
6137             'name.alt.misc.fossology_old' => 'CDDL_v1.0',
6138             'name.alt.misc.fossology_old_short' => 'CDDL1.0',
6139             caption => 'Common Development and Distribution License 1.0',
6140             'caption.alt.org.fedora' => 'Common Development Distribution License 1.0',
6141             'caption.alt.org.fedora.iri.cddl' => 'CDDL 1.0',
6142             'caption.alt.org.osi' =>
6143             'Common Development and Distribution License 1.0',
6144             'caption.alt.org.tldr' =>
6145             'Common Development and Distribution License (CDDL-1.0)',
6146             'caption.alt.org.trove' =>
6147             'Common Development and Distribution License 1.0 (CDDL-1.0)',
6148             'caption.alt.org.wikidata' =>
6149             'Common Development and Distribution License version 1.0',
6150             tags => [
6151             'type:singleversion:cddl',
6152             ],
6153             licenseversion => '1.0',
6154              
6155             'pat.alt.subject.license' =>
6156             'Sun Microsystems, Inc[.] is the initial license steward',
6157             };
6158              
6159             $RE{cddl_1_1} = {
6160             name => 'CDDL-1.1',
6161             'name.alt.org.fedora' => 'CDDL-1.1',
6162             'name.alt.org.spdx' => 'CDDL-1.1',
6163             'name.alt.org.wikidata.synth.nogrant' => 'Q26996804',
6164             caption => 'Common Development and Distribution License 1.1',
6165             'caption.alt.org.fedora' => 'Common Development Distribution License 1.1',
6166             'caption.alt.org.fedora.iri.cddl' => 'CDDL 1.1',
6167             'caption.alt.org.wikidata' =>
6168             'Common Development and Distribution License version 1.1',
6169             tags => [
6170             'type:singleversion:cddl',
6171             ],
6172             licenseversion => '1.1',
6173              
6174             'pat.alt.subject.license.scope.line.scope.paragraph' =>
6175             'Oracle is the initial license steward',
6176             };
6177              
6178             =item * cecill
6179              
6180             =item * cecill_1
6181              
6182             =item * cecill_1_1
6183              
6184             =item * cecill_2
6185              
6186             =item * cecill_2_1
6187              
6188             =cut
6189              
6190             $RE{cecill} = {
6191             name => 'CECILL',
6192             'name.alt.org.wikidata.synth.nogrant' => 'Q1052189',
6193             'name.alt.misc.short_camelcase' => 'CeCILL',
6194             caption => 'CeCILL License',
6195             'caption.alt.misc.last.lang.en' =>
6196             'FREE SOFTWARE LICENSE AGREEMENT CeCILL',
6197             'caption.alt.org.steward.lang.en' =>
6198             'CeCILL FREE SOFTWARE LICENSE AGREEMENT',
6199             'caption.alt.org.steward.lang.fr' =>
6200             'CONTRAT DE LICENCE DE LOGICIEL LIBRE CeCILL',
6201             'caption.alt.org.wikidata' => 'CeCILL',
6202             'caption.alt.org.wikipedia' => 'CeCILL',
6203             'iri.alt.path.sloppy' => 'http://www.cecill.info',
6204             tags => [
6205             'type:versioned:decimal',
6206             ],
6207              
6208             'pat.alt.subject.name.lang.fr' => '(?:la )?licence CeCILL',
6209             'pat.alt.subject.grant.lang.fr' =>
6210             'Ce logiciel est r[é]gi par la licence CeCILL soumise',
6211             '_pat.alt.subject.license.lang.en' => [
6212             'Version 1\.1 of 10[/]26[/]2004',
6213             'Version 2\.0 dated 2006[-]09[-]05',
6214             'Version 2\.1 dated 2013[-]06[-]21',
6215             ],
6216             '_pat.alt.subject.license.lang.fr' => [
6217             'Version 1 du 21[/]06[/]2004',
6218             'Version 2\.0 du 2006[-]09[-]05',
6219             'Version 2\.1 du 2013[-]06[-]21',
6220             ],
6221             };
6222              
6223             $RE{cecill_1} = {
6224             name => 'CECILL-1.0',
6225             'name.alt.org.spdx' => 'CECILL-1.0',
6226             'name.alt.misc.fossology_old' => 'CeCILL1.0',
6227             'name.alt.misc.short_camelcase' => 'CeCILL-1.0',
6228             caption => 'CeCILL Free Software License Agreement v1.0',
6229             'caption.alt.org.steward' =>
6230             'CONTRAT DE LICENCE DE LOGICIEL LIBRE CeCILL Version 1',
6231             'caption.alt.org.tldr' =>
6232             'CeCILL Free Software License Agreement v1.0 (CECILL-1.0)',
6233             'caption.alt.misc.short' => 'CeCILL License 1.0',
6234             iri => 'https://cecill.info/licences/Licence_CeCILL_V1-fr.html',
6235             'iri.alt.format.txt' =>
6236             'https://cecill.info/licences/Licence_CeCILL_V1-fr.txt',
6237             'iri.alt.format.pdf' =>
6238             'https://cecill.info/licences/Licence_CeCILL-V1_VF.pdf',
6239             tags => [
6240             'type:singleversion:cecill',
6241             ],
6242             licenseversion => '1.0',
6243              
6244             'pat.alt.subject.license.lang.fr' => 'Version 1 du 21[/]06[/]2004',
6245             };
6246              
6247             $RE{cecill_1_1} = {
6248             name => 'CECILL-1.1',
6249             'name.alt.org.fedora.synth.nogrant' => 'CeCILL',
6250             'name.alt.org.spdx' => 'CECILL-1.1',
6251             'name.alt.misc.fossology_old' => 'CeCILL_v1.1',
6252             'name.alt.misc.fossology_old_short' => 'CeCILL1.1',
6253             'name.alt.misc.short_camelcase' => 'CeCILL-1.1',
6254             caption => 'CeCILL Free Software License Agreement v1.1',
6255             'caption.alt.org.fedora' => 'CeCILL License v1.1',
6256             'caption.alt.org.steward' =>
6257             'FREE SOFTWARE LICENSING AGREEMENT CeCILL Version 1.1',
6258             'caption.alt.org.tldr' =>
6259             'CeCILL Free Software License Agreement v1.1 (CECILL-1.1)',
6260             'caption.alt.misc.short' => 'CeCILL License 1.1',
6261             iri => 'https://cecill.info/licences/Licence_CeCILL_V1.1-US.html',
6262             'iri.alt.format.txt' =>
6263             'https://cecill.info/licences/Licence_CeCILL_V1.1-US.txt',
6264             'iri.alt.format.pdf' =>
6265             'https://cecill.info/licences/Licence_CeCILL-V1.1-VA.pdf',
6266             tags => [
6267             'type:singleversion:cecill',
6268             ],
6269             licenseversion => '1.1',
6270              
6271             'pat.alt.subject.license.part.header' => 'Version 1\.1 of 10[/]26[/]2004',
6272             'pat.alt.subject.license.scope.sentence.part.part1_initial_sw_en' =>
6273             'for the first time '
6274             . 'under the terms and conditions of the Agreement',
6275             'pat.alt.subject.license.scope.sentence.part.part2_en' =>
6276             'Agreement is to grant users the right '
6277             . 'to modify and redistribute the software governed',
6278             'pat.alt.subject.license.scope.sentence.part.part5_3_en' =>
6279             'redistribute copies '
6280             . 'of the modified or unmodified Software to third parties ',
6281             'pat.alt.subject.license.scope.sentence.part.part5_3_2_en' =>
6282             'to all the provisions hereof',
6283             'pat.alt.subject.license.scope.sentence.part.part5_3_3_en' =>
6284             'may be distributed under a separate Licensing Agreement',
6285             'pat.alt.subject.license.part.part5_3_4_en' =>
6286             'is subject to the provisions of the GPL License',
6287             'pat.alt.subject.license.scope.sentence.part.part6_1_1_en' =>
6288             'compliance with the terms and conditions '
6289             . 'under which the Holder has elected to distribute its work '
6290             . 'and no one shall be entitled to and',
6291             'pat.alt.subject.license.scope.sentence.part.part6_1_2_en' =>
6292             'the Agreement, for the duration',
6293             'pat.alt.subject.license.scope.sentence.part.part7_2_en' =>
6294             'shall be subject to a separate',
6295             'pat.alt.subject.license.part.part8_1_en' =>
6296             '(?:Subject to the provisions of Article 8\.2, should'
6297             . '|subject to providing evidence of it)',
6298             'pat.alt.subject.license.scope.sentence.part.part10_2_en' =>
6299             'all licenses that it may have granted '
6300             . 'prior to termination of the Agreement '
6301             . 'shall remain valid subject to their',
6302             'pat.alt.subject.license.scope.sentence.part.part12_3_en' =>
6303             'Any or all Software distributed '
6304             . 'under a given version of the Agreement '
6305             . 'may only be subsequently distributed '
6306             . 'under the same version of the Agreement, '
6307             . 'or a subsequent version, '
6308             . 'subject to the provisions of article',
6309             'pat.alt.subject.license.scope.paragraph.part.part13_1_en' =>
6310             'The Agreement is governed by French law[. ]'
6311             . 'The Parties agree to endeavor to settle',
6312             };
6313              
6314             $RE{cecill_2} = {
6315             name => 'CECILL-2.0',
6316             'name.alt.org.fedora.synth.nogrant' => 'CeCILL',
6317             'name.alt.org.spdx' => 'CECILL-2.0',
6318             'name.alt.org.tldr' => 'cecill-v2',
6319             'name.alt.misc.fossology_old' => 'CeCILL_v2.0',
6320             'name.alt.misc.fossology_old_short' => 'CeCILL2.0',
6321             'name.alt.misc.fossology_old_shorter' => 'CeCILL_v2',
6322             'name.alt.misc.short_camelcase' => 'CeCILL-2.0',
6323             caption => 'CeCILL Free Software License Agreement v2.0',
6324             'caption.alt.org.fedora' => 'CeCILL License v2',
6325             'caption.alt.org.steward.lang.en' =>
6326             'CeCILL FREE SOFTWARE LICENSE AGREEMENT Version 2.0',
6327             'caption.alt.org.steward.lang.fr' =>
6328             'CONTRAT DE LICENCE DE LOGICIEL LIBRE CeCILL Version 2.0',
6329             'caption.alt.org.tldr' =>
6330             'CeCILL Free Software License Agreement v2.0 (CECILL-2.0)',
6331             'caption.alt.misc.short' => 'CeCILL License 2.0',
6332             'iri.alt.lang.en' =>
6333             'https://cecill.info/licences/Licence_CeCILL_V2-en.html',
6334             'iri.alt.lang.fr' =>
6335             'https://cecill.info/licences/Licence_CeCILL_V2-fr.html',
6336             'iri.alt.format.txt.lang.en' =>
6337             'https://cecill.info/licences/Licence_CeCILL_V2-en.txt',
6338             'iri.alt.format.txt.lang.fr' =>
6339             'https://cecill.info/licences/Licence_CeCILL_V2-fr.txt',
6340             tags => [
6341             'type:singleversion:cecill',
6342             ],
6343             licenseversion => '2.0',
6344              
6345             'pat.alt.subject.license.lang.en' => 'Version 2\.0 dated 2006[-]09[-]05',
6346             'pat.alt.subject.license.lang.fr' => 'Version 2\.0 du 2006[-]09[-]05',
6347             'pat.alt.subject.license.part.gpl' =>
6348             'subject to the provisions of one of the versions of the GNU GPL, and',
6349             };
6350              
6351             $RE{cecill_2_1} = {
6352             name => 'CECILL-2.1',
6353             'name.alt.org.osi' => 'CECILL-2.1',
6354             'name.alt.org.spdx.since.date_20150930' => 'CECILL-2.1',
6355             'name.alt.org.trove' => 'CeCILL-2.1',
6356             caption => 'CeCILL Free Software License Agreement v2.1',
6357             'caption.alt.org.steward.lang.en' =>
6358             'CeCILL FREE SOFTWARE LICENSE AGREEMENT Version 2.1',
6359             'caption.alt.org.steward.lang.fr' =>
6360             'CONTRAT DE LICENCE DE LOGICIEL LIBRE CeCILL Version 2.1',
6361             'caption.alt.org.osi' =>
6362             'Cea Cnrs Inria Logiciel Libre License, version 2.1',
6363             'caption.alt.org.osi.misc.list' => 'CeCILL License 2.1',
6364             'caption.alt.org.trove' =>
6365             'CEA CNRS Inria Logiciel Libre License, version 2.1 (CeCILL-2.1)',
6366             'iri.alt.lang.en' =>
6367             'https://cecill.info/licences/Licence_CeCILL_V2.1-en.html',
6368             'iri.alt.lang.fr' =>
6369             'https://cecill.info/licences/Licence_CeCILL_V2.1-fr.html',
6370             'iri.alt.format.txt.lang.en' =>
6371             'https://cecill.info/licences/Licence_CeCILL_V2.1-en.txt',
6372             'iri.alt.format.txt.lang.fr' =>
6373             'https://cecill.info/licences/Licence_CeCILL_V2.1-fr.txt',
6374             tags => [
6375             'type:singleversion:cecill',
6376             ],
6377             licenseversion => '2.1',
6378              
6379             'pat.alt.subject.grant.lang.en' => 'governed by the CeCILL ?license',
6380             'pat.alt.subject.grant.lang.fr' =>
6381             'Ce logiciel est r[é]gi par la licence CeCILL soumise',
6382             'pat.alt.subject.license.lang.en' => 'Version 2\.1 dated 2013[-]06[-]21',
6383             'pat.alt.subject.license.lang.fr' => 'Version 2\.1 du 2013[-]06[-]21',
6384             'pat.alt.subject.license.part.gpl' =>
6385             'subject to the provisions of one of the versions of the GNU GPL, GNU',
6386             };
6387              
6388             =item * cecill_b
6389              
6390             =item * cecill_b_1
6391              
6392             I
6393              
6394             =cut
6395              
6396             $RE{cecill_b} = {
6397             name => 'CECILL-B',
6398             'name.alt.org.fedora' => 'CeCILL-B',
6399             'name.alt.misc.short_camelcase' => 'CeCILL-B',
6400             caption => 'CeCILL-B License',
6401             'caption.alt.org.steward.lang.en' =>
6402             'CeCILL-B FREE SOFTWARE LICENSE AGREEMENT',
6403             'caption.alt.org.steward.lang.fr' =>
6404             'CONTRAT DE LICENCE DE LOGICIEL LIBRE CeCILL-B',
6405             'caption.alt.org.trove' =>
6406             'CeCILL-B Free Software License Agreement (CECILL-B)',
6407             'iri.alt.lang.en' =>
6408             'https://cecill.info/licences/Licence_CeCILL-B_V1-en.html',
6409             'iri.alt.lang.fr' =>
6410             'https://cecill.info/licences/Licence_CeCILL-B_V1-en.html',
6411             'iri.alt.format.txt.lang.en' =>
6412             'https://cecill.info/licences/Licence_CeCILL-B_V1-en.txt',
6413             'iri.alt.format.txt.lang.fr' =>
6414             'https://cecill.info/licences/Licence_CeCILL-B_V1-fr.txt',
6415             tags => [
6416             'type:versioned:decimal',
6417             ],
6418              
6419             'pat.alt.subject.grant.lang.fr' =>
6420             'Ce logiciel est r[é]gi par la licence CeCILL-B soumise',
6421             'pat.alt.subject.license.lang.en' =>
6422             'The exercising of this freedom is conditional upon a strong',
6423             'pat.alt.subject.license.lang.fr' =>
6424             'aux utilisateurs une tr[è]s large libert[é] de',
6425             };
6426              
6427             $RE{cecill_b_1} = {
6428             name => 'CECILL-B-1.0',
6429             'name.alt.misc.short_camelcase' => 'CeCILL-B-1.0',
6430             'name.alt.org.spdx.synth.nogrant' => 'CECILL-B',
6431             caption => 'CeCILL-B Free Software License Agreement v1.0',
6432             'caption.alt.org.steward.lang.en' =>
6433             'CeCILL-B FREE SOFTWARE LICENSE AGREEMENT Version 1.0',
6434             'caption.alt.org.steward.lang.fr' =>
6435             'CONTRAT DE LICENCE DE LOGICIEL LIBRE CeCILL-B Version 1.0',
6436             'caption.alt.org.spdx.synth.nogrant' =>
6437             'CeCILL-B Free Software License Agreement',
6438             'caption.alt.misc.short' => 'CeCILL-B License 1.0',
6439             'iri.alt.lang.en' =>
6440             'https://cecill.info/licences/Licence_CeCILL-B_V1-en.html',
6441             'iri.alt.lang.fr' =>
6442             'https://cecill.info/licences/Licence_CeCILL-B_V1-en.html',
6443             'iri.alt.format.txt.lang.en' =>
6444             'https://cecill.info/licences/Licence_CeCILL-B_V1-en.txt',
6445             'iri.alt.format.txt.lang.fr' =>
6446             'https://cecill.info/licences/Licence_CeCILL-B_V1-fr.txt',
6447             tags => [
6448             'type:singleversion:cecill_b',
6449             ],
6450             licenseversion => '1.0',
6451              
6452             'pat.alt.subject.grant.lang.en' => 'governed by the CeCILL-B license',
6453             'pat.alt.subject.grant.lang.fr' =>
6454             'Ce logiciel est r[é]gi par la licence CeCILL-B soumise',
6455             'pat.alt.subject.license.lang.en' =>
6456             'The exercising of this freedom is conditional upon a strong',
6457             'pat.alt.subject.license.lang.fr' =>
6458             'aux utilisateurs une tr[è]s large libert[é] de',
6459             };
6460              
6461             =item * cecill_c
6462              
6463             =item * cecill_c_1
6464              
6465             I
6466              
6467             =cut
6468              
6469             # TODO: synthesize patterns (except name) from cecill_c_1: they are all duplicates
6470             $RE{cecill_c} = {
6471             name => 'CECILL-C',
6472             'name.alt.org.fedora' => 'CeCILL-C',
6473             'name.alt.misc.short_camelcase' => 'CeCILL-C',
6474             caption => 'CeCILL-C License',
6475             'caption.alt.org.steward.lang.en' =>
6476             'CeCILL-C FREE SOFTWARE LICENSE AGREEMENT',
6477             'caption.alt.org.steward.lang.fr' =>
6478             'CONTRAT DE LICENCE DE LOGICIEL LIBRE CeCILL-C',
6479             'caption.alt.org.trove' =>
6480             'CeCILL-C Free Software License Agreement (CECILL-C)',
6481             'iri.alt.lang.en' =>
6482             'https://cecill.info/licences/Licence_CeCILL-C_V1-en.html',
6483             'iri.alt.lang.fr' =>
6484             'https://cecill.info/licences/Licence_CeCILL-C_V1-fr.html',
6485             tags => [
6486             'type:versioned:decimal',
6487             ],
6488              
6489             'pat.alt.subject.grant.lang.fr' =>
6490             'Ce logiciel est r[é]gi par la licence CeCILL-C soumise',
6491             '_pat.alt.subject.license.lang.en' => [
6492             'The exercising of this right is conditional upon the obligation',
6493             'the Software modified or not;',
6494             ],
6495             '_pat.alt.subject.license.lang.fr' => [
6496             'aux utilisateurs la libert[é] de modifier et',
6497             'Logiciel modifi[é] ou non;',
6498             ],
6499             'pat.alt.subject.license.lang.en' => 'the Software modified or not;[ ]'
6500             . '[*)]to ensure that use of',
6501             'pat.alt.subject.license.lang.fr' => 'Logiciel modifi[é] ou non;[ ]'
6502             . '[*)][à] faire en sorte que',
6503             };
6504              
6505             $RE{cecill_c_1} = {
6506             name => 'CECILL-C-1.0',
6507             'name.alt.org.spdx.synth.nogrant' => 'CECILL-C',
6508             'name.alt.misc.short_camelcase' => 'CeCILL-C-1.0',
6509             caption => 'CeCILL-C Free Software License Agreement v1.0',
6510             'caption.alt.org.steward.lang.en' =>
6511             'CeCILL-C FREE SOFTWARE LICENSE AGREEMENT Version 1.0',
6512             'caption.alt.org.steward.lang.fr' =>
6513             'CONTRAT DE LICENCE DE LOGICIEL LIBRE CeCILL-C Version 1.0',
6514             'caption.alt.org.spdx.synth.nogrant' =>
6515             'CeCILL-C Free Software License Agreement',
6516             'caption.alt.misc.short' => 'CeCILL-C License 1.0',
6517             'iri.alt.lang.en' =>
6518             'https://cecill.info/licences/Licence_CeCILL-C_V1-en.html',
6519             'iri.alt.lang.fr' =>
6520             'https://cecill.info/licences/Licence_CeCILL-C_V1-fr.html',
6521             'iri.alt.format.txt.lang.en' =>
6522             'https://cecill.info/licences/Licence_CeCILL-C_V1-en.txt',
6523             'iri.alt.format.txt.lang.fr' =>
6524             'https://cecill.info/licences/Licence_CeCILL-C_V1-fr.txt',
6525             tags => [
6526             'type:singleversion:cecill_c',
6527             ],
6528             licenseversion => '1.0',
6529              
6530             '_pat.alt.subject.grant.lang.en' => [
6531             'under the terms of the CeCILL-C license',
6532             'governed by the CeCILL-C license',
6533             ],
6534             'pat.alt.subject.grant.lang.fr' =>
6535             'Ce logiciel est r[é]gi par la licence CeCILL-C soumise',
6536             '_pat.alt.subject.license.lang.en' => [
6537             'The exercising of this right is conditional upon the obligation',
6538             'the Software modified or not;',
6539             ],
6540             '_pat.alt.subject.license.lang.fr' => [
6541             'aux utilisateurs la libert[é] de modifier et',
6542             'Logiciel modifi[é] ou non;',
6543             ],
6544             'pat.alt.subject.license.scope.all.lang.en' =>
6545             'the Software modified or not;[ ]' . '[*)]to ensure that use of',
6546             'pat.alt.subject.license.scope.all.lang.fr' =>
6547             'Logiciel modifi[é] ou non;[ ]' . '[*)][à] faire en sorte que',
6548             };
6549              
6550             =item * cnri_jython
6551              
6552             =cut
6553              
6554             $RE{cnri_jython} = {
6555             name => 'CNRI-Jython',
6556             'name.alt.org.fedora' => 'JPython',
6557             'name.alt.org.spdx.since.date_20150730' => 'CNRI-Jython',
6558             caption => 'CNRI Jython License',
6559             'caption.alt.org.fedora' => 'JPython License (old)',
6560             'caption.alt.org.tldr' => 'CNRI Jython License',
6561             'caption.alt.org.steward' => 'JPython License',
6562             iri => 'http://www.jython.org/license.html',
6563              
6564             tags => [
6565             'type:unversioned',
6566             ],
6567              
6568             'pat.alt.subject.license' =>
6569             '[*)]CNRI is making the Software available to Licensee',
6570             };
6571              
6572             =item * cnri_python
6573              
6574             =cut
6575              
6576             $RE{cnri_python} = {
6577             name => 'CNRI-Python',
6578             'name.alt.org.fedora' => 'CNRI',
6579             'name.alt.org.osi' => 'CNRI-Python',
6580             'name.alt.org.osi.iri.stem.until.date_20110430' => 'pythonpl',
6581             'name.alt.org.spdx' => 'CNRI-Python',
6582             'name.alt.org.wikidata.synth.nogrant' => 'Q38365646',
6583             caption => 'CNRI Python License',
6584             'caption.alt.org.fedora' => 'CNRI License (Old Python)',
6585             'caption.alt.org.osi' => 'CNRI Python license',
6586             'caption.alt.org.osi.misc.shortname' => 'CNRI portion of Python License',
6587             'caption.alt.org.tldr' => 'CNRI Python License (CNRI-Python)',
6588             'caption.alt.org.wikidata' =>
6589             'CNRI portion of the multi-part Python License',
6590             'caption.alt.org.wikipedia' => 'Python License',
6591             'summary.alt.org.osi' =>
6592             'The CNRI portion of the multi-part Python License',
6593             iri =>
6594             'https://docs.python.org/3/license.html#cnri-license-agreement-for-python-1-6-1',
6595             'iri.alt.misc.handle' => 'http://hdl.handle.net/1895.22/1011',
6596              
6597             tags => [
6598             'type:unversioned',
6599             ],
6600              
6601             'pat.alt.subject.license' =>
6602             '[*)]CNRI is making Python 1\.6(?:b1)? available to Licensee',
6603             };
6604              
6605             =item * cnri_python_gpl_compat
6606              
6607             =cut
6608              
6609             $RE{cnri_python_gpl_compat} = {
6610             name => 'CNRI-Python-GPL-Compatible',
6611             'name.alt.org.spdx' => 'CNRI-Python-GPL-Compatible',
6612             caption => 'CNRI Python Open Source GPL Compatible License Agreement',
6613             iri => 'http://www.python.org/download/releases/1.6.1/download_win/',
6614             'iri.alt.misc.handle' => 'http://hdl.handle.net/1895.22/1013',
6615              
6616             tags => [
6617             'type:unversioned',
6618             ],
6619              
6620             'pat.alt.subject.license.part.part4' =>
6621             '[*)]CNRI is making Python 1\.6\.1 available to Licensee',
6622             'pat.alt.subject.license.scope.sentence.part.part7' =>
6623             'with regard to derivative works based on Python 1\.6\.1 '
6624             . 'that incorporate non-separable material '
6625             . 'that was previously distributed under the GNU General Public License',
6626             };
6627              
6628             =item * condor
6629              
6630             I
6631              
6632             =item * condor_1_1
6633              
6634             I
6635              
6636             =cut
6637              
6638             $RE{condor} = {
6639             name => 'Condor',
6640             'name.alt.org.fedora' => 'Condor',
6641             caption => 'Condor Public License',
6642             'caption.alt.org.tldr' => 'Condor Public License v1.1 (Condor-1.1)',
6643             tags => [
6644             'type:versioned:decimal',
6645             ],
6646             };
6647              
6648             $RE{condor_1_1} = {
6649             name => 'Condor-1.1',
6650             'name.alt.org.spdx.since.date_20130117' => 'Condor-1.1',
6651             caption => 'Condor Public License v1.1',
6652             tags => [
6653             'type:singleversion:condor',
6654             ],
6655             licenseversion => '1.1',
6656              
6657             'pat.alt.subject.license.scope.line.scope.sentence.part.clause5' =>
6658             'To the extent that patent claims licensable by',
6659             };
6660              
6661             =item * cpal
6662              
6663             =item * cpal_1
6664              
6665             =cut
6666              
6667             $RE{cpal} = {
6668             name => 'CPAL',
6669             'name.alt.org.wikidata.synth.nogrant' => 'Q1116195',
6670             caption => 'Common Public Attribution License',
6671             tags => [
6672             'type:versioned:decimal',
6673             ],
6674             };
6675              
6676             $RE{cpal_1} = {
6677             name => 'CPAL-1.0',
6678             'name.alt.org.fedora.synth.nogrant' => 'CPAL',
6679             'name.alt.org.osi' => 'CPAL-1.0',
6680             'name.alt.org.osi.iri.stem.until.date_20110430' => 'cpal_1.0',
6681             'name.alt.org.spdx' => 'CPAL-1.0',
6682             'name.alt.misc.fossology_old' => 'CPAL_v1.0',
6683             caption => 'Common Public Attribution License 1.0',
6684             'caption.alt.org.fedora' => 'CPAL License 1.0',
6685             'caption.alt.org.osi' => 'Common Public Attribution License Version 1.0',
6686             'caption.alt.org.osi.misc.list' =>
6687             'Common Public Attribution License 1.0',
6688             'caption.alt.org.tldr' =>
6689             'Common Public Attribution License Version 1.0 (CPAL-1.0)',
6690             'caption.alt.misc.fossology_old_short' => 'CPAL 1.0',
6691             tags => [
6692             'type:singleversion:cpal',
6693             ],
6694             licenseversion => '1.0',
6695              
6696             'pat.alt.subject.license.scope.multisection.part.header' =>
6697             'Common Public Attribution License Version 1\.0 [(]CPAL[)][ ]'
6698             . '[*)]["]?Definitions["]?',
6699             };
6700              
6701             =item * cpl
6702              
6703             I
6704              
6705             =item * cpl_1
6706              
6707             I
6708              
6709             =cut
6710              
6711             $RE{cpl} = {
6712             name => 'CPL',
6713             'name.alt.org.fedora' => 'CPL',
6714             'name.alt.org.wikidata.synth.nogrant' => 'Q2477807',
6715             'name.alt.misc.fossology_old' => 'CPL_v1.0',
6716             caption => 'Common Public License',
6717             'caption.alt.org.trove' => 'Common Public License',
6718             'caption.alt.org.wikipedia' => 'Common Public License',
6719             'caption.alt.misc.fossology_old_short' => 'CPL 1.0',
6720             description => <<'END',
6721             Origin: IBM Public License (IPL)
6722             END
6723             tags => [
6724             'type:versioned:decimal',
6725             ],
6726             };
6727              
6728             $RE{cpl_1} = {
6729             name => 'CPL-1.0',
6730             'name.alt.org.osi' => 'CPL-1.0',
6731             'name.alt.org.spdx' => 'CPL-1.0',
6732             caption => 'Common Public License 1.0',
6733             'caption.alt.org.osi' => 'Common Public License, version 1.0',
6734             'name.alt.org.osi.iri.stem_plain.until.date_20110430.archive.time_20110426131805'
6735             => 'cpl1.0',
6736             'caption.alt.org.osi.misc.list' => 'Common Public License 1.0',
6737             'caption.alt.org.tldr' => 'Common Public License 1.0 (CPL-1.0)',
6738             'caption.alt.misc.legal' => 'Common Public License Version 1.0',
6739             iri => 'https://www.ibm.com/developerworks/library/os-cpl.html',
6740             tags => [
6741             'type:singleversion:cpl',
6742             ],
6743             licenseversion => '1.0',
6744              
6745             'pat.alt.subject.license.scope.sentence' =>
6746             'IBM is the initial Agreement Steward',
6747             'pat.alt.subject.license.scope.multisection.part.head' =>
6748             '(?:Common Public License Version 1\.0[ ])?'
6749             . 'THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE [(]["]AGREEMENT["][)][. ]'
6750             . 'ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT[\']S ACCEPTANCE OF THIS AGREEMENT[.](?: |[ ])'
6751             . '[*)][ ]?DEFINITIONS[ ]'
6752             . '["]Contribution["] means[:"]?[ ]'
6753             . '[*)]in the case of the initial Contributor, the initial code',
6754             };
6755              
6756             =item * cpol
6757              
6758             =item * cpol_1_02
6759              
6760             =cut
6761              
6762             $RE{cpol} = {
6763             name => 'CPOL',
6764             'name.alt.org.wikidata.synth.nogrant' => 'Q5140041',
6765             caption => 'The Code Project Open License',
6766             'caption.alt.org.fedora' => 'CodeProject Open License (CPOL)',
6767             'caption.alt.org.wikidata' => 'Code Project Open License',
6768             tags => [
6769             'type:versioned:decimal',
6770             ],
6771             };
6772              
6773             $RE{cpol_1_02} = {
6774             name => 'CPOL-1.02',
6775             'name.alt.org.spdx.since.date_20130410' => 'CPOL-1.02',
6776             'name.alt.misc.fossology_old' => 'CPOL1.2',
6777             caption => 'Code Project Open License 1.02',
6778             'caption.alt.org.tldr' => 'The Code Project Open License (CPOL) 1.02',
6779             tags => [
6780             'type:singleversion:cpol',
6781             ],
6782             licenseversion => '1.02',
6783              
6784             'pat.alt.subject.license' => 'This License governs Your use of the Work',
6785             };
6786              
6787             =item * crossword
6788              
6789             I
6790              
6791             =cut
6792              
6793             $RE{crossword} = {
6794             name => 'Crossword',
6795             'name.alt.org.fedora.iri.self' => 'Crossword',
6796             'name.alt.org.spdx.since.date_20140807' => 'Crossword',
6797             caption => 'Crossword License',
6798             'caption.alt.org.tldr' => 'Crossword License',
6799             tags => [
6800             'license:is:grant',
6801             'type:unversioned',
6802             ],
6803              
6804             'pat.alt.subject.license.scope.sentence' =>
6805             'No author or distributor accepts responsibility to anyone for the consequences of using it',
6806             };
6807              
6808             =item * cryptix
6809              
6810             =cut
6811              
6812             $RE{cryptix} = {
6813             name => 'Cryptix',
6814             'name.alt.org.fsf' => 'CryptixGeneralLicense',
6815             'name.alt.org.wikidata.synth.nogrant' => 'Q5190781',
6816             caption => 'Cryptix Public License',
6817             'caption.alt.org.fedora' => 'Cryptix General License',
6818             'caption.alt.org.fsf' => 'Cryptix General License',
6819             'caption.alt.org.wikidata' => 'Cryptix General License',
6820             'caption.alt.org.wikipedia' => 'Cryptix General License',
6821             iri => 'http://cryptix.org/LICENSE.TXT',
6822             description => <<'END',
6823             Identical to BSD 2 Clause, except...
6824             * Redistribution of source must retain any (not only "above") legal text
6825             END
6826             tags => [
6827             'family:bsd',
6828             'license:is:grant',
6829             'type:unversioned',
6830             ],
6831              
6832             'pat.alt.subject.license.scope.multisection' =>
6833             $P{retain_notice_cond_discl_anywhere}
6834             . '[.][ ]'
6835             . $P{repro_copr_cond_discl}
6836             . '[.][ ]'
6837             . $P{asis_sw_by},
6838             };
6839              
6840             =item * cua_opl
6841              
6842             =item * cua_opl_1
6843              
6844             =cut
6845              
6846             $RE{cua_opl} = {
6847             name => 'CPAL',
6848             'name.alt.org.wikidata.synth.nogrant' => 'Q38365770',
6849             'name.alt.misc.fossology_old' => 'CUA',
6850             caption => 'CUA Office Public License',
6851             tags => [
6852             'type:versioned:decimal',
6853             ],
6854             };
6855              
6856             $RE{cua_opl_1} = {
6857             name => 'CPAL-1.0',
6858             'name.alt.org.fedora.synth.nogrant' => 'MPLv1.1',
6859             'name.alt.org.osi' => 'CUA-OPL-1.0',
6860             'name.alt.org.osi.iri.stem.until.date_20110430' => 'cuaoffice',
6861             'name.alt.org.spdx' => 'CUA-OPL-1.0',
6862             'name.alt.misc.fossology_old' => 'CUA_v1.0',
6863             caption => 'CUA Office Public License v1.0',
6864             'caption.alt.org.fedora' => 'CUA Office Public License Version 1.0',
6865             'caption.alt.org.osi.synth.nogrant' => 'CUA Office Public License',
6866             'caption.alt.org.osi.misc.list' =>
6867             'CUA Office Public License Version 1.0',
6868             'caption.alt.org.tldr' => 'CUA Office Public License v1.0 (CUA-OPL-1.0)',
6869             description => <<'END',
6870             Origin: Mozilla Public License Version 1.1
6871             END
6872             tags => [
6873             'type:singleversion:cua_opl',
6874             ],
6875             licenseversion => '1.0',
6876              
6877             'pat.alt.subject.license.scope.multisection.part.header' =>
6878             'CUA Office Public Attribution License Version 1\.0[ ]'
6879             . '[*)]["]?Definitions["]?',
6880             };
6881              
6882             =item * cube
6883              
6884             =cut
6885              
6886             $RE{cube} = {
6887             name => 'Cube',
6888             'name.alt.org.fedora.iri.self' => 'Cube',
6889             'name.alt.org.spdx.since.date_20140807' => 'Cube',
6890             caption => 'Cube License',
6891             'caption.alt.org.tldr' => 'Cube License',
6892             tags => [
6893             'family:zlib',
6894             'license:is:grant',
6895             'type:unversioned',
6896             ],
6897              
6898             'pat.alt.subject.license.scope.multisection' =>
6899             $P{origin_sw_no_misrepresent}
6900             . $P{you_not_claim_wrote} . '[. ]'
6901             . $P{use_ack_apprec_not_req}
6902             . '[.][ ]'
6903             . $P{altered_srcver_mark}
6904             . '[.][ ]'
6905             . $P{notice_no_alter_any}
6906             . '[.][ ]additional clause specific to Cube[:]?[ ]'
6907             . $P{src_no_relicense},
6908             };
6909              
6910             =item * curl
6911              
6912             =cut
6913              
6914             $RE{curl} = {
6915             'name.alt.org.spdx.since.date_20160103' => 'curl',
6916             'name.alt.org.wikidata.synth.nogrant' => 'Q33042394',
6917             caption => 'curl License',
6918             'caption.alt.org.tldr' => 'curl License',
6919             'caption.alt.org.wikidata' => 'curl license',
6920             tags => [
6921             'family:mit',
6922             'license:is:grant',
6923             'type:unversioned',
6924             ],
6925              
6926             'pat.alt.subject.license.scope.multisection' => $P{note_copr_perm}
6927             . '[.][ ]'
6928             . $P{asis_sw_warranty},
6929             };
6930              
6931             =item * cvw
6932              
6933             I
6934              
6935             =cut
6936              
6937             $RE{cvw} = {
6938             name => 'CVW',
6939             'name.alt.org.osi' => 'CVW',
6940             'name.alt.org.osi.iri.stem.until.date_20110430' => 'mitrepl',
6941             'name.alt.org.wikidata.synth.nogrant' => 'Q38365796',
6942             caption => 'MITRE Collaborative Virtual Workspace License',
6943             'caption.alt.org.fedora' =>
6944             'MITRE Collaborative Virtual Workspace License (CVW)',
6945             'caption.alt.org.osi' =>
6946             'The MITRE Collaborative Virtual Workspace License',
6947             'caption.alt.org.trove' =>
6948             'MITRE Collaborative Virtual Workspace License (CVW)',
6949             'caption.alt.org.osi.misc.list' =>
6950             'MITRE Collaborative Virtual Workspace License',
6951             'caption.alt.org.wikidata' =>
6952             'The MITRE Collaborative Virtual Workspace License',
6953             tags => [
6954             'type:unversioned',
6955             ],
6956              
6957             'pat.alt.subject.license' =>
6958             'Redistribution of the CVW software or derived works'
6959             . ' must reproduce MITRE[\']s copyright designation',
6960             };
6961              
6962             =item * d_fsl
6963              
6964             I
6965              
6966             =item * d_fsl_1
6967              
6968             I
6969              
6970             =cut
6971              
6972             $RE{d_fsl} = {
6973             name => 'D-FSL',
6974             caption => 'Deutsche Freie Software Lizenz',
6975             'caption.alt.misc.legal_grant.lang.de' =>
6976             'Deutschen Freien Software Lizenz',
6977             'caption.alt.misc.legal_grant.lang.en' => 'German Free Software License',
6978             'iri.alt.archive.time_20050208012625' => 'http://www.d-fsl.de/',
6979             'iri.alt.lang.de' =>
6980             'https://www.hbz-nrw.de/produkte/open-access/lizenzen/dfsl/deutsche-freie-software-lizenz',
6981             'iri.alt.lang.en' =>
6982             'https://www.hbz-nrw.de/produkte/open-access/lizenzen/dfsl/german-free-software-license',
6983             tags => [
6984             'type:versioned:decimal',
6985             ],
6986             };
6987              
6988             $RE{d_fsl_1} = {
6989             name => 'D-FSL-1.0',
6990             'name.alt.org.spdx.since.date_20130410' => 'D-FSL-1.0',
6991             caption => 'Deutsche Freie Software Lizenz 1.0',
6992             'caption.alt.org.spdx.since.date_20130410.synth.nogrant' =>
6993             'Deutsche Freie Software Lizenz',
6994             tags => [
6995             'type:singleversion:d_fsl',
6996             ],
6997             licenseversion => '1.0',
6998              
6999             'pat.alt.subject.license.scope.line.scope.sentence.part.section0.lang.de'
7000             => 'Die Beschreibung des Aufbaus und[/]oder der Struktur',
7001             'pat.alt.subject.license.scope.line.scope.sentence.part.section0.lang.en'
7002             => 'Description of composition, architecture and[/]or structure',
7003             };
7004              
7005             =item * dbad
7006              
7007             I
7008              
7009             =item * dbad_0_2
7010              
7011             I
7012              
7013             =item * dbad_0_3
7014              
7015             I
7016              
7017             =item * dbad_1
7018              
7019             I
7020              
7021             =item * dbad_1_1
7022              
7023             I
7024              
7025             =cut
7026              
7027             # TODO: include translations at http://www.dbad-license.org/
7028             $RE{dbad} = {
7029             name => 'DBAD',
7030             caption => 'DON\'T BE A DICK PUBLIC LICENSE',
7031             'caption.alt.misc.longer' => 'The "Dont Be a Dick" Public License',
7032             'caption.alt.misc.shorter' => 'the DBAD license',
7033             'caption.alt.org.tldr' => 'DON\'T BE A DICK PUBLIC LICENSE',
7034             iri => 'http://www.dbad-license.org/',
7035             tags => [
7036             'type:versioned:decimal',
7037             ],
7038              
7039             '_pat.alt.subject.license.scope.line.scope.sentence' => [
7040             'For legal purposes, the DBAD license is a(?: strict)? superset',
7041             "Do whatever you like with the original work, just don[']t be a dick",
7042             ],
7043             };
7044              
7045             $RE{dbad_0_2} = {
7046             name => 'DBAD-0.2',
7047             caption => 'DBAD Public License v0.2',
7048             'iri.alt.archive.time_20110112205017' =>
7049             'http://dbad-license.org/license',
7050             tags => [
7051             'type:singleversion:dbad',
7052             ],
7053             licenseversion => '0.2',
7054              
7055             'pat.alt.subject.license.scope.line.scope.sentence' =>
7056             'For legal purposes, the DBAD license is a superset',
7057             };
7058              
7059             $RE{dbad_0_3} = {
7060             name => 'DBAD-0.3',
7061             caption => 'DBAD Public License v0.3',
7062             'iri.alt.archive.time_20120322202702' =>
7063             'http://dbad-license.org/license',
7064             tags => [
7065             'type:singleversion:dbad',
7066             ],
7067             licenseversion => '0.3',
7068              
7069             'pat.alt.subject.license.scope.line.scope.sentence' =>
7070             'For legal purposes, the DBAD license is a strict superset',
7071             };
7072              
7073             $RE{dbad_1} = {
7074             name => 'DBAD-1',
7075             caption => 'DBAD Public License v1.0',
7076             'caption.alt.org.tldr.synth.nogrant' => 'DBAD Public License',
7077             'iri.alt.archive.time_20150618172510' => 'http://dbad-license.org/',
7078             tags => [
7079             'type:singleversion:dbad',
7080             ],
7081             licenseversion => '1.0',
7082              
7083             'pat.alt.subject.license.scope.line.scope.multisection' =>
7084             'Everyone is permitted'
7085             . ' to copy and distribute verbatim or modified copies of this license document'
7086             . ', and changing it is allowed as long as the name is changed'
7087             . '[.][ ]'
7088             . "[> ]DON[']T BE A DICK PUBLIC LICENSE"
7089             . '[ ][> ]TERMS AND CONDITIONS'
7090             . ' FOR COPYING, DISTRIBUTION AND MODIFICATION' . '[ ]'
7091             . '[*)]Do whatever you like with the original work, '
7092             . "just don[']t be a dick[.]",
7093             };
7094              
7095             $RE{dbad_1_1} = {
7096             name => 'DBAD-1.1',
7097             caption => 'DBAD Public License v1.1',
7098             'caption.alt.org.tldr.synth.nogrant' => "DON'T BE A DICK PUBLIC LICENSE",
7099             tags => [
7100             'type:singleversion:dbad',
7101             ],
7102             licenseversion => '1.1',
7103              
7104             'pat.alt.subject.license.scope.line.scope.multisection' =>
7105             'Everyone is permitted '
7106             . 'to copy and distribute verbatim or modified copies of this license document'
7107             . '[.][ ]'
7108             . "[> ]DON[']T BE A DICK PUBLIC LICENSE"
7109             . '[ ][> ]TERMS AND CONDITIONS'
7110             . ' FOR COPYING, DISTRIBUTION AND MODIFICATION' . '[ ]'
7111             . '[*)]Do whatever you like with the original work, '
7112             . "just don[']t be a dick[.]",
7113             };
7114              
7115             =item * dont_ask
7116              
7117             I
7118              
7119             =cut
7120              
7121             $RE{dont_ask} = {
7122             name => 'Dont-Ask',
7123             caption => "The Don't Ask Me About It License",
7124             'caption.alt.org.tldr' => "The Don't Ask Me About It License",
7125             tags => [
7126             'type:unversioned',
7127             ],
7128              
7129             'pat.alt.subject.license.scope.sentence' =>
7130             'Copying and distribution of this file, '
7131             . 'with or without modification, '
7132             . 'are permitted in any medium '
7133             . 'provided you do not contact the author '
7134             . 'about the file or any problems you are having with the file[.]',
7135             };
7136              
7137             =item * dsdp
7138              
7139             =cut
7140              
7141             $RE{dsdp} = {
7142             name => 'DSDP',
7143             'name.alt.org.fedora.iri.self' => 'DSDP',
7144             'name.alt.org.spdx.since.date_20140807' => 'DSDP',
7145             caption => 'DSDP License',
7146             'caption.alt.org.tldr' => 'DSDP License',
7147             'summary.alt.org.fedora.iri.mit' => 'MIT-style license, PetSC Variant',
7148             tags => [
7149             'family:mit',
7150             'license:is:grant',
7151             'type:unversioned',
7152             ],
7153              
7154             'pat.alt.subject.license.part.part1' =>
7155             'This program discloses material protectable',
7156             'pat.alt.subject.license.scope.paragraph' => $P{asis_expr_warranty}
7157             . '[. ]'
7158             . $P{perm_granted},
7159             };
7160              
7161             =item * ecl
7162              
7163             =item * ecl_1
7164              
7165             =item * ecl_2
7166              
7167             =cut
7168              
7169             $RE{ecl} = {
7170             name => 'ECL',
7171             'name.alt.org.wikidata.synth.nogrant' => 'Q5341236',
7172             caption => 'Educational Community License',
7173             'caption.alt.org.wikidata' => 'Educational Community License',
7174             'caption.alt.misc.long' => 'Educational Community License (ECL)',
7175             tags => [
7176             'type:versioned:decimal',
7177             ],
7178             };
7179              
7180             $RE{ecl_1} = {
7181             name => 'ECL-1.0',
7182             'name.alt.org.osi' => 'ECL-1.0',
7183             'name.alt.org.osi.iri.stem.until.date_20070704' => 'ecl1',
7184             'name.alt.org.spdx' => 'ECL-1.0',
7185             'name.alt.misc.fossology_old' => 'ECL1.0',
7186             caption => 'Educational Community License, Version 1.0',
7187             'caption.alt.org.fedora' => 'Educational Community License 1.0',
7188             'caption.alt.org.fedora.misc.short' => 'ECL 1.0',
7189             'caption.alt.org.osi' => 'Educational Community License, Version 1.0',
7190             'caption.alt.org.spdx' => 'Educational Community License v1.0',
7191             tags => [
7192             'type:singleversion:ecl',
7193             ],
7194             licenseversion => '1.0',
7195              
7196             'pat.alt.subject.license' =>
7197             'Licensed under the Educational Community License version 1.0',
7198             };
7199              
7200             $RE{ecl_2} = {
7201             name => 'ECL-2.0',
7202             'name.alt.org.osi' => 'ECL-2.0',
7203             'name.alt.org.osi.iri.stem.until.date_20110430' => 'ecl2',
7204             'name.alt.org.spdx' => 'ECL-2.0',
7205             'name.alt.org.tldr.path.short' => 'ecl-2.0',
7206             'name.alt.misc.fossology_old' => 'ECL2.0',
7207             caption => 'Educational Community License, Version 2.0',
7208             'caption.alt.org.fedora' => 'Educational Community License 2.0',
7209             'caption.alt.org.fedora.misc.short' => 'ECL 2.0',
7210             'caption.alt.org.spdx' => 'Educational Community License v2.0',
7211             'caption.alt.org.tldr' =>
7212             'Educational Community License, Version 2.0 (ECL-2.0)',
7213             'caption.alt.misc.short' => 'ECLv2',
7214             tags => [
7215             'type:singleversion:ecl',
7216             ],
7217             licenseversion => '2.0',
7218              
7219             'pat.alt.subject.license.scope.sentence' =>
7220             'Licensed under the[ ]Educational Community License, Version 2\.0',
7221             };
7222              
7223             =item * ecos_1_1
7224              
7225             I
7226              
7227             =cut
7228              
7229             # Yes, it is unversioned
7230             $RE{ecos_1_1} = {
7231             name => 'RHEPL',
7232             'name.alt.org.spdx' => 'RHeCos-1.1',
7233             caption => 'Red Hat eCos Public License v1.1',
7234             'caption.alt.misc.ecos_2_ref' => 'Red Hat eCos Public License',
7235             'caption.alt.org.tldr' => 'Red Hat eCos Public License v1.1 (RHeCos-1.1)',
7236             tags => [
7237             'type:unversioned',
7238             ],
7239              
7240             'pat.alt.subject.license.scope.sentence.part.section_1_13' =>
7241             '["]Red Hat Branded Code["] is code that Red Hat distributes',
7242             };
7243              
7244             =item * ecos_2
7245              
7246             I
7247              
7248             =cut
7249              
7250             # Yes, it is unversioned
7251             $RE{ecos_2} = {
7252             name => 'eCos-2.0',
7253             'name.alt.org.fedora.synth.nogrant' => 'eCos',
7254             'name.alt.org.osi' => 'eCos-2.0',
7255             'name.alt.org.spdx.until.date_20150513' => 'eCos-2.0',
7256             'name.alt.org.wikidata.synth.nogrant' => 'Q26904555',
7257             caption => 'eCos license version 2.0',
7258             'caption.alt.org.fedora' => 'eCos License v2.0',
7259             'caption.alt.org.osi' => 'eCos License version 2.0',
7260             'caption.alt.org.wikidata' => 'eCos-2.0',
7261             tags => [
7262             'contains.grant.gpl_2',
7263             'contains.trait.except_ecos_2',
7264             'type:unversioned',
7265             ],
7266              
7267             'pat.alt.subject.license.scope.sentence.part.grant' =>
7268             'eCos is free software; '
7269             . 'you can redistribute it and[/]or modify it '
7270             . 'under the terms of the GNU General Public License',
7271             'pat.alt.subject.license.scope.sentence.part.except_1' =>
7272             'if other files instantiate templates or use macros or inline functions from this file, '
7273             . 'or you compile this file and link it with other works',
7274             'pat.alt.subject.license.scope.line.scope.sentence.part.except_2' =>
7275             'However the source code for this file must still be made available',
7276             'pat.alt.subject.license.scope.line.scope.sentence.part.except_3' =>
7277             'This exception does not invalidate any other reasons why',
7278             };
7279              
7280             =item * efl
7281              
7282             I
7283              
7284             =item * efl_1
7285              
7286             I
7287              
7288             =item * efl_2
7289              
7290             I
7291              
7292             =cut
7293              
7294             $RE{efl} = {
7295             name => 'EFL',
7296             'name.alt.org.wikidata.synth.nogrant' => 'Q17011832',
7297             caption => 'Eiffel Forum License',
7298             'caption.alt.org.trove' => 'Eiffel Forum License',
7299             'caption.alt.org.trove.misc.long' => 'Eiffel Forum License (EFL)',
7300             'caption.alt.org.wikipedia' => 'Eiffel Forum License',
7301             'iri.alt.old.osi' => 'https://opensource.org/licenses/eiffel.html',
7302             tags => [
7303             'type:versioned:decimal',
7304             ],
7305             };
7306              
7307             $RE{efl_1} = {
7308             name => 'EFL-1',
7309             'name.alt.org.osi' => 'EFL-1.0',
7310             'name.alt.org.osi.iri.stem.until.date_20110430' => 'ver1_eiffel',
7311             'name.alt.org.spdx' => 'EFL-1.0',
7312             'name.alt.misc.fossology_old' => 'Eiffel_1.0',
7313             'name.alt.misc.fossology_old_short' => 'Eiffel_v1',
7314             caption => 'Eiffel Forum License v1.0',
7315             'caption.alt.org.fedora' => 'Eiffel Forum License 1.0',
7316             'caption.alt.org.fedora.iri.self' => 'Eiffel Forum License V1',
7317             'caption.alt.org.osi' => 'The Eiffel Forum License, version 1',
7318             'caption.alt.org.osi.misc.list' => 'Eiffel Forum License V1.0',
7319             'caption.alt.org.osi.misc.do_not_use_list' =>
7320             'Eiffel Forum License, version 1.0',
7321             iri => 'http://www.opensource.org/licenses/eiffel.php',
7322             'iri.alt.format.txt' => 'http://www.eiffel-nice.org/license/forum.txt',
7323             tags => [
7324             'license:is:grant',
7325             'type:singleversion:efl',
7326             ],
7327             licenseversion => '1.0',
7328              
7329             'pat.alt.subject.license.scope.sentence.part.publish_clause' =>
7330             'you must publicly release the modified version of this package',
7331             };
7332              
7333             $RE{efl_2} = {
7334             name => 'EFL-2',
7335             'name.alt.org.osi' => 'EFL-2.0',
7336             'name.alt.org.osi.iri.stem.until.date_20110430' => 'ver2_eiffel',
7337             'name.alt.org.spdx' => 'EFL-2.0',
7338             'name.alt.misc.fossology_old' => 'Eiffel_2.0',
7339             'name.alt.misc.fossology_old_short' => 'Eiffel_v2',
7340             caption => 'Eiffel Forum License v2.0',
7341             'caption.alt.org.fedora' => 'Eiffel Forum License 2.0',
7342             'caption.alt.org.fedora.misc.short' => 'EFL 2.0',
7343             'caption.alt.org.osi' => 'Eiffel Forum License, Version 2',
7344             'caption.alt.org.osi.misc.list' => 'Eiffel Forum License V2.0',
7345             'caption.alt.org.tldr' => 'Eiffel Forum License v2.0 (EFL-2.0)',
7346             iri => 'http://www.eiffel-nice.org/license/eiffel-forum-license-2.html',
7347             'iri.alt.format.txt' =>
7348             'http://www.eiffel-nice.org/license/eiffel-forum-license-2.txt',
7349             tags => [
7350             'license:is:grant',
7351             'type:singleversion:efl',
7352             ],
7353             licenseversion => '2.0',
7354              
7355             'pat.alt.subject.license.scope.sentence.part.publish_clause' =>
7356             'you are encouraged to publicly release the modified version of this package',
7357             };
7358              
7359             =item * entessa
7360              
7361             I
7362              
7363             =cut
7364              
7365             $RE{entessa} = {
7366             name => 'Entessa',
7367             'name.alt.org.fedora' => 'Entessa',
7368             'name.alt.org.osi' => 'Entessa',
7369             'name.alt.org.osi.iri.stem.until.date_20110430' => 'entessa',
7370             'name.alt.org.spdx' => 'Entessa',
7371             'name.alt.misc.fossology_old' => 'Entessa1.0',
7372             'name.alt.org.wikidata.synth.nogrant' => 'Q38366115',
7373             caption => 'Entessa Public License v1.0',
7374             'caption.alt.org.fedora' => 'Entessa Public License',
7375             'caption.alt.org.osi' => 'Entessa Public License Version. 1.0',
7376             'caption.alt.org.osi.misc.list' => 'Entessa Public License',
7377             'caption.alt.org.tldr' => 'Entessa Public License v1.0 (Entessa)',
7378             'caption.alt.org.wikidata' => 'Entessa Public License',
7379             description => <<'END',
7380             Identical to Apache 1.1, except...
7381             * replace "Apache" and "Apache Software Foundation" with "Entessa" and "OpenSeal"
7382             * replace "software" with "open source software" in notice inclusion clause
7383             END
7384             tags => [
7385             'license:is:grant',
7386             'type:unversioned',
7387             ],
7388              
7389             'pat.alt.subject.license.scope.sentence.part.notice_inclusion_clause' =>
7390             'This product includes open source software developed by openSEAL',
7391             };
7392              
7393             =item * epl
7394              
7395             =item * epl_1
7396              
7397             =item * epl_2
7398              
7399             =cut
7400              
7401             $RE{epl} = {
7402             name => 'EPL',
7403             'name.alt.misc.fossology_old' => 'Eclipse',
7404             'name.alt.org.wikidata.synth.nogrant' => 'Q1281977',
7405             caption => 'Eclipse Public License',
7406             'caption.alt.org.wikipedia' => 'Eclipse Public License',
7407             description => <<'END',
7408             Origin: Common Public License (CPL)
7409             END
7410             tags => [
7411             'type:versioned:decimal',
7412             ],
7413              
7414             # TODO: readd when children cover same region
7415             # 'pat.alt.subject.license.scope.sentence' =>
7416             # 'The Eclipse Foundation is the initial Agreement Steward',
7417             };
7418              
7419             $RE{epl_1} = {
7420             name => 'EPL-1.0',
7421             'name.alt.org.fedora' => 'EPL-1.0',
7422             'name.alt.org.osi' => 'EPL-1.0',
7423             'name.alt.org.osi.iri.stem_plain.until.date_20110430.archive.time_20110426131805'
7424             => 'eclipse-1.0',
7425             'name.alt.org.spdx' => 'EPL-1.0',
7426             'name.alt.org.wikidata.synth.nogrant' => 'Q55633170',
7427             'name.alt.misc.fossology_old' => 'Eclipse_1.0',
7428             caption => 'Eclipse Public License 1.0',
7429             'caption.alt.org.tldr' => 'Eclipse Public License 1.0 (EPL-1.0)',
7430             'caption.alt.org.trove' => 'Eclipse Public License 1.0 (EPL-1.0)',
7431             'caption.alt.misc.legal' => 'Eclipse Public License - v 1.0',
7432             tags => [
7433             'type:singleversion:epl',
7434             ],
7435             licenseversion => '1.0',
7436              
7437             'pat.alt.subject.license.scope.sentence' =>
7438             'Eclipse Public License[ - ]v 1\.0[ ]THE ACCOMPANYING',
7439             'pat.alt.subject.license.scope.multisection.part.head' =>
7440             '(?:Eclipse Public License[ - ]v 1\.0[ ])?'
7441             . 'THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC LICENSE [(]["]AGREEMENT["][)][. ]'
7442             . 'ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT[\']S ACCEPTANCE OF THIS AGREEMENT[.](?: |[ ])'
7443             . '[*)][ ]?DEFINITIONS[ ]'
7444             . '["]Contribution["] means[:"]?[ ]'
7445             . '[*)]in the case of the initial Contributor, the initial code',
7446             };
7447              
7448             $RE{epl_2} = {
7449             name => 'EPL-2.0',
7450             'name.alt.org.fedora' => 'EPL-2.0',
7451             'name.alt.org.osi' => 'EPL-2.0',
7452             'name.alt.org.spdx.since.date_20171228' => 'EPL-2.0',
7453             'name.alt.org.wikidata.synth.nogrant' => 'Q55633295',
7454             caption => 'Eclipse Public License 2.0',
7455             'caption.alt.org.osi' => 'Eclipse Public License version 2.0',
7456             'caption.alt.org.osi.misc.list' => 'Eclipse Public License 2.0',
7457             'caption.alt.org.trove' => 'Eclipse Public License 2.0 (EPL-2.0)',
7458             'caption.alt.misc.legal' => 'Eclipse Public License - v 2.0',
7459             tags => [
7460             'type:singleversion:epl',
7461             ],
7462             licenseversion => '2.0',
7463              
7464             'pat.alt.subject.license.scope.sentence' =>
7465             'Eclipse Public License[ - ]v 2\.0[ ]THE ACCOMPANYING',
7466             'pat.alt.subject.license.scope.multisection.part.head' =>
7467             '(?:Eclipse Public License[ - ]v 1\.0[ ])?'
7468             . 'THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC LICENSE [(]["]AGREEMENT["][)][. ]'
7469             . 'ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT[\']S ACCEPTANCE OF THIS AGREEMENT[.](?: |[ ])'
7470             . '[*)][ ]?DEFINITIONS[ ]'
7471             . '["]Contribution["] means[:"]?[ ]'
7472             . '[*)]in the case of the initial Contributor, the initial content',
7473             };
7474              
7475             =item * erlpl
7476              
7477             I
7478              
7479             =item * erlpl_1_1
7480              
7481             I
7482              
7483             =cut
7484              
7485             $RE{erlpl} = {
7486             name => 'ErlPL',
7487             'name.alt.org.wikidata.synth.nogrant' => 'Q3731857',
7488             caption => 'Erlang Public License',
7489             tags => [
7490             'type:versioned:decimal',
7491             ],
7492             };
7493              
7494             $RE{erlpl_1_1} = {
7495             name => 'ErlPL-1.1',
7496             'name.alt.org.fedora.synth.nogrant' => 'ERPL',
7497             'name.alt.org.fedora.iri.self.synth.nogrant' => 'ErlangPublicLicense',
7498             'name.alt.org.spdx' => 'ErlPL-1.1',
7499             caption => 'Erlang Public License v1.1',
7500             'caption.alt.org.fedora' => 'Erlang Public License 1.1',
7501             'caption.alt.org.tldr' => 'Erlang Public License v1.1 (ErlPL-1.1)',
7502             description => <<'END',
7503             Origin: Mozilla Public License 1.0
7504             END
7505             tags => [
7506             'type:singleversion:erlpl',
7507             ],
7508             licenseversion => '1.1',
7509              
7510             'pat.alt.subject.license.scope.multiparagraph.part.head' =>
7511             'ERLANG PUBLIC LICENSE[ ]Version 1\.1[ ]' . '[*)]Definitions',
7512             };
7513              
7514             =item * eudatagrid
7515              
7516             I
7517              
7518             =cut
7519              
7520             $RE{eudatagrid} = {
7521             name => 'EUDatagrid',
7522             'name.alt.org.osi' => 'EUDatagrid',
7523             'name.alt.org.osi.iri.stem.until.date_20110430' => 'eudatagrid',
7524             'name.alt.org.spdx' => 'EUDatagrid',
7525             'name.alt.org.wikidata.synth.nogrant' => 'Q38365944',
7526             'name.alt.misc.fossology_old_short' => 'Datagrid',
7527             caption => 'EU DataGrid Software License',
7528             'caption.alt.org.fedora' => 'EU Datagrid Software License',
7529             'caption.alt.org.fedora.misc.short' => 'EU Datagrid',
7530             'caption.alt.org.tldr' => 'EU DataGrid Software License (EUDatagrid)',
7531             tags => [
7532             'type:unversioned',
7533             ],
7534              
7535             'pat.alt.subject.license.scope.line.scope.sentence' =>
7536             'This software includes voluntary contributions made to the EU DataGrid',
7537             };
7538              
7539             =item * eupl
7540              
7541             =item * eupl_1
7542              
7543             =item * eupl_1_1
7544              
7545             =item * eupl_1_2
7546              
7547             =cut
7548              
7549             $RE{eupl} = {
7550             name => 'EUPL',
7551             'name.alt.org.wikidata.synth.nogrant' => 'Q1376919',
7552             caption => 'European Union Public License',
7553             'caption.alt.org.wikidata' => 'European Union Public Licence',
7554             'caption.alt.org.wikipedia' => 'European Union Public Licence',
7555             tags => [
7556             'type:versioned:decimal',
7557             ],
7558             };
7559              
7560             $RE{eupl_1} = {
7561             name => 'EUPL-1.0',
7562             'name.alt.org.spdx' => 'EUPL-1.0',
7563             caption => 'European Union Public License, Version 1.0',
7564             'caption.alt.org.fedora' => 'European Union Public License v1.0',
7565             'caption.alt.org.spdx' => 'European Union Public License 1.0',
7566             'caption.alt.org.trove' => 'European Union Public Licence 1.0 (EUPL 1.0)',
7567             'caption.alt.org.trove.misc.short' => 'EUPL 1.0',
7568             tags => [
7569             'license:contains:grant',
7570             'type:singleversion:eupl',
7571             ],
7572             licenseversion => '1.0',
7573              
7574             'pat.alt.subject.license.scope.multisection.part.header' =>
7575             'Licensed under the EUPL V\.1\.0[ ]or has expressed'
7576             };
7577              
7578             $RE{eupl_1_1} = {
7579             name => 'EUPL-1.1',
7580             'name.alt.org.spdx' => 'EUPL-1.1',
7581             'name.alt.org.tldr' => 'european-union-public-licence',
7582             'name.alt.org.tldr.path.short' => 'eupl-1.1',
7583             caption => 'European Union Public License, Version 1.1',
7584             'caption.alt.org.fedora' => 'European Union Public License 1.1',
7585             'caption.alt.org.fedora.misc.short' => 'EUPL 1.1',
7586             'caption.alt.org.spdx' => 'European Union Public License 1.1',
7587             'caption.alt.org.tldr' => 'European Union Public License 1.1 (EUPL-1.1)',
7588             'caption.alt.org.trove' => 'European Union Public Licence 1.1 (EUPL 1.1)',
7589             'caption.alt.org.trove.misc.short' => 'EUPL 1.1',
7590             tags => [
7591             'license:contains:grant',
7592             'type:singleversion:eupl',
7593             ],
7594             licenseversion => '1.1',
7595              
7596             'pat.alt.subject.license.scope.multisection.part.header' =>
7597             'Licensed under the EUPL V\.1\.1[ ]or has expressed'
7598             };
7599              
7600             $RE{eupl_1_2} = {
7601             name => 'EUPL-1.2',
7602             'name.alt.org.osi' => 'EUPL-1.2',
7603             'name.alt.org.spdx.since.date_20171228' => 'EUPL-1.2',
7604             caption => 'European Union Public License, Version 1.2',
7605             'caption.alt.org.fedora' => 'European Union Public License 1.2',
7606             'caption.alt.org.fedora.misc.short' => 'EUPL 1.2',
7607             'caption.alt.org.osi' => 'European Union Public License, version 1.2',
7608             'caption.alt.org.osi.misc.list' => 'European Union Public License 1.2',
7609             'caption.alt.org.osi.misc.cat_list.synth.nogrant' =>
7610             'European Union Public License',
7611             'caption.alt.org.spdx' => 'European Union Public License 1.2',
7612             'caption.alt.org.trove' => 'European Union Public Licence 1.2 (EUPL 1.2)',
7613             'caption.alt.org.trove.misc.short' => 'EUPL 1.2',
7614             'iri.alt.org.wikipedia' =>
7615             'https://en.wikipedia.org/wiki/European_Union_Public_Licence#Version_1.2',
7616             tags => [
7617             'license:contains:grant',
7618             'type:singleversion:eupl',
7619             ],
7620             licenseversion => '1.2',
7621              
7622             'pat.alt.subject.license.scope.multisection.part.header' =>
7623             'Licensed under the EUPL[ ]or has expressed'
7624             };
7625              
7626             =item * eurosym
7627              
7628             =cut
7629              
7630             $RE{eurosym} = {
7631             name => 'Eurosym',
7632             'name.alt.org.fedora.iri.self' => 'Eurosym',
7633             'name.alt.org.spdx.since.date_20140807' => 'Eurosym',
7634             caption => 'Eurosym License',
7635             'caption.alt.org.tldr' => 'Eurosym License',
7636             tags => [
7637             'family:zlib',
7638             'license:is:grant',
7639             'type:unversioned',
7640             ],
7641              
7642             'pat.alt.subject.license.scope.multisection' =>
7643             $P{origin_sw_no_misrepresent}
7644             . $P{you_not_claim_wrote} . '[. ]'
7645             . $P{use_ack_apprec}
7646             . '[.][ ]'
7647             . $P{altered_srcver_mark}
7648             . '[.][ ]' . '[*)]?'
7649             . $P{you_not_use_ad_dist}
7650             . $P{without_written_prior}
7651             . '[.][ ]' . '[*)]?'
7652             . $P{change_redist_share}
7653             . '[.][ ]'
7654             . $P{notice_no_alter},
7655             };
7656              
7657             =item * fair
7658              
7659             I
7660              
7661             =cut
7662              
7663             $RE{fair} = {
7664             name => 'Fair',
7665             'name.alt.org.fedora' => 'Fair',
7666             'name.alt.org.osi' => 'Fair',
7667             'name.alt.org.osi.iri.stem.until.date_20110430' => 'fair',
7668             'name.alt.org.spdx' => 'Fair',
7669             'name.alt.org.tldr' => 'fair-license',
7670             'name.alt.org.tldr.path.short' => 'fair',
7671             'name.alt.org.wikidata.synth.nogrant' => 'Q22682017',
7672             caption => 'Fair License',
7673             'caption.alt.org.tldr' => 'Fair License (Fair)',
7674             tags => [
7675             'license:is:grant',
7676             'type:unversioned',
7677             ],
7678              
7679             'pat.alt.subject.license.scope.line.scope.sentence' =>
7680             'Usage of the works is permitted provided that this instrument',
7681             };
7682              
7683             =item * fair_source
7684              
7685             I
7686              
7687             =item * fair_source_0_9
7688              
7689             I
7690              
7691             =cut
7692              
7693             $RE{fair_source} = {
7694             name => 'Fair-Source',
7695             caption => 'Fair Source License',
7696             tags => [
7697             'type:versioned:decimal',
7698             ],
7699             };
7700              
7701             $RE{fair_source_0_9} = {
7702             name => 'Fair-Source-0.9',
7703             caption => 'Fair Source License, version 0.9',
7704             'caption.alt.org.tldr' => 'Fair Source License 0.9 (Fair-Source-0.9)',
7705             iri => 'https://fair.io/#license',
7706             'iri.alt.format.txt' => 'https://fair.io/v0.9.txt',
7707             tags => [
7708             'type:singleversion:fair_source',
7709             ],
7710             licenseversion => '0.9',
7711              
7712             'pat.alt.subject.license.scope.line.scope.sentence' =>
7713             'Licensor hereby grants to each recipient',
7714             };
7715              
7716             =item * fal
7717              
7718             I
7719              
7720             =item * fal_1_1
7721              
7722             I
7723              
7724             =item * fal_1_2
7725              
7726             I
7727              
7728             =item * fal_1_3
7729              
7730             I
7731              
7732             =cut
7733              
7734             $RE{fal} = {
7735             name => 'FAL',
7736             caption => 'Free Art License',
7737             'caption.alt.org.fedora' => 'Free Art License',
7738             'caption.alt.org.fedora.misc.short' => 'Free Art',
7739             'caption.alt.misc.legal.lang.de' => 'Lizenz Freie Kunst',
7740             'caption.alt.misc.legal.lang.es' => 'Licencia Arte Libre',
7741             'caption.alt.misc.legal.lang.fr' => 'Licence Art Libre',
7742             'caption.alt.misc.legal.lang.it' => 'Licenza Arte Libera',
7743             'caption.alt.misc.legal.lang.pl' => 'Licencja Wolnej Sztuki',
7744             iri => 'https://artlibre.org/',
7745             tags => [
7746             'type:versioned:decimal',
7747             ],
7748             };
7749              
7750             $RE{fal_1_1} = {
7751             name => 'FAL-1.1',
7752             caption => 'Free Art License 1.1',
7753             'caption.alt.misc.legal.lang.de' => 'Lizenz Freie Kunst 1.1',
7754             tags => [
7755             'type:singleversion:fal',
7756             ],
7757             licenseversion => '1.1',
7758              
7759             'pat.alt.subject.license.scope.line.scope.sentence.lang.de' =>
7760             'Durch die Lizenz ["] ?Freie Kunst ?["] wird die Erlaubnis verliehen',
7761             };
7762              
7763             $RE{fal_1_2} = {
7764             name => 'FAL-1.2',
7765             caption => 'Free Art License 1.2',
7766             'caption.alt.misc.legal.lang.es' => 'Licencia Arte Libre 1.2',
7767             'caption.alt.misc.legal.lang.fr' => 'Licence Art Libre 1.2',
7768             'caption.alt.misc.legal.lang.it' => 'Licenza Arte Libera 1.2',
7769             iri => 'https://artlibre.org/licence/lal/licence-art-libre-12/',
7770             'iri.alt.archive.time_20051027003023.lang.en' =>
7771             'https://artlibre.org/licence/lal/en/',
7772             tags => [
7773             'type:singleversion:fal',
7774             ],
7775             licenseversion => '1.2',
7776              
7777             'pat.alt.subject.license.scope.line.scope.sentence.lang.en' =>
7778             'With this Free Art License, you are authorised',
7779             'pat.alt.subject.license.scope.line.scope.sentence.lang.es' =>
7780             'La Licencia Arte Libre [(]LAL[)] le autoriza a copiar',
7781             'pat.alt.subject.license.scope.line.scope.sentence.lang.fr' =>
7782             'Avec cette Licence Art Libre, l’autorisation est',
7783             'pat.alt.subject.license.scope.line.scope.sentence.lang.it' =>
7784             'Con questa licenza Arte Libera è permesso copiare',
7785             };
7786              
7787             $RE{fal_1_3} = {
7788             name => 'FAL-1.3',
7789             'name.alt.org.tldr.path.short.synth.nogrant' => 'fal',
7790             caption => 'Free Art License 1.3',
7791             'caption.alt.misc.legal.lang.de' => 'Lizenz Freie Kunst 1.3',
7792             'caption.alt.misc.legal.lang.en' => 'Free Art License 1.3 (FAL 1.3)',
7793             'caption.alt.misc.legal.lang.fr' => 'Licence Art Libre 1.3 (LAL 1.3)',
7794             'caption.alt.misc.legal.lang.pl' => 'Licencja Wolnej Sztuki 1.3',
7795             'caption.alt.misc.legal.lang.pt' => 'Licença da Arte Livre 1.3',
7796             'caption.alt.org.tldr.synth.nogrant' => 'Free Art License (FAL)',
7797             'iri.alt.misc.canonical.lang.de' =>
7798             'https://artlibre.org/licence/lal/de1-3/',
7799             tags => [
7800             'type:singleversion:fal',
7801             ],
7802             licenseversion => '1.3',
7803              
7804             'pat.alt.subject.license.scope.line.scope.sentence.lang.de' =>
7805             'Mit der Lizenz Freie Kunst wird die Genehmigung erteilt',
7806             'pat.alt.subject.license.scope.line.scope.sentence.lang.en' =>
7807             'The Free Art License grants the right to freely copy',
7808             'pat.alt.subject.license.scope.line.scope.sentence.lang.fr' =>
7809             'Avec la Licence Art Libre, l’autorisation est',
7810             'pat.alt.subject.license.scope.line.scope.sentence.lang.pl' =>
7811             'Licencja Wolnej Sztuki przyznaje prawo do swobodnego kopiowania',
7812             'pat.alt.subject.license.scope.line.scope.sentence.lang.pt' =>
7813             'A Licença da Arte Livre autoriza você a copiar livremente',
7814             };
7815              
7816             =item * festival
7817              
7818             I
7819              
7820             =cut
7821              
7822             $RE{festival} = {
7823             name => 'Festival',
7824             'name.alt.org.fedora.iri.mit_short' => 'Festival',
7825             'summary.alt.org.fedora.iri.mit' => 'MIT-style license, Festival variant',
7826             tags => [
7827             'family:mit',
7828             'license:is:grant',
7829             'type:unversioned',
7830             ],
7831              
7832             'pat.alt.subject.license.scope.line.scope.sentence.part.clause2' =>
7833             "Original authors['] names are not deleted",
7834             };
7835              
7836             =item * frameworx
7837              
7838             I
7839              
7840             =item * frameworx_1
7841              
7842             I
7843              
7844             =cut
7845              
7846             $RE{frameworx} = {
7847             name => 'Frameworx',
7848             'name.alt.org.wikidata.synth.nogrant' => 'Q5477987',
7849             caption => 'Frameworx License',
7850             tags => [
7851             'type:versioned:decimal',
7852             ],
7853             };
7854              
7855             $RE{frameworx_1} = {
7856             name => 'Frameworx-1.0',
7857             'name.alt.org.osi' => 'Frameworx-1.0',
7858             'name.alt.org.osi.iri.stem.until.date_20110430.synth.nogrant' =>
7859             'frameworx',
7860             'name.alt.org.spdx' => 'Frameworx-1.0',
7861             'name.alt.misc.fossology_old' => 'Frameworx_v1.0',
7862             'name.alt.misc.fossology_old_short' => 'Frameworx1.0',
7863             caption => 'Frameworx Open License 1.0',
7864             'caption.alt.org.fedora.synth.nogrant' => 'Frameworx License',
7865             'caption.alt.org.osi' => 'Frameworx License 1.0',
7866             'caption.alt.org.osi.misc.list.synth.nogrant' => 'Frameworx License',
7867             'caption.alt.org.tldr' => 'Frameworx Open License 1.0 (Frameworx-1.0)',
7868             tags => [
7869             'type:singleversion:frameworx',
7870             ],
7871             licenseversion => '1.0',
7872              
7873             'pat.alt.subject.license.scope.line.scope.sentence.part.intro' =>
7874             'This License Agreement, The Frameworx Open License 1.0, has',
7875             'pat.alt.subject.license.scope.sentence.part.license_file_clause' =>
7876             'contain an unaltered copy of the text file named the_frameworx_license\.txt',
7877             };
7878              
7879             =item * fsfap
7880              
7881             =cut
7882              
7883             $RE{fsfap} = {
7884             name => 'FSFAP',
7885             'name.alt.org.fedora.iri.self' => 'FSFAP',
7886             'name.alt.org.fsf' => 'GNUAllPermissive',
7887             'name.alt.org.spdx.since.date_20160323' => 'FSFAP',
7888             caption => 'FSF All Permissive License',
7889             'caption.alt.org.fedora' => 'FSF All Permissive license',
7890             'caption.alt.org.fsf' => 'GNU All-Permissive License',
7891             iri =>
7892             'https://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html',
7893             tags => [
7894             'license:is:grant',
7895             'type:unversioned',
7896             ],
7897              
7898             'pat.alt.subject.license.scope.sentence' =>
7899             'Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved',
7900             };
7901              
7902             =item * fsful
7903              
7904             =cut
7905              
7906             $RE{fsful} = {
7907             name => 'FSFUL',
7908             'name.alt.org.fedora' => 'FSFUL',
7909             'name.alt.org.spdx.since.date_20140807' => 'FSFUL',
7910             caption => 'FSF Unlimited License',
7911             'caption.alt.org.fedora.iri.self' => 'FSF Unlimited License',
7912             tags => [
7913             'license:is:grant',
7914             'type:unversioned',
7915             ],
7916              
7917             'pat.alt.subject.license.scope.sentence' =>
7918             "This configure script is free software; $fsf_ul",
7919             };
7920              
7921             =item * fsfullr
7922              
7923             =cut
7924              
7925             $RE{fsfullr} = {
7926             name => 'FSFULLR',
7927             'name.alt.org.fedora' => 'FSFULLR',
7928             'name.alt.org.spdx.since.date_20140807' => 'FSFULLR',
7929             caption => 'FSF Unlimited License (with License Retention)',
7930             tags => [
7931             'license:is:grant',
7932             'type:unversioned',
7933             ],
7934              
7935             'pat.alt.subject.license.scope.sentence' =>
7936             "This file is free software; $fsf_ullr",
7937             };
7938              
7939             =item * ftl
7940              
7941             =cut
7942              
7943             $RE{ftl} = {
7944             name => 'FTL',
7945             'name.alt.org.fedora' => 'FTL',
7946             'name.alt.org.spdx.since.date_20130117' => 'FTL',
7947             'name.alt.misc.fossology_old' => 'Freetype',
7948             'name.alt.misc.fossology_old_upper' => 'FreeType',
7949             caption => 'Freetype Project License',
7950             'caption.alt.misc.short_camelcase' => 'FreeType License',
7951             'caption.alt.misc.legal_license' => 'The Freetype Project LICENSE',
7952             'caption.alt.org.fedora' => 'Freetype License',
7953             'caption.alt.org.tldr' => 'Freetype Project License (FTL)',
7954             iri => 'https://www.freetype.org/license.html',
7955             description => <<'END',
7956             Origin: BSD License family, Artistic License, and Independent JPEG Group License.
7957             END
7958             tags => [
7959             'type:unversioned',
7960             ],
7961              
7962             'pat.alt.subject.license' =>
7963             'This license applies to all files found in such packages',
7964             };
7965              
7966             =item * gfdl
7967              
7968             =item * gfdl_1_1
7969              
7970             =item * gfdl_1_1_only
7971              
7972             =item * gfdl_1_1_or_later
7973              
7974             =item * gfdl_1_2
7975              
7976             =item * gfdl_1_2_only
7977              
7978             =item * gfdl_1_2_or_later
7979              
7980             =item * gfdl_1_3
7981              
7982             =item * gfdl_1_3_only
7983              
7984             =item * gfdl_1_3_or_later
7985              
7986             =cut
7987              
7988             $RE{gfdl} = {
7989             name => 'GFDL',
7990             'name.alt.org.fedora' => 'GFDL',
7991             'name.alt.org.fsf' => 'FDL',
7992             'name.alt.org.trove' => 'FDL',
7993             'name.alt.org.wikidata.synth.nogrant' => 'Q22169',
7994             caption => 'GNU Free Documentation License',
7995             'caption.alt.org.trove' => 'GNU Free Documentation License (FDL)',
7996             'caption.alt.org.wikidata' => 'GNU Free Documentation License',
7997             tags => [
7998             'type:versioned:decimal',
7999             ],
8000             };
8001              
8002             $RE{gfdl_1_1} = {
8003             name => 'GFDL-1.1',
8004             'name.alt.org.fsf' => 'fdl-1.1',
8005             'name.alt.org.spdx.until.date_20171228' => 'GFDL-1.1',
8006             'name.alt.org.wikidata.synth.nogrant' => 'Q26921685',
8007             'name.alt.misc.fossology_old' => 'GFDL_v1.1',
8008             caption => 'GNU Free Documentation License v1.1',
8009             'caption.alt.org.wikidata' =>
8010             'GNU Free Documentation License, version 1.1',
8011             tags => [
8012             'license:published:by_fsf',
8013             'type:singleversion:gfdl',
8014             ],
8015             licenseversion => '1.1',
8016              
8017             'pat.alt.subject.license.scope.multisection.part.header' =>
8018             'GNU Free Documentation License[ ]' . 'Version 1\.1, March 2000',
8019             'pat.alt.subject.license.part.part1' =>
8020             'This License applies to any manual or other work that contains',
8021             'pat.alt.subject.license.scope.multisection.part.part9' =>
8022             'the original English version will prevail[.][ ]'
8023             . '[*)]TERMINATION',
8024             };
8025              
8026             $RE{gfdl_1_1_only} = {
8027             name => 'GFDL-1.1-only',
8028             'name.alt.org.spdx.since.date_20171228' => 'GFDL-1.1-only',
8029             caption => 'GNU Free Documentation License v1.1 only',
8030             'caption.alt.misc.short' => 'GFDLv1.1 only',
8031             tags => [
8032             'type:usage:gfdl_1_1:only',
8033             ],
8034             };
8035              
8036             $RE{gfdl_1_1_or_later} = {
8037             name => 'GFDL-1.1-or-later',
8038             'name.alt.org.debian' => 'GFDL-1.1+',
8039             'name.alt.org.spdx.since.date_20171228' => 'GFDL-1.1-or-later',
8040             'name.alt.org.wikidata.synth.nogrant' => 'Q50829096',
8041             'name.alt.misc.fossology_old' => 'GFDL_v1.1+',
8042             caption => 'GNU Free Documentation License v1.1 or later',
8043             'caption.alt.org.wikidata' =>
8044             'GNU Free Documentation License, version 1.1 or later',
8045             'caption.alt.misc.short' => 'GFDLv1.1 or later',
8046             tags => [
8047             'type:usage:gfdl_1_1:or_later',
8048             ],
8049             };
8050              
8051             $RE{gfdl_1_2} = {
8052             name => 'GFDL-1.2',
8053             'name.alt.org.fsf' => 'fdl-1.2',
8054             'name.alt.org.perl' => 'gfdl_1_2',
8055             'name.alt.org.spdx.until.date_20171228' => 'GFDL-1.2',
8056             'name.alt.org.wikidata.synth.nogrant' => 'Q26921686',
8057             'name.alt.misc.fossology_old' => 'GFDL_v1.2',
8058             'name.alt.misc.fossology_old_short' => 'GFDL1.2',
8059             caption => 'GNU Free Documentation License v1.2',
8060             'caption.alt.org.perl' => 'GNU Free Documentation License, Version 1.2',
8061             'caption.alt.org.wikidata' =>
8062             'GNU Free Documentation License, version 1.2',
8063             tags => [
8064             'license:published:by_fsf',
8065             'type:singleversion:gfdl',
8066             ],
8067             licenseversion => '1.2',
8068              
8069             'pat.alt.subject.license.scope.multisection.part.header' =>
8070             'GNU Free Documentation License[ ]' . 'Version 1\.2, November 2002',
8071             'pat.alt.subject.license.scope.sentence.part.part9' =>
8072             'You may not copy, modify, sublicense, or distribute the Document '
8073             . 'except as expressly provided for under this License',
8074             };
8075              
8076             $RE{gfdl_1_2_only} = {
8077             name => 'GFDL-1.2-only',
8078             'name.alt.org.spdx.since.date_20171228' => 'GFDL-1.2-only',
8079             caption => 'GNU Free Documentation License v1.2 only',
8080             'caption.alt.misc.short' => 'GFDLv1.2 only',
8081             tags => [
8082             'type:usage:gfdl_1_2:only',
8083             ],
8084             };
8085              
8086             $RE{gfdl_1_2_or_later} = {
8087             name => 'GFDL-1.2-or-later',
8088             'name.alt.org.debian' => 'GFDL-1.2+',
8089             'name.alt.org.spdx.since.date_20171228' => 'GFDL-1.2-or-later',
8090             'name.alt.org.wikidata.synth.nogrant' => 'Q50829104',
8091             'name.alt.misc.fossology_old' => 'GFDL_v1.2+',
8092             caption => 'GNU Free Documentation License v1.2 or later',
8093             'caption.alt.org.wikidata' =>
8094             'GNU Free Documentation License, version 1.2 or later',
8095             'caption.alt.misc.short' => 'GFDLv1.2 or later',
8096             tags => [
8097             'type:usage:gfdl_1_2:or_later',
8098             ],
8099             };
8100              
8101             $RE{gfdl_1_3} = {
8102             name => 'GFDL-1.3',
8103             'name.alt.org.fsf' => 'fdl-1.3',
8104             'name.alt.org.perl' => 'gfdl_1_3',
8105             'name.alt.org.spdx.until.date_20171228' => 'GFDL-1.3',
8106             'name.alt.org.tldr' => 'gnu-free-documentation-license',
8107             'name.alt.org.tldr.path.short.synth.nogrant' => 'fdl',
8108             'name.alt.org.wikidata.synth.nogrant' => 'Q26921691',
8109             'caption.alt.org.wikidata' =>
8110             'GNU Free Documentation License, version 1.3',
8111             'name.alt.misc.fossology_old' => 'GFDL1.3',
8112             caption => 'GNU Free Documentation License v1.3',
8113             'caption.alt.org.perl' => 'GNU Free Documentation License, Version 1.3',
8114             'caption.alt.org.tldr' => 'GNU Free Documentation License v1.3 (FDL-1.3)',
8115             tags => [
8116             'license:published:by_fsf',
8117             'type:singleversion:gfdl',
8118             ],
8119             licenseversion => '1.3',
8120              
8121             'pat.alt.subject.license.scope.multisection.part.header' =>
8122             'GNU Free Documentation License[ ]'
8123             . 'Version 1\.3, 3 November 2008',
8124             'pat.alt.subject.license.scope.sentence.part.part9' =>
8125             'You may not copy, modify, sublicense, or distribute the Document '
8126             . 'except as expressly provided for under this License',
8127             };
8128              
8129             $RE{gfdl_1_3_only} = {
8130             name => 'GFDL-1.3-only',
8131             'name.alt.org.spdx.since.date_20171228' => 'GFDL-1.3-only',
8132             caption => 'GNU Free Documentation License v1.3 only',
8133             'caption.alt.misc.short' => 'GFDLv1.3 only',
8134             tags => [
8135             'type:usage:gfdl_1_3:only',
8136             ],
8137             };
8138              
8139             $RE{gfdl_1_3_or_later} = {
8140             name => 'GFDL-1.3-or-later',
8141             'name.alt.org.debian' => 'GFDL-1.3+',
8142             'name.alt.org.spdx.since.date_20171228' => 'GFDL-1.3-or-later',
8143             'name.alt.org.wikidata.synth.nogrant' => 'Q27019786',
8144             caption => 'GNU Free Documentation License v1.3 or later',
8145             'caption.alt.org.wikidata' =>
8146             'GNU Free Documentation License, version 1.3 or later',
8147             'caption.alt.misc.short' => 'GFDLv1.3 or later',
8148             tags => [
8149             'type:usage:gfdl_1_3:or_later',
8150             ],
8151             };
8152              
8153             =item * gfdl_niv
8154              
8155             =cut
8156              
8157             $RE{gfdl_niv} = {
8158             name => 'GFDL-NIV',
8159             caption => 'GNU Free Documentation License (no invariant sections)',
8160             summary =>
8161             'GNU Free Documentation License, with no Front-Cover or Back-Cover Texts or Invariant Sections',
8162             tags => [
8163             'type:versioned:decimal',
8164             ],
8165              
8166             'pat.alt.subject.name' =>
8167             "$the?$gnu?Free Documentation Licen[cs]e(?: [(]GFDL[)])?"
8168             . $RE{by_fsf}{'pat.alt.subject.trait'}
8169             . "?[;]? $niv",
8170             };
8171              
8172             =item * glide
8173              
8174             I
8175              
8176             =cut
8177              
8178             $RE{glide} = {
8179             name => 'Glide',
8180             'name.alt.org.fedora' => 'Glide',
8181             'name.alt.org.spdx.since.date_20140807' => 'Glide',
8182             caption => '3dfx Glide License',
8183             'caption.alt.org.tldr' => '3dfx Glide License',
8184             'caption.alt.misc.legal_grant' => 'THE 3DFX GLIDE GENERAL PUBLIC LICENSE',
8185             tags => [
8186             'license.contains.grant',
8187             'type:unversioned',
8188             ],
8189              
8190             'pat.alt.subject.license.scope.line.scope.sentence.part.intro' =>
8191             'This license is for software that provides a 3D graphics',
8192             };
8193              
8194             =item * gpl
8195              
8196             =item * gpl_1
8197              
8198             I
8199              
8200             =item * gpl_1_only
8201              
8202             =item * gpl_1_or_later
8203              
8204             =item * gpl_2
8205              
8206             I
8207              
8208             =item * gpl_2_only
8209              
8210             =item * gpl_2_or_later
8211              
8212             =item * gpl_3
8213              
8214             I
8215              
8216             =item * gpl_3_only
8217              
8218             =item * gpl_3_or_later
8219              
8220             =cut
8221              
8222             $RE{gpl} = {
8223             name => 'GPL',
8224             'name.alt.org.fsf' => 'GNUGPL',
8225             'name.alt.org.osi' => 'gpl-license',
8226             'name.alt.org.osi.misc.shortname' => 'GPL',
8227             'name.alt.org.wikidata.synth.nogrant' => 'Q7603',
8228             'name.alt.misc.fossology_old' => 'CC_GPL',
8229             caption => 'GNU General Public License',
8230             'caption.alt.org.fedora' => 'GNU General Public License',
8231             'caption.alt.org.fsf' => 'GNU General Public License (GPL)',
8232             'caption.alt.org.osi' => 'GNU General Public License',
8233             'caption.alt.org.trove' => 'GNU General Public License (GPL)',
8234             'caption.alt.org.wikipedia' => 'GNU General Public License',
8235             tags => [
8236             'family:gpl',
8237             'license:contains:grant',
8238             'type:versioned:decimal',
8239             ],
8240              
8241             '_pat.alt.subject.name' => [
8242             "$the?$gnu?$gpl(?: [(]GPL[)])?"
8243             . $RE{by_fsf}{'pat.alt.subject.trait'} . '?',
8244             "$the$gnu?GPL",
8245             "${the}GNU [Ll]icense",
8246             "${gnu}GPL",
8247             ],
8248             };
8249              
8250             $RE{gpl_1} = {
8251             name => 'GPL-1.0',
8252             'name.alt.org.debian' => 'GPL-1',
8253             'name.alt.org.perl' => 'gpl_1',
8254             'name.alt.org.fsf' => 'GPLv1',
8255             'name.alt.org.wikidata.synth.nogrant' => 'Q10513452',
8256             'name.alt.misc.fossology_old' => 'GPL1.0',
8257             'name.alt.misc.fossology_old_short' => 'GPL_v1',
8258             caption => 'GNU General Public License, Version 1',
8259             'caption.alt.org.wikidata' => 'GNU General Public License, version 1.0',
8260             iri => 'https://www.gnu.org/licenses/old-licenses/gpl-1.0.html',
8261             'iri.alt.format.txt' =>
8262             'https://www.gnu.org/licenses/old-licenses/gpl-1.0.txt',
8263             'iri.alt.path.short' => 'http://www.gnu.org/licenses/gpl-1.0.html',
8264             tags => [
8265             'family:gpl',
8266             'license:published:by_fsf',
8267             'type:singleversion:gpl',
8268             ],
8269             licenseversion => '1.0',
8270              
8271             'pat.alt.subject.license.scope.multisection.part.tail_sample' =>
8272             '[<]?name of author[>]?[ ]'
8273             . 'This program is free software[;]? '
8274             . 'you can redistribute it and[/]or modify it '
8275             . 'under the terms of the GNU General Public License '
8276             . 'as published by the Free Software Foundation[;]? '
8277             . 'either version 1, or',
8278             };
8279              
8280             $RE{gpl_1_only} = {
8281             name => 'GPL-1.0-only',
8282             'name.alt.org.fedora.synth.nogrant' => 'GPLv1',
8283             'name.alt.org.spdx.until.date_20171228.synth.nogrant' => 'GPL-1.0',
8284             'name.alt.org.spdx.since.date_20171228' => 'GPL-1.0-only',
8285             caption => 'GNU General Public License v1.0 only',
8286             'caption.alt.misc.short' => 'GPLv1 only',
8287             tags => [
8288             'family:gpl',
8289             'license:published:by_fsf',
8290             'type:usage:gpl_1:only',
8291             ],
8292             };
8293              
8294             $RE{gpl_1_or_later} = {
8295             name => 'GPL-1.0-or-later',
8296             'name.alt.org.fedora' => 'GPL+',
8297             'name.alt.org.debian' => 'GPL-1+',
8298             'name.alt.org.spdx.until.date_20150513' => 'GPL-1.0+',
8299             'name.alt.org.spdx.since.date_20171228' => 'GPL-1.0-or-later',
8300             'name.alt.org.wikidata.synth.nogrant' => 'Q27016750',
8301             'name.alt.misc.fossology_old_short' => 'GPL_v1+',
8302             caption => 'GNU General Public License v1.0 or later',
8303             'caption.alt.org.wikidata' =>
8304             'GNU General Public License, version 1.0 or later',
8305             'caption.alt.misc.short' => 'GPLv1 or later',
8306             tags => [
8307             'family:gpl',
8308             'license:published:by_fsf',
8309             'type:usage:gpl_1:or_later',
8310             ],
8311             };
8312              
8313             $RE{gpl_2} = {
8314             name => 'GPL-2',
8315             'name.alt.misc.short' => 'GPLv2',
8316             'name.alt.org.debian' => 'GPL-2',
8317             'name.alt.org.fsf' => 'GNUGPLv2',
8318             'name.alt.org.osi' => 'GPL-2.0',
8319             'name.alt.org.osi.iri.stem.until.date_20110430' => 'gpl-2.0',
8320             'name.alt.org.perl' => 'gpl_2',
8321             'name.alt.org.tldr' => 'gnu-general-public-license-v2',
8322             'name.alt.org.tldr.path.short' => 'gpl2',
8323             'name.alt.org.trove' => 'GPLv2',
8324             'name.alt.org.wikidata.synth.nogrant' => 'Q10513450',
8325             'name.alt.misc.fossology_old' => 'GPL2.0',
8326             'name.alt.misc.fossology_old_cc' => 'CC_GPL_v2',
8327             'name.alt.misc.fossology_old_short' => 'GPL_v2',
8328             caption => 'GNU General Public License, Version 2',
8329             'caption.alt.org.cc.until.date_20100915' =>
8330             'Creative Commons GNU GPL', # TODO: find official date
8331             'caption.alt.org.cc.misc.short.until.date_20100915' =>
8332             'CC-GNU GPL', # TODO: find official date
8333             'caption.alt.org.fedora.misc.cc' => 'Creative Commons GNU GPL',
8334             'caption.alt.org.fsf' => 'GNU General Public License (GPL) version 2',
8335             'caption.alt.org.trove' => 'GNU General Public License v2 (GPLv2)',
8336             'caption.alt.org.osi' => 'GNU General Public License version 2',
8337             'caption.alt.org.osi.misc.list' =>
8338             'GNU General Public License, version 2',
8339             'caption.alt.org.tldr' => 'GNU General Public License v2.0 (GPL-2.0)',
8340             'caption.alt.org.wikidata' => 'GNU General Public License, version 2.0',
8341             iri => 'https://www.gnu.org/licenses/old-licenses/gpl-2.0.html',
8342             'iri.alt.format.txt' =>
8343             'https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt',
8344             'iri.alt.path.short' => 'http://www.gnu.org/licenses/gpl-2.0.html',
8345             'iri.alt.org.cc.archive.time_20101028012914.until.date_20101028' =>
8346             'http://creativecommons.org/licenses/GPL/2.0/'
8347             , # TODO: find official date
8348             'iri.alt.org.cc.archive.time_20100915084134.until.date_20100915' =>
8349             'http://creativecommons.org/choose/cc-gpl', # TODO: find official date
8350             tags => [
8351             'family:gpl',
8352             'license:published:by_fsf',
8353             'type:singleversion:gpl',
8354             ],
8355             licenseversion => '2.0',
8356              
8357             'pat.alt.subject.license.scope.sentence.part.preamble' =>
8358             '[(]Some other Free Software Foundation software is covered by t?he GNU (Library|Lesser)',
8359             'pat.alt.subject.license.scope.multisection.part.tail_sample' =>
8360             '[<]?name of author[>]?[ ]'
8361             . 'This program is free software[;]? '
8362             . 'you can redistribute it and[/]or modify it '
8363             . 'under the terms of the GNU General Public License '
8364             . 'as published by the Free Software Foundation[;]? '
8365             . 'either version 2 of the License, or',
8366             };
8367              
8368             $RE{gpl_2_only} = {
8369             name => 'GPL-2.0-only',
8370             'name.alt.org.fedora.synth.nogrant' => 'GPLv2',
8371             'name.alt.org.spdx.until.date_20171228.synth.nogrant' => 'GPL-2.0',
8372             'name.alt.org.spdx.since.date_20171228' => 'GPL-2.0-only',
8373             caption => 'GNU General Public License v2.0 only',
8374             'caption.alt.misc.short' => 'GPLv2 only',
8375             tags => [
8376             'family:gpl',
8377             'license:published:by_fsf',
8378             'type:usage:gpl_2:only',
8379             ],
8380             };
8381              
8382             $RE{gpl_2_or_later} = {
8383             name => 'GPL-2.0-or-later',
8384             'name.alt.org.fedora' => 'GPLv2+',
8385             'name.alt.org.debian' => 'GPL-2+',
8386             'name.alt.org.fedora' => 'GPLv2+',
8387             'name.alt.org.spdx.until.date_20150513' => 'GPL-2.0+',
8388             'name.alt.org.spdx.since.date_20171228' => 'GPL-2.0-or-later',
8389             'name.alt.org.trove' => 'GPLv2+',
8390             'name.alt.org.wikidata.synth.nogrant' => 'Q27016752',
8391             'name.alt.misc.fossology_old_short' => 'GPL_v2+',
8392             caption => 'GNU General Public License v2.0 or later',
8393             'caption.alt.misc.short' => 'GPLv2 or later',
8394             'caption.alt.org.trove' =>
8395             'GNU General Public License v2 or later (GPLv2+)',
8396             'caption.alt.org.wikidata' =>
8397             'GNU General Public License, version 2.0 or later',
8398             tags => [
8399             'family:gpl',
8400             'license:published:by_fsf',
8401             'type:usage:gpl_2:or_later',
8402             ],
8403             };
8404              
8405             $RE{gpl_3} = {
8406             name => 'GPL-3',
8407             'name.alt.misc.short' => 'GPLv3',
8408             'name.alt.org.debian' => 'GPL-3',
8409             'name.alt.org.fsf' => 'GNUGPLv3',
8410             'name.alt.org.osi' => 'GPL-3.0',
8411             'name.alt.org.osi.iri.stem.until.date_20110430' => 'gpl-3.0',
8412             'name.alt.org.perl' => 'gpl_3',
8413             'name.alt.org.tldr.path.short' => 'gpl-3.0',
8414             'name.alt.org.trove' => 'GPLv3',
8415             'name.alt.org.wikidata.synth.nogrant' => 'Q10513445',
8416             'name.alt.misc.fossology_old' => 'GPL3.0',
8417             'name.alt.misc.fossology_old_short' => 'GPL_v3',
8418             caption => 'GNU General Public License, Version 3',
8419             'caption.alt.org.fsf' => 'GNU General Public License (GPL) version 3',
8420             'caption.alt.org.osi' => 'GNU General Public License version 3',
8421             'caption.alt.org.osi.misc.list' =>
8422             'GNU General Public License, version 3',
8423             'caption.alt.org.tldr' => 'GNU General Public License v3 (GPL-3)',
8424             'caption.alt.org.trove' => 'GNU General Public License v3 (GPLv3)',
8425             'caption.alt.org.wikidata' => 'GNU General Public License, version 3.0',
8426             iri => 'https://www.gnu.org/licenses/gpl.html',
8427             'iri.alt.format.txt' => 'https://www.gnu.org/licenses/gpl.txt',
8428             'iri.alt.path.fragmented' =>
8429             'https://www.gnu.org/licenses/licenses.html#GPL',
8430             'iri.alt.path.versioned' => 'http://www.gnu.org/licenses/gpl-3.0.html',
8431             tags => [
8432             'family:gpl',
8433             'license:published:by_fsf',
8434             'type:singleversion:gpl',
8435             ],
8436             licenseversion => '3.0',
8437              
8438             'pat.alt.subject.license.part.part0' =>
8439             '["]This License["] refers to version 3 of the GNU General',
8440             'pat.alt.subject.license.scope.sentence.part.part13' =>
8441             'Notwithstanding any other provision of this License, '
8442             . 'you have permission to link or combine any covered work '
8443             . 'with a work licensed under version 3 of the GNU Affero',
8444             'pat.alt.subject.license.scope.multisection.part.tail_sample' =>
8445             '[<]?name of author[>]?[ ]'
8446             . 'This program is free software[;]? '
8447             . 'you can redistribute it and[/]or modify it '
8448             . 'under the terms of the GNU General Public License '
8449             . 'as published by the Free Software Foundation[;]? '
8450             . 'either version 3 of the License, or',
8451              
8452             #<<< do not let perltidy touch this (keep long regex on one line)
8453             examples => [
8454             { summary => 'pattern with subject "license" matches canonical license grant with adequate context',
8455             gen_args => { subject => 'license' },
8456             ## no Test::Tabs
8457             str => <<'END',
8458             Copyright (C)
8459              
8460             This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
8461             END
8462             ## use Test::Tabs
8463             matches => 1,
8464             },
8465             { summary => 'pattern with subject "license" doesn\'t match canonical license grant only',
8466             gen_args => { subject => 'license' },
8467             str => 'This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.',
8468             matches => 0,
8469             },
8470             { summary => 'pattern with subject "grant" matches canonical license grant',
8471             gen_args => { subject => 'grant' },
8472             str => 'This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.',
8473             matches => 1,
8474             },
8475             { summary => 'pattern with subject "grant" matches a license grant without usage specified',
8476             gen_args => { subject => 'grant' },
8477             str => 'Licensed under the GNU General Public License version 3.',
8478             matches => 1,
8479             },
8480             { summary => 'pattern with subject "grant" doesn\'t match license grant with usage in front',
8481             gen_args => { subject => 'grant' },
8482             str => 'Licensed under v3 or newer of the GNU General Public License.',
8483             matches => 0,
8484             },
8485             { summary => 'pattern with subject "grant" doesn\'t match license name only',
8486             gen_args => { subject => 'grant' },
8487             str => 'GNU General Public License v3',
8488             matches => 0,
8489             },
8490             { summary => 'pattern with subject "name" matches license name',
8491             gen_args => { subject => 'name' },
8492             str => 'GNU General Public License v3',
8493             matches => 1,
8494             },
8495             { summary => 'pattern with subject "iri" doesn\'t match license name',
8496             gen_args => { subject => 'iri' },
8497             str => 'GNU General Public License v3',
8498             matches => 0,
8499             },
8500             ],
8501             #>>>
8502             };
8503              
8504             $RE{gpl_3_only} = {
8505             name => 'GPL-3.0-only',
8506             'name.alt.org.fedora.synth.nogrant' => 'GPLv3',
8507             'name.alt.org.spdx.until.date_20171228.synth.nogrant' => 'GPL-3.0',
8508             'name.alt.org.spdx.since.date_20171228' => 'GPL-3.0-only',
8509             caption => 'GNU General Public License v3.0 only',
8510             'caption.alt.misc.short' => 'GPLv3 only',
8511             tags => [
8512             'family:gpl',
8513             'license:published:by_fsf',
8514             'type:usage:gpl_3:only',
8515             ],
8516              
8517             #<<< do not let perltidy touch this (keep long regex on one line)
8518             examples => [
8519             { summary => 'pattern with subject "license" doesn\'t match canonical license grant even with context',
8520             gen_args => { subject => 'license' },
8521             ## no Test::Tabs
8522             str => <<'END',
8523             Copyright (C)
8524              
8525             This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
8526             END
8527             ## use Test::Tabs
8528             matches => 0,
8529             },
8530             { summary => 'pattern with subject "license" doesn\'t match canonical license grant only',
8531             gen_args => { subject => 'license' },
8532             str => 'This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 3 only of the License.',
8533             matches => 0,
8534             },
8535             { summary => 'pattern with subject "license" doesn\'t match a non-canonical license grant',
8536             gen_args => { subject => 'license' },
8537             str => 'modify it under the terms of the GNU General Public License',
8538             matches => 0,
8539             },
8540             { summary => 'pattern with subject "grant" matches canonical license grant',
8541             gen_args => { subject => 'grant' },
8542             str => 'This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 3 only of the License.',
8543             matches => 1,
8544             },
8545             { summary => 'pattern with subject "grant" matches license grant with usage in front',
8546             gen_args => { subject => 'grant' },
8547             str => 'Licensed under v3 only of the GNU General Public License.',
8548             matches => 1,
8549             },
8550             { summary => 'pattern with subject "grant" doesn\'t match a license grant without usage specified',
8551             gen_args => { subject => 'grant' },
8552             str => 'This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 3.',
8553             matches => 0,
8554             },
8555             { summary => 'pattern with subject "grant" doesn\'t match license grant with different usage',
8556             gen_args => { subject => 'grant' },
8557             str => 'This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.',
8558             matches => 0,
8559             },
8560             { summary => 'pattern with subject "grant" doesn\'t match license name only',
8561             gen_args => { subject => 'grant' },
8562             str => 'GNU General Public License v3.0 only',
8563             matches => 0,
8564             },
8565             { summary => 'pattern with subject "name" matches canonical license name',
8566             gen_args => { subject => 'name' },
8567             str => 'GNU General Public License v3.0 only',
8568             matches => 1,
8569             },
8570             { summary => 'pattern with subject "name" doesn\'t match a license name without usage specified',
8571             gen_args => { subject => 'name' },
8572             str => 'GNU General Public License v3.0',
8573             matches => 0,
8574             },
8575             { summary => 'pattern with subject "name" doesn\'t match a license name with different usage',
8576             gen_args => { subject => 'name' },
8577             str => 'GNU General Public License v3.0 or later',
8578             matches => 0,
8579             },
8580             { summary => 'pattern with subject "iri" doesn\'t match canonical license name',
8581             gen_args => { subject => 'iri' },
8582             str => 'GNU General Public License v3.0 only',
8583             matches => 0,
8584             },
8585             ],
8586             #>>>
8587             };
8588              
8589             $RE{gpl_3_or_later} = {
8590             name => 'GPL-3.0-or-later',
8591             'name.alt.org.fedora' => 'GPLv3+',
8592             'name.alt.org.debian' => 'GPL-3+',
8593             'name.alt.org.spdx.until.date_20150513' => 'GPL-3.0+',
8594             'name.alt.org.spdx.since.date_20171228' => 'GPL-3.0-or-later',
8595             'name.alt.org.trove' => 'GPLv3+',
8596             'name.alt.org.wikidata.synth.nogrant' => 'Q27016754',
8597             'name.alt.misc.fossology_old_short' => 'GPL_v3+',
8598             caption => 'GNU General Public License v3.0 or later',
8599             'caption.alt.misc.short' => 'GPLv3 or later',
8600             'caption.alt.org.trove' =>
8601             'GNU General Public License v3 or later (GPLv3+)',
8602             'caption.alt.org.wikidata' =>
8603             'GNU General Public License, version 3.0 or later',
8604             tags => [
8605             'family:gpl',
8606             'license:published:by_fsf',
8607             'type:usage:gpl_3:or_later',
8608             ],
8609             };
8610              
8611             =item * gsoap
8612              
8613             I
8614              
8615             =item * gsoap_1.3b
8616              
8617             I
8618              
8619             =cut
8620              
8621             $RE{gsoap} = {
8622             name => 'gSOAP',
8623             'name.alt.org.wikidata.synth.nogrant' => 'Q3756289',
8624             caption => 'gSOAP Public License',
8625             tags => [
8626             'type:versioned:decimal',
8627             ],
8628             };
8629              
8630             $RE{gsoap_1_3b} = {
8631             name => 'gSOAP-1.3b',
8632             'name.alt.org.spdx' => 'gSOAP-1.3b',
8633             caption => 'gSOAP Public License v1.3b',
8634             'caption.alt.org.fedora.synth.nogrant' => 'gSOAP Public License',
8635             description => <<'END',
8636             Origin: Mozilla Public License Version 1.1
8637             END
8638             tags => [
8639             'type:singleversion:gsoap',
8640             ],
8641             licenseversion => '1.3b',
8642              
8643             'pat.alt.subject.license.scope.line.scope.sentence.part.head' =>
8644             'The gSOAP public license is derived from the Mozilla Public License',
8645             'pat.alt.subject.license.scope.line.scope.sentence.part.section_3_8' =>
8646             'You may not remove any product identification',
8647             };
8648              
8649             =item * hpnd
8650              
8651             I
8652              
8653             =cut
8654              
8655             $RE{hpnd} = {
8656             name => 'HPND',
8657             'name.alt.org.osi' => 'HPND',
8658             'name.alt.org.osi.iri.stem.until.date_20110430' => 'historical',
8659             'name.alt.org.spdx' => 'HPND',
8660             'name.alt.org.wikidata.synth.nogrant' => 'Q5773924',
8661             caption => 'Historical Permission Notice and Disclaimer',
8662             'caption.alt.org.fedora' => 'Historical Permission Notice and Disclaimer',
8663             'caption.alt.org.spdx.until.date_20171228' =>
8664             'Historic Permission Notice and Disclaimer',
8665             'caption.alt.org.spdx.since.date_20171228' =>
8666             'Historical Permission Notice and Disclaimer',
8667             'caption.alt.org.tldr' =>
8668             'Historic Permission Notice and Disclaimer (HPND)',
8669             'caption.alt.org.trove' =>
8670             'Historical Permission Notice and Disclaimer (HPND)',
8671             'caption.alt.org.wikipedia' =>
8672             'Historical Permission Notice and Disclaimer',
8673             description => <<'END',
8674             Identical to NTP, except...
8675             * omit explicit permission to charge fee
8676             * relax suitability disclaimer and terse "as is" warranty disclaimer as optional
8677             * add optional elaborate warranty disclaimer and liability disclaimer
8678             END
8679             tags => [
8680             'family:mit',
8681             'license:is:grant',
8682             'type:unversioned',
8683             ],
8684              
8685             'pat.alt.subject.license.scope.sentence' =>
8686             'Permission to use, copy, modify and distribute '
8687             . 'this software and its documentation '
8688             . 'for any purpose and without fee',
8689             'pat.alt.subject.license.scope.paragraph' =>
8690             'Permission to use, copy, modify and distribute '
8691             . 'this software and its documentation '
8692             . 'for any purpose and without fee is hereby granted, '
8693             . 'provided that the above copyright notice appears? in all copies,?(?: and)? '
8694             . 'that both(?: that)?(?: the)? copyright notice '
8695             . 'and this permission notice appear in supporting documentation'
8696             . '(?:, and that the name [word][ word]{0,14} not be used '
8697             . 'in advertising or publicity pertaining to distribution '
8698             . 'of the software without specific, written prior permission'
8699             . '[. ][word][ word]{0,14} makes no representations '
8700             . 'about the suitability of this software for any purpose'
8701             . '[. ]It is provided [as is] without express or implied warranty[.])?',
8702             };
8703              
8704             =item * hpnd_sell
8705              
8706             I
8707              
8708             =cut
8709              
8710             $RE{hpnd_sell} = {
8711             name => 'HPND-sell-variant',
8712             'name.alt.org.spdx.since.date_20190402' => 'HPND-sell-variant',
8713             caption => 'Historical Permission Notice and Disclaimer - sell variant',
8714             description => <<'END',
8715             Identical to HPND, except...
8716             * add explicit permission to sell
8717             * omit explicit permission to charge fee
8718             * extend permissions with note that they are granted without fee
8719              
8720             Identical to NTP, except...
8721             * add explicit permission to sell
8722             * omit explicit permission to charge or not charge fee
8723             * extend permissions with note that they are granted without fee
8724             * relax suitability disclaimer and terse "as is" warranty disclaimer as optional
8725             * add optional elaborate warranty disclaimer and liability disclaimer
8726             END
8727             tags => [
8728             'family:mit',
8729             'license:is:grant',
8730             'type:unversioned',
8731             ],
8732              
8733             'pat.alt.subject.license.scope.paragraph' =>
8734             'Permission to use, copy, modify, distribute, and sell '
8735             . 'this software and its documentation '
8736             . 'for any purpose is hereby granted without fee, '
8737             . 'provided that the above copyright notice appears? in all copies,?(?: and)? '
8738             . 'that both(?: that)?(?: the)? copyright notice '
8739             . 'and this permission notice appear in supporting documentation'
8740             . '(?:, and that the name [word][ word]{0,14} not be used '
8741             . 'in advertising or publicity pertaining to distribution '
8742             . 'of the software without specific, written prior permission'
8743             . '[. ][word][ word]{0,14} makes no representations '
8744             . 'about the suitability of this software for any purpose'
8745             . '[. ]It is provided [as is] without express or implied warranty[.])?',
8746             };
8747              
8748             =item * ibm_pibs
8749              
8750             I
8751              
8752             =cut
8753              
8754             $RE{ibm_pibs} = {
8755             name => 'IBM-pibs',
8756             'name.alt.org.spdx.since.date_20130912' => 'IBM-pibs',
8757             caption => 'IBM PowerPC Initialization and Boot Software',
8758             'caption.alt.org.tldr' =>
8759             'IBM PowerPC Initialization and Boot Software (IBM-pibs)',
8760             tags => [
8761             'license:is:grant',
8762             'type:unversioned',
8763             ],
8764              
8765             'pat.alt.subject.license.scope.line.scope.sentence' =>
8766             'Any user of this software should understand that IBM cannot',
8767             };
8768              
8769             =item * icu
8770              
8771             =cut
8772              
8773             $RE{icu} = {
8774             name => 'ICU',
8775             'name.alt.org.spdx.since.date_20150513' => 'ICU',
8776             caption => 'ICU License',
8777             'summary.alt.org.fedora.iri.mit' =>
8778             'MIT-style license, Modern style (ICU Variant)',
8779             tags => [
8780             'family:mit',
8781             'license:is:grant',
8782             'type:unversioned',
8783             ],
8784              
8785             'pat.alt.subject.license.scope.multisection' => $P{note_copr_perm}
8786             . ' of the Software and that '
8787             . $P{repro_copr_perm_appear_doc}
8788             . '[.][ ]'
8789             . $P{asis_sw_warranty}
8790             . '(?:[^.]+[. ]){2}'
8791             . $P{nopromo_except},
8792             };
8793              
8794             =item * ijg
8795              
8796             I
8797              
8798             =cut
8799              
8800             $RE{ijg} = {
8801             name => 'IJG',
8802             'name.alt.org.fedora.iri.self' => 'IJG',
8803             'name.alt.org.spdx.since.date_20130117' => 'IJG',
8804             'name.alt.org.wikidata.synth.nogrant' => 'Q106186423',
8805             caption => 'Independent JPEG Group License',
8806             'caption.alt.org.tldr' => 'Independent JPEG Group License (IJG)',
8807             tags => [
8808             'type:unversioned',
8809             ],
8810              
8811             'pat.alt.subject.license.scope.section.part.intro' =>
8812             "We don[']t promise that this software works" . '[. ]'
8813             . '[(]But if you find any bugs, please let us know[!][)]',
8814             };
8815              
8816             =item * imlib2
8817              
8818             I
8819              
8820             =cut
8821              
8822             $RE{imlib2} = {
8823             name => 'Imlib2',
8824             'name.alt.org.fedora.iri.self' => 'Imlib2',
8825             'name.alt.org.spdx.since.date_20130117' => 'Imlib2',
8826             caption => 'Imlib2 License',
8827             'caption.alt.org.tldr' => 'Imlib2 License (Imlib2)',
8828             description => <<'END',
8829             Identical to enna License, except...
8830             * Define meaning of making source available
8831             * Describe purpose of copyright notice
8832             END
8833             tags => [
8834             'family:mit',
8835             'license:is:grant',
8836             'type:unversioned',
8837             ],
8838              
8839             'pat.alt.subject.license.scope.section' => $P{perm_granted}
8840             . $P{free_charge}
8841             . $P{to_pers}
8842             . $P{the_sw}
8843             . $P{to_deal_the_sw_rights}
8844             . $P{subj_cond}
8845             . $P{to_copy_sublicence_conditions}
8846             . '[:]?[ ]'
8847             . $P{retain_copr_perm_sw_copr} . '[. ]'
8848             . $P{ack_pub_use_nosrc} . '[. ]'
8849             . 'Making the source available publicly means '
8850             . 'including the source for this software with the distribution, '
8851             . 'or a method to get this software via some reasonable mechanism '
8852             . '[(]electronic transfer via a network or media[)] '
8853             . 'as well as making an offer to supply the source on request'
8854             . '[. ]'
8855             . 'This Copyright notice serves as an offer to supply the source on on request as well'
8856             . '[. ]'
8857             . 'Instead of this, supplying acknowledgments of use of this software '
8858             . 'in either Copyright notices, Manuals, Publicity and Marketing documents '
8859             . 'or any documentation provided '
8860             . 'with any product containing this software[. ]'
8861             . $P{license_not_lib} . '[.]',
8862             'pat.alt.subject.license.scope.line' =>
8863             'Making the source available publicly means including',
8864             };
8865              
8866             =item * intel
8867              
8868             I
8869              
8870             =cut
8871              
8872             $RE{intel} = {
8873             name => 'Intel',
8874             'name.alt.org.osi' => 'Intel',
8875             'name.alt.org.osi.iri.stem.until.date_20110430' =>
8876             'intel-open-source-license',
8877             'name.alt.org.spdx.since.date_20130117' => 'Intel',
8878             'name.alt.org.wikidata.synth.nogrant' => 'Q6043507',
8879             caption => 'Intel Open Source License',
8880             'caption.alt.org.fedora' => 'Intel Open Source License',
8881             'caption.alt.org.osi' => 'The Intel Open Source License',
8882             'caption.alt.org.osi.misc.list' => 'Intel Open Source License',
8883             'caption.alt.org.tldr' => 'Intel Open Source License (Intel)',
8884             'caption.alt.org.trove' => 'Intel Open Source License',
8885             description => <<'END',
8886             Identical to BSD 3 Clause, except...
8887             * Add export law disclaimer
8888             END
8889             tags => [
8890             'family:bsd',
8891             'license:contains:license:bsd_3_clause',
8892             'license:is:grant',
8893             'type:unversioned',
8894             ],
8895              
8896             'pat.alt.subject.license.scope.multisection' => $P{repro_copr_cond_discl}
8897             . '[.]?[ ]'
8898             . '(?:[*)]\[?(?:rescinded 22 July 1999'
8899             . '|This condition was removed[.])\]?)?' . '[*)]'
8900             . $P{nopromo_neither}
8901             . '[.][ ]'
8902             . $P{discl_warranties} . '[. ]'
8903             . $P{discl_liability}
8904             . '[.][ ]'
8905             . 'EXPORT LAWS[:] THIS LICENSE ADDS NO RESTRICTIONS TO THE EXPORT LAWS',
8906             'pat.alt.subject.license.scope.line.scope.sentence.part.last' =>
8907             'THIS LICENSE ADDS NO RESTRICTIONS TO THE EXPORT LAWS',
8908             };
8909              
8910             =item * ipa
8911              
8912             I
8913              
8914             =cut
8915              
8916             $RE{ipa} = {
8917             name => 'IPA',
8918             'name.alt.org.fedora' => 'IPA',
8919             'name.alt.org.osi' => 'IPA',
8920             'name.alt.org.osi.iri.stem.until.date_20110430' => 'ipafont',
8921             'name.alt.org.spdx' => 'IPA',
8922             'name.alt.org.tldr.path.short' => 'ipa',
8923             'name.alt.org.wikidata.synth.nogrant' => 'Q38366264',
8924             caption => 'IPA Font License',
8925             'caption.alt.org.tldr' => 'IPA Font License (IPA)',
8926             tags => [
8927             'type:unversioned',
8928             ],
8929              
8930             'pat.alt.subject.license.scope.line.scope.sentence.part.intro' =>
8931             'The Licensor provides the Licensed Program',
8932             };
8933              
8934             =item * ipl
8935              
8936             =item * ipl_1
8937              
8938             =cut
8939              
8940             $RE{ipl} = {
8941             name => 'IPL',
8942             'name.alt.org.fedora.synth.nogrant' => 'IBM',
8943             'name.alt.org.osi.iri.stem.until.date_20110430' => 'ibmpl',
8944             'name.alt.org.wikidata.synth.nogrant' => 'Q288745',
8945             'name.alt.misc.fossology_old' => 'IBM-PL',
8946             'name.alt.misc.fossology_old_vague.synth.nogrant' => 'IBM',
8947             caption => 'IBM Public License',
8948             'caption.alt.org.trove' => 'IBM Public License',
8949             'caption.alt.org.wikipedia' => 'IBM Public License',
8950             tags => [
8951             'type:versioned:decimal',
8952             ],
8953             };
8954              
8955             $RE{ipl_1} = {
8956             name => 'IPL-1.0',
8957             'name.alt.org.osi' => 'IPL-1.0',
8958             'name.alt.org.spdx' => 'IPL-1.0',
8959             'name.alt.org.tldr.path.short' => 'ipl',
8960             caption => 'IBM Public License v1.0',
8961             'caption.alt.org.osi' => 'IBM Public License 1.0',
8962             'caption.alt.org.osi.misc.list' => 'IBM Public License Version 1.0',
8963             'caption.alt.org.tldr' => 'IBM Public License 1.0 (IPL)',
8964             'caption.alt.misc.legal' => 'IBM Public License Version 1.0',
8965             'caption.alt.misc.fossology_old' => 'IBM-PL 1.0',
8966             description => <<'END',
8967             Origin: Possibly Lucent Public License Version 1.0
8968             END
8969             tags => [
8970             'type:singleversion:ipl',
8971             ],
8972             licenseversion => '1.0',
8973              
8974             'pat.alt.subject.license.scope.sentence' => 'UNDER THE TERMS OF THIS IBM',
8975             'pat.alt.subject.license.scope.multisection.part.head' =>
8976             '(?:IBM Public License Version 1\.0[ ])?'
8977             . 'THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS IBM PUBLIC LICENSE [(]["]AGREEMENT["][)][. ]'
8978             . 'ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT[\']S ACCEPTANCE OF THIS AGREEMENT[.][ ]'
8979             . '[*)][ ]?DEFINITIONS[ ]'
8980             . '["]Contribution["] means[:"]?[ ]'
8981             . '[*)]in the case of International Business Machines Corporation [(]["]IBM["][)], the Original Program',
8982             };
8983              
8984             =item * isc
8985              
8986             =cut
8987              
8988             $RE{isc} = {
8989             name => 'ISC',
8990             'name.alt.org.fedora' => 'ISC',
8991             'name.alt.org.osi' => 'ISC',
8992             'name.alt.org.osi.iri.stem_plain.until.date_20110430.archive.time_20110426131805'
8993             => 'isc-license',
8994             'name.alt.org.spdx' => 'ISC',
8995             'name.alt.org.tldr' => '-isc-license',
8996             'name.alt.org.tldr.path.short' => 'isc',
8997             'name.alt.org.trove' => 'ISCL',
8998             'name.alt.org.wikidata.synth.nogrant' => 'Q386474',
8999             caption => 'ISC License',
9000             'caption.alt.misc.openbsd' => 'OpenBSD License',
9001             'caption.alt.org.tldr' => 'ISC License',
9002             'caption.alt.org.trove' => 'ISC License (ISCL)',
9003             'caption.alt.org.wikidata' => 'ISC license',
9004             'caption.alt.org.wikipedia' => 'ISC license',
9005             'summary.alt.org.fedora' => 'ISC License (Bind, DHCP Server)',
9006             tags => [
9007             'family:mit',
9008             'license:is:grant',
9009             'type:unversioned',
9010             ],
9011              
9012             'pat.alt.subject.license.scope.multisection' => $P{note_copr_perm}
9013             . '[.][ ]'
9014             . $P{asis_sw_name_discl},
9015             };
9016              
9017             =item * jabberpl
9018              
9019             I
9020              
9021             =cut
9022              
9023             $RE{jabberpl} = {
9024             name => 'jabberpl',
9025             'name.alt.org.fedora' => 'Jabber',
9026             'name.alt.org.osi' => 'jabberpl',
9027             'name.alt.org.osi.iri.stem.until.date_20110430' => 'jabberpl',
9028             'name.alt.org.wikidata.synth.nogrant' => 'Q1149006',
9029             'name.alt.misc.fossology_old' => 'Jabber',
9030             caption => 'Jabber Open Source License',
9031             'caption.alt.org.trove' => 'Jabber Open Source License',
9032             tags => [
9033             'license:contains:grant',
9034             'type:unversioned',
9035             ],
9036              
9037             'pat.alt.subject.license.part.intro' =>
9038             'This Jabber Open Source License [(]the ["]License["][)]'
9039             . ' applies to Jabber Server and related software products',
9040             };
9041              
9042             =item * json
9043              
9044             I
9045              
9046             =cut
9047              
9048             $RE{json} = {
9049             name => 'JSON',
9050             'name.alt.org.spdx.since.date_20130117' => 'JSON',
9051             caption => 'JSON License',
9052             'caption.alt.org.fedora' => 'JSON License',
9053             'caption.alt.org.tldr' => 'The JSON License',
9054             tags => [
9055             'license:is:grant',
9056             'type:unversioned',
9057             ],
9058              
9059             'pat.alt.subject.license' =>
9060             'The Software shall be used for Good, not Evil[.]',
9061             };
9062              
9063             =item * jython
9064              
9065             I
9066              
9067             =cut
9068              
9069             $RE{jython} = {
9070             name => 'Jython',
9071             'name.alt.org.spdx.since.date_20150730' => 'CNRI-Jython',
9072             caption => 'Jython License',
9073             'caption.alt.org.spdx' => 'CNRI Jython License',
9074             'caption.alt.legal.license' => 'The Jython License',
9075             iri => 'http://www.jython.org/license.txt',
9076             tags => [
9077             'type:unversioned',
9078             ],
9079              
9080             'pat.alt.subject.license' =>
9081             '[*)]PSF is making Jython available to Licensee',
9082             };
9083              
9084             =item * kevlin_henney
9085              
9086             I
9087              
9088             =cut
9089              
9090             $RE{kevlin_henney} = {
9091             name => 'Kevlin-Henney',
9092             caption => 'Kevlin Henney License',
9093             tags => [
9094             'family:mit',
9095             'license:is:grant',
9096             'type:unversioned',
9097             ],
9098              
9099             'pat.alt.subject.license.scope.multisection' => $P{note_copr_perms_deriv}
9100             . '[.][ ]'
9101             . $P{asis_sw_expr_warranty},
9102             };
9103              
9104             =item * leptonica
9105              
9106             I
9107              
9108             =cut
9109              
9110             $RE{leptonica} = {
9111             name => 'Leptonica',
9112             'name.alt.org.fedora.iri.self' => 'Leptonica',
9113             'name.alt.org.spdx.since.date_20140807' => 'Leptonica',
9114             caption => 'Leptonica License',
9115             description => <<'END',
9116             Identical to Crossword License, except...
9117             * Expand disclaimer slightly
9118             * Replace "he" with "he or she"
9119             * Extend permissions clause to explicitly permit commercial and non-commercial use
9120             * Add source-no-misrepresentation clause
9121             * Add mark-modified-source clause, replacing no-misrepresentation passage in permissions clause
9122             * Add retain-notice clause
9123             END
9124             tags => [
9125             'license:is:grant',
9126             'type:unversioned',
9127             ],
9128              
9129             'pat.alt.subject.license.scope.sentence' =>
9130             'No author or distributor accepts responsibility to anyone '
9131             . 'for the consequences of using this software',
9132             };
9133              
9134             =item * lgpl
9135              
9136             =item * lgpl_2
9137              
9138             =item * lgpl_2_only
9139              
9140             =item * lgpl_2_or_later
9141              
9142             =item * lgpl_2_1
9143              
9144             =item * lgpl_2_1_only
9145              
9146             =item * lgpl_2_1_or_later
9147              
9148             =item * lgpl_3
9149              
9150             =item * lgpl_3_only
9151              
9152             =item * lgpl_3_or_later
9153              
9154             =cut
9155              
9156             $RE{lgpl} = {
9157             name => 'LGPL',
9158             'name.alt.org.fsf' => 'LGPL',
9159             'name.alt.org.osi' => 'lgpl-license',
9160             'name.alt.org.osi.misc.shortname' => 'LGPL',
9161             'name.alt.org.wikidata.synth.nogrant' => 'Q192897',
9162             'name.alt.misc.fossology_old' => 'CC_LGPL',
9163             caption => 'GNU Lesser General Public License',
9164             'caption.alt.org.fsf' => 'GNU Lesser General Public License (LGPL)',
9165             'caption.alt.org.osi' => 'GNU LGPL',
9166             'caption.alt.org.osi.misc.list' => 'GNU Lesser General Public License',
9167             'caption.alt.org.trove' =>
9168             'GNU Library or Lesser General Public License (LGPL)',
9169             'caption.alt.org.wikipedia' => 'GNU Lesser General Public License',
9170             'caption.alt.org.osi' => 'GNU LGPL',
9171             'caption.alt.org.osi.misc.list' => 'GNU Lesser General Public License',
9172             tags => [
9173             'type:versioned:decimal',
9174             ],
9175              
9176             '_pat.alt.subject.name' => [
9177             "$the?$gnu?Library $gpl(?: [(]LGPL[)])?"
9178             . $RE{by_fsf}{'pat.alt.subject.trait'} . '?',
9179             "$the?$gnu?Lesser(?: [(]Library[)])? $gpl(?: [(]LGPL[)])?"
9180             . $RE{by_fsf}{'pat.alt.subject.trait'} . '?',
9181             "$the?$gnu?LIBRARY GENERAL PUBLIC LICEN[CS]E(?: [(]LGPL[)])?"
9182             . $RE{by_fsf}{'pat.alt.subject.trait'} . '?',
9183             "$the?$gnu?LESSER GENERAL PUBLIC LICEN[CS]E(?: [(]LGPL[)])?"
9184             . $RE{by_fsf}{'pat.alt.subject.trait'} . '?',
9185             "$the$gnu?LGPL",
9186             "${gnu}LGPL",
9187             ],
9188             };
9189              
9190             $RE{lgpl_2} = {
9191             name => 'LGPL-2',
9192             'name.alt.misc.short' => 'LGPLv2',
9193             'name.alt.org.debian' => 'LGPL-2',
9194             'name.alt.org.fsf' => 'LGPLv2.0',
9195             'name.alt.org.osi' => 'LGPL-2.0',
9196             'name.alt.org.trove' => 'LGPLv2',
9197             'name.alt.org.wikidata.synth.nogrant' => 'Q23035974',
9198             'name.alt.misc.fossology_old' => 'LGPL_v2',
9199             caption => 'GNU Library General Public License, Version 2.0',
9200             'caption.alt.org.fsf' =>
9201             'GNU Library General Public License (LGPL) version 2.0',
9202             'caption.alt.org.osi' => 'GNU Library General Public License version 2',
9203             'caption.alt.org.trove' =>
9204             'GNU Lesser General Public License v2 (LGPLv2)',
9205             'caption.alt.org.wikidata' =>
9206             'GNU Library General Public License, version 2.0',
9207             iri => 'https://www.gnu.org/licenses/lgpl-2.0.html',
9208             'iri.alt.format.txt' => 'https://www.gnu.org/licenses/lgpl-2.0.txt',
9209             tags => [
9210             'family:gpl',
9211             'license:published:by_fsf',
9212             'type:singleversion:lgpl',
9213             ],
9214             licenseversion => '2.0',
9215              
9216             'pat.alt.subject.license.part.preample' =>
9217             'This license, the Library General Public License, applies to',
9218             'pat.alt.subject.license.scope.multisection.part.tail_sample' =>
9219             '[<]?name of author[>]?[ ]'
9220             . 'This library is free software[;]? '
9221             . 'you can redistribute it and[/]or modify it '
9222             . 'under the terms of the GNU Library General Public License '
9223             . 'as published by the Free Software Foundation[;]? '
9224             . 'either version 2 of the License, or',
9225             };
9226              
9227             $RE{lgpl_2_only} = {
9228             name => 'LGPL-2-only',
9229             'name.alt.org.spdx.until.date_20171228.synth.nogrant' => 'LGPL-2.0',
9230             'name.alt.org.spdx.since.date_20171228' => 'LGPL-2.0-only',
9231             caption => 'GNU Library General Public License v2 only',
9232             tags => [
9233             'family:gpl',
9234             'license:published:by_fsf',
9235             'type:usage:lgpl_2:only',
9236             ],
9237             };
9238              
9239             $RE{lgpl_2_or_later} = {
9240             name => 'LGPL-2-or-later',
9241             'name.alt.org.fedora.synth.nogrant' => 'LGPLv2+',
9242             'name.alt.org.debian' => 'LGPL-2+',
9243             'name.alt.org.spdx.until.date_20150513' => 'LGPL-2.0+',
9244             'name.alt.org.spdx.since.date_20171228' => 'LGPL-2.0-or-later',
9245             'name.alt.org.trove' => 'LGPLv2+',
9246             'name.alt.org.wikidata.synth.nogrant' => 'Q27016756',
9247             'name.alt.misc.fossology_old' => 'LGPL_v2+',
9248             caption => 'GNU Library General Public License v2 or later',
9249             'caption.alt.org.fedora' =>
9250             'GNU Lesser General Public License v2 (or 2.1) or later',
9251             'caption.alt.org.trove' =>
9252             'GNU Lesser General Public License v2 or later (LGPLv2+)',
9253             'caption.alt.org.wikidata' =>
9254             'GNU Library General Public License, version 2.0 or later',
9255             tags => [
9256             'family:gpl',
9257             'license:published:by_fsf',
9258             'type:usage:lgpl_2:or_later',
9259             ],
9260             };
9261              
9262             $RE{lgpl_2_1} = {
9263             name => 'LGPL-2.1',
9264             'name.alt.misc.short' => 'LGPLv2.1',
9265             'name.alt.org.fsf' => 'LGPLv2.1',
9266             'name.alt.org.osi' => 'LGPL-2.1',
9267             'name.alt.org.osi.iri.stem.until.date_20110430' => 'lgpl-2.1',
9268             'name.alt.org.perl' => 'lgpl_2_1',
9269             'name.alt.org.tldr.path.short' => 'lgpl2',
9270             'name.alt.org.wikidata.synth.nogrant' => 'Q18534390',
9271             'name.alt.misc.fossology_old' => 'CC_LGPL_v2.1',
9272             'name.alt.misc.fossology_old' => 'LGPL_v2.1',
9273             'name.alt.misc.fossology_old_cc' => 'CCGPL2.1',
9274             'name.alt.misc.fossology_old_short' => 'LGPL2.1',
9275             caption => 'GNU Lesser General Public License, Version 2.1',
9276             'caption.alt.org.cc.until.date_20100912' =>
9277             'Creative Commons GNU LGPL', # TODO: find official date
9278             'caption.alt.org.cc.misc.short.until.date_20100912' =>
9279             'CC-GNU LGPL', # TODO: find official date
9280             'caption.alt.org.fedora.misc.cc' => 'Creative Commons GNU LGPL',
9281             'caption.alt.org.fsf' =>
9282             'GNU Lesser General Public License (LGPL) version 2.1',
9283             'caption.alt.org.osi' => 'GNU Lesser General Public License version 2.1',
9284             'caption.alt.org.tldr' =>
9285             'GNU Lesser General Public License v2.1 (LGPL-2.1)',
9286             'caption.alt.org.wikidata' =>
9287             'GNU Lesser General Public License, version 2.1',
9288             'caption.alt.misc.uppercase' => 'GNU LESSER GENERAL PUBLIC LICENSE',
9289             iri => 'https://www.gnu.org/licenses/lgpl-2.1.html',
9290             'iri.alt.format.txt' => 'https://www.gnu.org/licenses/lgpl-2.1.txt',
9291             'iri.alt.org.cc.archive.time_20101027034910.until.date_20101027' =>
9292             'http://creativecommons.org/licenses/LGPL/2.1/'
9293             , # TODO: find official date
9294             'iri.alt.org.cc.archive.time_20100912081720.until.date_20100912' =>
9295             'http://creativecommons.org/choose/cc-lgpl'
9296             , # TODO: find official date
9297             tags => [
9298             'family:gpl',
9299             'license:published:by_fsf',
9300             'type:singleversion:lgpl',
9301             ],
9302             licenseversion => '2.1',
9303              
9304             'pat.alt.subject.license.part.preample' =>
9305             'This license, the Lesser General Public License, applies to',
9306             'pat.alt.subject.license.scope.multisection.part.tail_sample' =>
9307             '[<]?name of author[>]?[ ]'
9308             . 'This library is free software[;]? '
9309             . 'you can redistribute it and[/]or modify it '
9310             . 'under the terms of the GNU Lesser General Public License '
9311             . 'as published by the Free Software Foundation[;]? '
9312             . 'either version 2\.1 of the License, or',
9313             };
9314              
9315             $RE{lgpl_2_1_only} = {
9316             name => 'LGPL-2.1-only',
9317             'name.alt.org.spdx.until.date_20171228.synth.nogrant' => 'LGPL-2.1',
9318             'name.alt.org.spdx.since.date_20171228' => 'LGPL-2.1-only',
9319             caption => 'GNU Lesser General Public License v2.1 only',
9320             tags => [
9321             'family:gpl',
9322             'license:published:by_fsf',
9323             'type:usage:lgpl_2_1:only',
9324             ],
9325             };
9326              
9327             $RE{lgpl_2_1_or_later} = {
9328             name => 'LGPL-2.1-or-later',
9329             'name.alt.org.debian' => 'LGPL-2.1+',
9330             'name.alt.org.spdx.until.date_20150513' => 'LGPL-2.1+',
9331             'name.alt.org.spdx.since.date_20171228' => 'LGPL-2.1-or-later',
9332             'name.alt.org.wikidata.synth.nogrant' => 'Q27016757',
9333             'name.alt.misc.fossology_old' => 'LGPL_v2.1+',
9334             caption => 'GNU Lesser General Public License v2.1 or later',
9335             'caption.alt.org.wikidata' =>
9336             'GNU Lesser General Public License, version 2.1 or later',
9337             tags => [
9338             'family:gpl',
9339             'license:published:by_fsf',
9340             'type:usage:lgpl_2_1:or_later',
9341             ],
9342             };
9343              
9344             $RE{lgpl_3} = {
9345             name => 'LGPL-3',
9346             'name.alt.misc.short' => 'LGPLv3',
9347             'name.alt.org.debian' => 'LGPL-3',
9348             'name.alt.org.fsf' => 'LGPLv3',
9349             'name.alt.org.osi' => 'LGPL-3.0',
9350             'name.alt.org.osi.iri.stem.until.date_20110430' => 'lgpl-3.0',
9351             'name.alt.org.perl' => 'lgpl_3_0',
9352             'name.alt.org.tldr' => 'gnu-lesser-general-public-license-v3-(lgpl-3)',
9353             'name.alt.org.tldr.path.short' => 'lgpl-3.0',
9354             'name.alt.org.trove' => 'LGPLv3',
9355             'name.alt.org.wikidata.synth.nogrant' => 'Q18534393',
9356             'name.alt.misc.fossology_old' => 'LGPL_v3',
9357             'name.alt.misc.fossology_old_short' => 'LGPL3.0',
9358             caption => 'GNU Lesser General Public License, Version 3',
9359             'caption.alt.org.fsf' =>
9360             'GNU Lesser General Public License (LGPL) version 3',
9361             'caption.alt.org.osi' => 'GNU Lesser General Public License version 3',
9362             'caption.alt.org.perl' =>
9363             'GNU Lesser General Public License, Version 3.0',
9364             'caption.alt.org.trove' =>
9365             'GNU Lesser General Public License v3 (LGPLv3)',
9366             'caption.alt.org.osi' => 'GNU Lesser General Public License version 3',
9367             'caption.alt.org.tldr' =>
9368             'GNU Lesser General Public License v3 (LGPL-3.0)',
9369             'caption.alt.org.wikidata' =>
9370             'GNU Lesser General Public License, version 3.0',
9371             iri => 'https://www.gnu.org/licenses/lgpl-3.0.html',
9372             'iri.alt.format.txt' => 'https://www.gnu.org/licenses/lgpl-3.0.txt',
9373             tags => [
9374             'family:gpl',
9375             'license:published:by_fsf',
9376             'type:singleversion:lgpl',
9377             ],
9378             licenseversion => '3.0',
9379              
9380             'pat.alt.subject.license' =>
9381             '["][Tt]his License["] refers to version 3 of the GNU Lesser General',
9382             };
9383              
9384             $RE{lgpl_3_only} = {
9385             name => 'LGPL-3.0-only',
9386             'name.alt.org.fedora.synth.nogrant' => 'LGPLv3',
9387             'name.alt.org.spdx.until.date_20171228.synth.nogrant' => 'LGPL-3.0',
9388             'name.alt.org.spdx.since.date_20171228' => 'LGPL-3.0-only',
9389             caption => 'GNU Lesser General Public License v3.0 only',
9390             tags => [
9391             'family:gpl',
9392             'license:published:by_fsf',
9393             'type:usage:lgpl_3:only',
9394             ],
9395             };
9396              
9397             $RE{lgpl_3_or_later} = {
9398             name => 'LGPL-3.0-or-later',
9399             'name.alt.org.fedora' => 'LGPLv3+',
9400             'name.alt.org.debian' => 'LGPL-3+',
9401             'name.alt.org.spdx.until.date_20150513' => 'LGPL-3.0+',
9402             'name.alt.org.spdx.since.date_20171228' => 'LGPL-3.0-or-later',
9403             'name.alt.org.trove' => 'LGPLv3+',
9404             'name.alt.org.wikidata.synth.nogrant' => 'Q27016762',
9405             'name.alt.misc.fossology_old' => 'LGPL_v3+',
9406             caption => 'GNU Lesser General Public License v3.0 or later',
9407             'caption.alt.org.trove' =>
9408             'GNU Lesser General Public License v3 or later (LGPLv3+)',
9409             'caption.alt.org.wikidata' =>
9410             'GNU Lesser General Public License, version 3.0 or later',
9411             tags => [
9412             'family:gpl',
9413             'license:published:by_fsf',
9414             'type:usage:lgpl_3:or_later',
9415             ],
9416             };
9417              
9418             =item * lgpl_bdwgc
9419              
9420             I
9421              
9422             =cut
9423              
9424             $RE{lgpl_bdwgc} = {
9425             name => 'LGPL-bdwgc',
9426             caption =>
9427             'GNU Lesser General Public License (modified-code-notice clause)',
9428             summary =>
9429             'The GNU Lesser General Public License, with modified-code-notice clause',
9430             description => <<'END',
9431             Origin: Possibly Boehm-Demers-Weiser conservative C/C++ Garbage Collector (libgc, bdwgc, boehm-gc).
9432             END
9433             tags => [
9434             'type:unversioned',
9435             ],
9436              
9437             'pat.alt.subject.license.scope.multisection' => $P{perm_granted}
9438             . $P{to_copy_prg}
9439             . "under the terms of $the${gnu}LGPL, "
9440             . $P{retain_copr_avail_orig}
9441             . '[.][ ]'
9442             . $P{repro_code_modcode_cite_copr_avail_note}
9443             . $P{and_used_by_perm} . '[". ]'
9444             . $P{perm_dist_mod}
9445             . $P{granted}
9446             . $P{retain_copr_avail_note}
9447             . $P{note_mod_inc} . '[.]',
9448             'pat.alt.subject.license.part.credit' => 'code must cite the Copyright',
9449             };
9450              
9451             =item * libpng
9452              
9453             =cut
9454              
9455             $RE{libpng} = {
9456             name => 'Libpng',
9457             'name.alt.org.spdx' => 'Libpng',
9458             'name.alt.org.wikidata.synth.nogrant' => 'Q6542418',
9459             caption => 'libpng License',
9460             'caption.alt.org.wikidata' => 'Libpng License',
9461             tags => [
9462             'type:unversioned',
9463             ],
9464              
9465             'pat.alt.subject.license.scope.multisection' =>
9466             $P{origin_src_no_misrepresent}
9467             . '[.][ ]'
9468             . $P{altered_ver_mark}
9469             . '[.][ ]'
9470             . $P{copr_no_alter},
9471             };
9472              
9473             =item * libtiff
9474              
9475             I
9476              
9477             =cut
9478              
9479             $RE{libtiff} = {
9480             name => 'libtiff',
9481             'name.alt.org.fedora.iri.self' => 'libtiff',
9482             'name.alt.org.fedora.iri.mit_short' => 'Hylafax',
9483             'name.alt.org.spdx.since.date_20140807' => 'libtiff',
9484             'name.alt.org.wikidata.synth.nogrant' => 'Q105688056',
9485             caption => 'libtiff License',
9486             'caption.alt.org.tldr' => 'libtiff License',
9487             'summary.alt.org.fedora.iri.mit' => 'MIT-style license, Hylafax Variant',
9488             tags => [
9489             'type:unversioned',
9490             ],
9491              
9492             'pat.alt.subject.license.scope.line.scope.sentence' =>
9493             'relating to the software without the specific',
9494             };
9495              
9496             =item * liliq_p
9497              
9498             I
9499              
9500             =item * liliq_p_1_1
9501              
9502             I
9503              
9504             =cut
9505              
9506             $RE{liliq_p} = {
9507             name => 'LiLiQ-P',
9508             'name.alt.org.wikidata.synth.nogrant' => 'Q38493399',
9509             caption => 'Licence Libre du Québec – Permissive (LiLiQ-P)',
9510             'caption.alt.org.wikidata' => 'Licence Libre du Québec – Permissive',
9511             tags => [
9512             'type:versioned:decimal',
9513             ],
9514             };
9515              
9516             $RE{liliq_p_1_1} = {
9517             name => 'LiLiQ-P-1.1',
9518             'name.alt.org.osi' => 'LiLiQ-P-1.1',
9519             'name.alt.org.spdx.since.date_20160323' => 'LiLiQ-P-1.1',
9520             caption => 'Licence Libre du Québec – Permissive version 1.1',
9521             'caption.alt.org.osi' =>
9522             'Licence Libre du Québec – Permissive (LiLiQ-P) version 1.1',
9523             tags => [
9524             'type:singleversion:liliq_p',
9525             ],
9526             licenseversion => '1.1',
9527              
9528             'pat.alt.subject.license.scope.line.scope.sentence.part.part8' =>
9529             'Le conc[é]dant ne saurait [ê]tre tenu responsable de dommages subis',
9530             'pat.alt.subject.license.scope.line.scope.sentence.part.part9' =>
9531             'La pr[é]sente licence est automatiquement r[é]sili[é]e',
9532             };
9533              
9534             =item * liliq_r
9535              
9536             I
9537              
9538             =item * liliq_r_1_1
9539              
9540             I
9541              
9542             =cut
9543              
9544             $RE{liliq_r} = {
9545             name => 'LiLiQ-R',
9546             'name.alt.org.wikidata.synth.nogrant' => 'Q38490890',
9547             caption => 'Licence Libre du Québec – Réciprocité (LiLiQ-R)',
9548             'caption.alt.org.wikidata' =>
9549             'Licence Libre du Québec – Réciprocité',
9550             tags => [
9551             'type:versioned:decimal',
9552             ],
9553             };
9554              
9555             $RE{liliq_r_1_1} = {
9556             name => 'LiLiQ-R-1.1',
9557             'name.alt.org.osi' => 'LiLiQ-R-1.1',
9558             'name.alt.org.spdx.since.date_20160323' => 'LiLiQ-R-1.1',
9559             caption => 'Licence Libre du Québec – Réciprocité version 1.1',
9560             'caption.alt.org.osi' =>
9561             'Licence Libre du Québec – Réciprocité (LiLiQ-R) version 1.1',
9562             tags => [
9563             'license:contains:name:cddl_1',
9564             'license:contains:name:cecill_2_1',
9565             'license:contains:name:cecill_c',
9566             'license:contains:name:cpl_1',
9567             'license:contains:name:epl_1',
9568             'license:contains:name:eupl_1_1',
9569             'license:contains:name:gpl_2',
9570             'license:contains:name:gpl_3',
9571             'license:contains:name:lgpl_2_1',
9572             'license:contains:name:lgpl_3',
9573             'license:contains:name:liliq_r_plus_1_1',
9574             'license:contains:name:mpl_2',
9575             'type:singleversion:liliq_r',
9576             ],
9577             licenseversion => '1.1',
9578              
9579             'pat.alt.subject.license.scope.line.scope.sentence.part.part4_1' =>
9580             'Chaque fois que le licenci[é] distribue le logiciel ou un logiciel modifi[é]',
9581             };
9582              
9583             =item * liliq_r_plus
9584              
9585             I
9586              
9587             =item * liliq_r_plus_1_1
9588              
9589             I
9590              
9591             =cut
9592              
9593             $RE{liliq_r_plus} = {
9594             name => 'LiLiQ-R+',
9595             'name.alt.org.wikidata.synth.nogrant' => 'Q38493724',
9596             caption => 'Licence Libre du Québec – Réciprocité forte (LiLiQ-R+)',
9597             'caption.alt.org.wikidata' =>
9598             'Licence Libre du Québec – Réciprocité forte',
9599             tags => [
9600             'type:versioned:decimal',
9601             ],
9602             };
9603              
9604             $RE{liliq_r_plus_1_1} = {
9605             name => 'LiLiQ-R+-1.1',
9606             'name.alt.org.osi' => 'LiLiQ-Rplus-1.1',
9607             'name.alt.org.spdx.since.date_20160323' => 'LiLiQ-Rplus-1.1',
9608             caption => 'Licence Libre du Québec – Réciprocité forte version 1.1',
9609             'caption.alt.org.osi' =>
9610             'Licence Libre du Québec – Réciprocité forte (LiLiQ-R+) version 1.1',
9611             tags => [
9612             'license:contains:name:cecill_2_1',
9613             'license:contains:name:cpl_1',
9614             'license:contains:name:epl_1',
9615             'license:contains:name:eupl_1_1',
9616             'license:contains:name:gpl_2',
9617             'license:contains:name:gpl_3',
9618             'type:singleversion:liliq_r_plus',
9619             ],
9620             licenseversion => '1.1',
9621              
9622             'pat.alt.subject.license.scope.line.scope.sentence.part.part4_1' =>
9623             'Chaque fois que le licenci[é] distribue le logiciel, un logiciel modifi[é], ou',
9624             };
9625              
9626             =item * llgpl
9627              
9628             =cut
9629              
9630             $RE{llgpl} = {
9631             name => 'LLGPL',
9632             'name.alt.org.fedora' => 'LLGPL',
9633             'name.alt.org.tldr' => 'lisp-lesser-general-public-license',
9634             caption => 'Lisp Lesser General Public License',
9635             'caption.alt.org.fedora' => 'Lisp Library General Public License',
9636             'caption.alt.org.tldr' => 'Lisp Lesser General Public License (LLGPL)',
9637             iri => 'http://opensource.franz.com/preamble.html',
9638             'iri.alt.misc.cliki' => 'http://www.cliki.net/LLGPL',
9639             tags => [
9640             'license:contains:license:lgpl_2_1',
9641             'type:unversioned',
9642             ],
9643             };
9644              
9645             =item * lpl
9646              
9647             I
9648              
9649             =item * lpl_1
9650              
9651             I
9652              
9653             =item * lpl_1_02
9654              
9655             I
9656              
9657             =cut
9658              
9659             $RE{lpl} = {
9660             name => 'LPL',
9661             'name.alt.org.fedora' => 'LPL',
9662             'name.alt.org.osi.iri.stem.until.date_20110430' => 'plan9',
9663             'name.alt.org.wikidata.synth.nogrant' => 'Q6696468',
9664             caption => 'Lucent Public License',
9665             'caption.alt.org.fedora' => 'Lucent Public License (Plan9)',
9666             tags => [
9667             'type:versioned:decimal',
9668             ],
9669             };
9670              
9671             $RE{lpl_1} = {
9672             name => 'LPL-1.0',
9673             'name.alt.org.osi' => 'LPL-1.0',
9674             'name.alt.org.spdx' => 'LPL-1.0',
9675             'name.alt.misc.fossology_old' => 'Lucent_v1.0',
9676             'name.alt.misc.fossology_old_short' => 'Lucent1.0',
9677             caption => 'Lucent Public License Version 1.0',
9678             'caption.alt.org.osi' => 'Lucent Public License, Plan 9, version 1.0',
9679             'caption.alt.org.spdx.until.date_20130117' =>
9680             'Lucent Public License Version 1.0 (Plan9)',
9681             'caption.alt.org.spdx.since.date_20130117' =>
9682             'Lucent Public License Version 1.0',
9683             'caption.alt.org.osi.misc.list' =>
9684             'Lucent Public License ("Plan9"), version 1.0',
9685             tags => [
9686             'type:singleversion:lpl',
9687             ],
9688             licenseversion => '1.0',
9689              
9690             'pat.alt.subject.license.scope.multisection.part.head' =>
9691             '(?:Lucent Public License Version 1\.0[ ])?'
9692             . 'THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS PUBLIC LICENSE [(]["]AGREEMENT["][)][. ]'
9693             . "ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT[']S ACCEPTANCE OF THIS AGREEMENT[.][ ]"
9694             . '[*)][ ]?DEFINITIONS[ ]'
9695             . '["]Contribution["] means[:"]?[ ]'
9696             . '[*)]in the case of[ word]{0,15}, the Original Program, and[ ]'
9697             . '[*)]in the case of each Contributor,[ ]'
9698             . '[*)]changes to the Program, and[ ]'
9699             . '[*)]additions to the Program[;]'
9700             . '[ ]where such changes and[/]or additions to the Program originate from',
9701             };
9702              
9703             $RE{lpl_1_02} = {
9704             name => 'LPL-1.02',
9705             'name.alt.org.osi' => 'LPL-1.02',
9706             'name.alt.org.osi.iri.stem.until.date_20110430' => 'lucent1.02',
9707             'name.alt.org.spdx' => 'LPL-1.02',
9708             'name.alt.misc.fossology_old' => 'Lucent_v1.02',
9709             'name.alt.misc.fossology_old_short' => 'Lucent1.02',
9710             caption => 'Lucent Public License v1.02',
9711             'caption.alt.org.osi' => 'Lucent Public License Version 1.02',
9712             'caption.alt.org.tldr' => 'Lucent Public License v1.02 (LPL-1.02)',
9713             description => <<'END',
9714             Identical to Lucent Public License Version 1.0, except...
9715             * rephrase Contribution definition
9716             * rephrase Contributor identification clause in section 3.C
9717             * add export-control clause as section 7
9718             END
9719             tags => [
9720             'type:singleversion:lpl',
9721             ],
9722             licenseversion => '1.02',
9723              
9724             'pat.alt.subject.license.scope.multisection.part.head' =>
9725             '(?:Lucent Public License Version 1\.02[ ])?'
9726             . 'THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS PUBLIC LICENSE [(]["]AGREEMENT["][)][. ]'
9727             . "ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT[']S ACCEPTANCE OF THIS AGREEMENT[.][ ]"
9728             . '[*)][ ]?DEFINITIONS[ ]'
9729             . '["]Contribution["] means[:"]?[ ]'
9730             . '[*)]in the case of Lucent Technologies Inc\. [(]["]LUCENT["][)], the Original Program, and[ ]'
9731             . '[*)]in the case of each Contributor,[ ]'
9732             . '[*)]changes to the Program, and[ ]'
9733             . '[*)]additions to the Program[;]'
9734             . '[ ]where such changes and[/]or additions to the Program were added',
9735             };
9736              
9737             =item * lppl
9738              
9739             =item * lppl_1
9740              
9741             =item * lppl_1_1
9742              
9743             =item * lppl_1_2
9744              
9745             =item * lppl_1_3a
9746              
9747             =item * lppl_1_3c
9748              
9749             =cut
9750              
9751             $RE{lppl} = {
9752             name => 'LPPL',
9753             'name.alt.org.fedora' => 'LPPL',
9754             'name.alt.org.osi.iri.stem.until.date_20110430' => 'lppl',
9755             'name.alt.org.wikidata.synth.nogrant' => 'Q1050635',
9756             caption => 'LaTeX Project Public License',
9757             'caption.alt.org.wikipedia' => 'LaTeX Project Public License',
9758             tags => [
9759             'type:versioned:decimal',
9760             ],
9761             };
9762              
9763             $RE{lppl_1} = {
9764             name => 'LPPL-1.0',
9765             'name.alt.org.spdx' => 'LPPL-1.0',
9766             'name.alt.misc.fossology_old' => 'LPPL_v1.0',
9767             'name.alt.misc.fossology_old_short' => 'LaTeX1.0',
9768             caption => 'LaTeX Project Public License 1',
9769             'caption.alt.org.spdx' => 'LaTeX Project Public License v1.0',
9770             tags => [
9771             'license:contains:grant',
9772             'type:singleversion:lppl',
9773             ],
9774             licenseversion => '1.0',
9775              
9776             'pat.alt.subject.license' => 'LPPL Version 1\.0 1999[-]03[-]01',
9777             };
9778              
9779             $RE{lppl_1_1} = {
9780             name => 'LPPL-1.1',
9781             'name.alt.org.spdx' => 'LPPL-1.1',
9782             'name.alt.misc.fossology_old' => 'LPPL_v1.1',
9783             'name.alt.misc.fossology_old_short' => 'LaTeX1.1',
9784             caption => 'LaTeX Project Public License 1.1',
9785             'caption.alt.org.spdx' => 'LaTeX Project Public License v1.1',
9786             tags => [
9787             'license:contains:grant',
9788             'type:singleversion:lppl',
9789             ],
9790             licenseversion => '1.1',
9791              
9792             'pat.alt.subject.license' => 'LPPL Version 1\.1 1999[-]07[-]10',
9793             };
9794              
9795             $RE{lppl_1_2} = {
9796             name => 'LPPL-1.2',
9797             'name.alt.org.spdx' => 'LPPL-1.2',
9798             'name.alt.misc.fossology_old' => 'LPPL_v1.2',
9799             'name.alt.misc.fossology_old_short' => 'LaTeX1.2',
9800             caption => 'LaTeX Project Public License 1.2',
9801             'caption.alt.org.spdx' => 'LaTeX Project Public License v1.2',
9802             tags => [
9803             'license:contains:grant',
9804             'type:singleversion:lppl',
9805             ],
9806             licenseversion => '1.2',
9807              
9808             'pat.alt.subject.license' => 'LPPL Version 1\.2 1999[-]09[-]03',
9809             };
9810              
9811             $RE{lppl_1_3a} = {
9812             name => 'LPPL-1.3a',
9813             'name.alt.org.spdx.since.date_20130117' => 'LPPL-1.3a',
9814             'name.alt.misc.fossology_old' => 'LPPL_v1.3a',
9815             'name.alt.misc.fossology_old_short' => 'LaTeX1.3a',
9816             caption => 'LaTeX Project Public License 1.3a',
9817             'caption.alt.org.spdx.until.date_20160103' =>
9818             'LaTeX Project Public License 1.3a',
9819             'caption.alt.org.spdx.since.date_20160103' =>
9820             'LaTeX Project Public License v1.3a',
9821             tags => [
9822             'license:contains:grant',
9823             'type:singleversion:lppl',
9824             ],
9825             licenseversion => '1.3a',
9826              
9827             'pat.alt.subject.license' => 'LPPL Version 1\.3a 2004[-]10[-]01',
9828             };
9829              
9830             $RE{lppl_1_3c} = {
9831             name => 'LPPL-1.3c',
9832             'name.alt.org.osi' => 'LPPL-1.3c',
9833             'name.alt.org.spdx' => 'LPPL-1.3c',
9834             'name.alt.misc.fossology_old' => 'LPPL_v1.3c',
9835             'name.alt.misc.fossology_old_short' => 'LaTeX1.3c',
9836             caption => 'LaTeX Project Public License 1.3c',
9837             'caption.alt.org.osi' => 'LaTeX Project Public License, Version 1.3c',
9838             'caption.alt.org.osi.misc.list' => 'LaTeX Project Public License 1.3c',
9839             'caption.alt.org.spdx' => 'LaTeX Project Public License v1.3c',
9840             'caption.alt.org.tldr' =>
9841             'LaTeX Project Public License v1.3c (LPPL-1.3c)',
9842             iri => 'https://www.latex-project.org/lppl.txt',
9843             tags => [
9844             'license:contains:grant',
9845             'type:singleversion:lppl',
9846             ],
9847             licenseversion => '1.3c',
9848              
9849             'pat.alt.subject.license' => 'LPPL Version 1\.3c 2008[-]05[-]04',
9850             };
9851              
9852             =item * miros
9853              
9854             I
9855              
9856             =cut
9857              
9858             $RE{miros} = {
9859             name => 'MirOS',
9860             'name.alt.org.fedora' => 'MirOS',
9861             'name.alt.org.osi' => 'MirOS',
9862             'name.alt.org.osi.iri.stem.until.date_20110430' => 'miros',
9863             'name.alt.org.spdx' => 'MirOS',
9864             'name.alt.org.wikidata.synth.nogrant' => 'Q1951343',
9865             caption => 'The MirOS License',
9866             'caption.alt.org.fedora' => 'MirOS License',
9867             'caption.alt.org.osi' => 'MirOS Licence',
9868             'caption.alt.org.spdx.until.date_20171228' => 'MirOS Licence',
9869             'caption.alt.org.spdx.since.date_20171228.until.date_20191022' =>
9870             'MirOS License',
9871             'caption.alt.org.spdx.since.date_20191022' => 'The MirOS License',
9872             'caption.alt.org.tldr' => 'MirOS License (MirOS)',
9873             'caption.alt.org.trove' => 'MirOS License (MirOS)',
9874             'caption.alt.org.wikidata' => 'MirOS Licence',
9875             tags => [
9876             'license:is:grant',
9877             'type:unversioned',
9878             ],
9879              
9880             'pat.alt.subject.license.scope.line.scope.sentence' =>
9881             'merge, give away, or sublicence',
9882             };
9883              
9884             =item * mit_0
9885              
9886             I
9887              
9888             =cut
9889              
9890             $RE{mit_0} = {
9891             name => 'MIT-0',
9892             'name.alt.org.fedora.iri.self.since.date_20210215' => 'MIT-0',
9893             'name.alt.org.osi' => 'MIT-0',
9894             'name.alt.org.spdx.since.date_20180414' => 'MIT-0',
9895             'name.alt.org.wikidata.synth.nogrant' => 'Q67538600',
9896             caption => 'MIT No Attribution',
9897             'caption.alt.org.fedora.since.date_20210215' =>
9898             'MIT No Attribution (MIT-0)',
9899             'caption.alt.org.osi' => 'MIT No Attribution License',
9900             'caption.alt.org.trove' => 'MIT No Attribution License (MIT-0)',
9901             'caption.alt.org.wikidata' => 'MIT No Attribution License',
9902             description => <<'END',
9903             Identical to MIT (Expat), except...
9904             * omit retention clause
9905             END
9906             tags => [
9907             'family:mit',
9908             'license:is:grant',
9909             'type:unversioned',
9910             ],
9911              
9912             'pat.alt.subject.license.scope.line.scope.sentence' =>
9913             'to whom the Software is furnished to do so[.][ ]'
9914             . $P{asis_sw_warranty},
9915             };
9916              
9917             =item * mit_advertising
9918              
9919             =cut
9920              
9921             $RE{mit_advertising} = {
9922             name => 'MIT-advertising',
9923             'name.alt.org.spdx.since.date_20140807' => 'MIT-advertising',
9924             caption => 'Enlightenment License (e16)',
9925             'caption.alt.org.fedora.iri.self' => 'MIT With Advertising',
9926             tags => [
9927             'family:mit',
9928             'license:is:grant',
9929             'type:unversioned',
9930             ],
9931              
9932             'pat.alt.subject.license.scope.sentence' => $P{note_marketing}
9933             . '\b[^.,]+, and '
9934             . $P{ack_doc_mat_pkg_use},
9935             };
9936              
9937             =item * mit_cmu
9938              
9939             =cut
9940              
9941             $RE{mit_cmu} = {
9942             name => 'MIT-CMU',
9943             'name.alt.org.spdx.since.date_20140807' => 'MIT-CMU',
9944             'name.alt.org.wikidata.synth.nogrant' => 'Q2939745',
9945             caption => 'CMU License',
9946             'caption.alt.org.fedora' => 'CMU License (BSD like)',
9947             'caption.alt.org.fedora.iri.mit' => 'CMU Style',
9948             'caption.alt.org.tldr' => 'CMU License',
9949             'caption.alt.org.wikidata' => 'Carnegie Mellon University License',
9950             description => <<'END',
9951             Identical to NTP, except...
9952             * omit explicit permission for charging fee
9953             * exclude suitability disclaimer
9954             * exclude terse "as is" warranty disclaimer
9955             * include elaborate warranty disclaimer
9956             * include liability disclaimer
9957              
9958             SPDX and fedora sample seem not generic but the unique file COPYING from project net-snmp.
9959             END
9960             tags => [
9961             'family:mit',
9962             'license:is:grant',
9963             'type:unversioned',
9964             ],
9965              
9966             'pat.alt.subject.license.scope.sentence' => 'Permission '
9967             . $P{to_dist}
9968             . $P{sw_doc_nofee}
9969             . $P{granted}
9970             . $P{retain_copr_appear}
9971             . ' and that '
9972             . $P{repro_copr_perm_appear_doc}
9973             . ', and that '
9974             . $P{nopromo_name_written} . '[.]',
9975             'pat.alt.subject.license.part.endorsement' =>
9976             'without specific written permission',
9977             };
9978              
9979             =item * mit_cmu_warranty
9980              
9981             =cut
9982              
9983             $RE{mit_cmu_warranty} = {
9984             name => 'SMLNJ',
9985             'name.alt.org.debian' => 'MIT-CMU~warranty',
9986             'name.alt.org.spdx.since.date_20130117' => 'SMLNJ',
9987             'name.alt.org.spdx.misc.long.since.date_20140807.until.date_20150513' =>
9988             'StandardML-NJ',
9989             'name.alt.org.wikidata.synth.nogrant' => 'Q99635287',
9990             caption => 'Standard ML of New Jersey License',
9991             'caption.alt.org.tldr' => 'Standard ML of New Jersey License (SMLNJ)',
9992             'summary.alt.org.fedora.iri.mit' =>
9993             'MIT-style license, Standard ML of New Jersey Variant',
9994             'summary.alt.org.fedora.iri.mit_semishort' =>
9995             'MIT-style license, MLton variant',
9996             description => <<'END',
9997             Identical to MIT-CMU, except...
9998             * add requirement of "warranty disclaimer" appearing in documentation
9999             END
10000             tags => [
10001             'family:mit',
10002             'license:is:grant',
10003             'type:unversioned',
10004             ],
10005              
10006             'pat.alt.subject.license.scope.sentence' => 'Permission '
10007             . $P{to_dist}
10008             . $P{sw_doc_nofee}
10009             . $P{granted}
10010             . $P{retain_copr_appear}
10011             . ' and that '
10012             . $P{repro_copr_perm_warr_appear_doc}
10013             . ', and that '
10014             . $P{nopromo_name_written_prior} . '[.]',
10015             'pat.alt.subject.license.part.disclaimer' => 'warranty disclaimer appear',
10016             };
10017              
10018             =item * mit_enna
10019              
10020             =cut
10021              
10022             $RE{mit_enna} = {
10023             name => 'MIT-enna',
10024             'name.alt.org.fedora.iri.mit_short' => 'enna',
10025             'name.alt.org.spdx.since.date_20140807' => 'MIT-enna',
10026             caption => 'enna License',
10027             'caption.alt.org.tldr' => 'enna License',
10028             'summary.alt.org.fedora.iri.mit' => 'MIT-style license, enna variant',
10029             tags => [
10030             'family:mit',
10031             'license:is:grant',
10032             'type:unversioned',
10033             ],
10034              
10035             'pat.alt.subject.license.scope.section' => $P{perm_granted}
10036             . $P{free_charge}
10037             . $P{to_pers}
10038             . $P{the_sw}
10039             . $P{to_deal_the_sw_rights}
10040             . $P{subj_cond}
10041             . $P{to_copy_sublicence_conditions}
10042             . '[:]?[ ]'
10043             . $P{retain_copr_perm_sw_copr} . '[. ]'
10044             . $P{ack_pub_use_nosrc} . '[. ]'
10045             . 'This includes acknowledgments '
10046             . 'in either Copyright notices, Manuals, Publicity and Marketing documents '
10047             . 'or any documentation provided '
10048             . 'with any product containing this software[. ]'
10049             . $P{license_not_lib} . '[.]',
10050             'pat.alt.subject.license.scope.line' => $P{ack_pub_use_nosrc},
10051             };
10052              
10053             =item * mit_epinions
10054              
10055             I
10056              
10057             =cut
10058              
10059             $RE{mit_epinions} = {
10060             'name.alt.org.debian' => 'MIT~Epinions',
10061             'summary.alt.org.fedora.iri.mit' => 'MIT-style license, Epinions Variant',
10062             tags => [
10063             'family:mit',
10064             'license:is:grant',
10065             'type:unversioned',
10066             ],
10067              
10068             'pat.alt.subject.license.scope.line.scope.sentence' =>
10069             'Subject to the following 3 conditions',
10070             };
10071              
10072             =item * mit_feh
10073              
10074             =cut
10075              
10076             $RE{mit_feh} = {
10077             name => 'MIT-feh',
10078             'name.alt.org.fedora.iri.mit_short' => 'feh',
10079             'name.alt.org.spdx.since.date_20140807' => 'MIT-feh',
10080             caption => 'feh License',
10081             'caption.alt.org.tldr' => 'feh License',
10082             'summary.alt.org.fedora.iri.mit' => 'MIT-style license, feh variant',
10083             tags => [
10084             'family:mit',
10085             'license:is:grant',
10086             'type:unversioned',
10087             ],
10088              
10089             'pat.alt.subject.license.scope.paragraph' => $P{perm_granted}
10090             . $P{free_charge}
10091             . $P{to_pers}
10092             . $P{the_sw}
10093             . $P{to_deal_the_sw_rights}
10094             . $P{to_copy_sublicence_conditions}
10095             . '[:]?[ ]'
10096             . $P{retain_copr_perm_sw_doc} . ' and '
10097             . $P{ack_doc_pkg_use} . '[.]',
10098             };
10099              
10100             =item * mit_new
10101              
10102             =cut
10103              
10104             $RE{mit_new} = {
10105             'name.alt.org.debian' => 'Expat',
10106             'name.alt.org.osi' => 'MIT',
10107             'name.alt.org.osi.iri.stem.until.date_20110430' => 'mit-license',
10108             'name.alt.org.perl' => 'mit',
10109             'name.alt.org.spdx' => 'MIT',
10110             'name.alt.org.tldr' => 'mit-license',
10111             'name.alt.org.tldr.path.short' => 'mit',
10112             'name.alt.org.wikidata.synth.nogrant' => 'Q18526198',
10113             caption => 'MIT License',
10114             'caption.alt.org.debian' => 'Expat License',
10115             'caption.alt.org.fedora' => 'MIT license (also X11)',
10116             'caption.alt.org.osi' => 'The MIT License',
10117             'caption.alt.org.osi.misc.list' => 'MIT License',
10118             'caption.alt.org.osi.misc.cat_list' => 'MIT license',
10119             'caption.alt.org.perl' => 'MIT (aka X11) License',
10120             'caption.alt.org.tldr' => 'MIT License (Expat)',
10121             'summary.alt.org.fedora.iri.mit' =>
10122             'MIT-style license, Modern Style with sublicense',
10123             'caption.alt.org.wikidata' => 'Expat license',
10124             'caption.alt.org.wikipedia' => 'MIT License',
10125             'caption.alt.misc.wayland' => 'the MIT Expat license',
10126             'caption.alt.misc.mono' => 'the MIT X11 license',
10127             'caption.alt.misc.mono_slash' => 'the MIT/X11 license',
10128             iri => 'http://www.jclark.com/xml/copying.txt',
10129             description => <<'END',
10130             Origin: X11 Licene
10131              
10132             Identical to X11 License, except...
10133             * drop non-endorsement clause at the end
10134             * drop trademark notice at the end
10135             END
10136             tags => [
10137             'family:mit',
10138             'license:is:grant',
10139             'license:published:by_james_clark',
10140             'type:unversioned',
10141             ],
10142              
10143             'pat.alt.subject.license.scope.multisection' =>
10144             $P{to_copy_sublicence_conditions}
10145             . '[:][ ]'
10146             . $P{retain_copr_perm_subst},
10147             };
10148              
10149             =item * mit_new_materials
10150              
10151             =cut
10152              
10153             $RE{mit_new_materials} = {
10154             name => 'Khronos',
10155             caption => 'Khronos License',
10156             tags => [
10157             'family:mit',
10158             'license:is:grant',
10159             'type:unversioned',
10160             ],
10161              
10162             'pat.alt.subject.license.scope.sentence' => $P{perm_granted}
10163             . $P{free_charge}
10164             . $P{to_pers}
10165             . $P{the_material}
10166             . $P{to_deal_mat},
10167             };
10168              
10169             =item * mit_old
10170              
10171             =cut
10172              
10173             $RE{mit_old} = {
10174             'name.alt.org.debian' => 'MIT~old',
10175             'name.alt.org.gentoo' => 'Old-MIT',
10176             caption => 'MIT (old)',
10177             tags => [
10178             'family:mit',
10179             'license:is:grant',
10180             'type:unversioned',
10181             ],
10182              
10183             'pat.alt.subject.license' => $P{perm_granted} . $P{free_agree_fee},
10184             };
10185              
10186             =item * mit_oldstyle
10187              
10188             =cut
10189              
10190             $RE{mit_oldstyle} = {
10191             'name.alt.org.debian' => 'MIT~oldstyle',
10192             caption => 'MIT (Old Style)',
10193             'summary.alt.org.fedora.iri.mit' => 'MIT-style license, Old Style',
10194             description => <<'END',
10195             Origin: Possibly by Jamie Zawinski in 1993 for xscreensaver.
10196             END
10197             tags => [
10198             'family:mit',
10199             'license:is:grant',
10200             'type:unversioned',
10201             ],
10202              
10203             'pat.alt.subject.license.scope.line.scope.paragraph' =>
10204             'documentation[. ]No representations are made',
10205             };
10206              
10207             =item * mit_oldstyle_disclaimer
10208              
10209             =cut
10210              
10211             $RE{mit_oldstyle_disclaimer} = {
10212             'name.alt.org.debian' => 'MIT~oldstyle~disclaimer',
10213             caption => 'MIT (Old Style, legal disclaimer)',
10214             'summary.alt.org.fedora.iri.mit' =>
10215             'MIT-style license, Old Style with legal disclaimer',
10216             tags => [
10217             'family:mit',
10218             'license:is:grant',
10219             'type:unversioned',
10220             ],
10221              
10222             'pat.alt.subject.license.scope.multisection' =>
10223             'supporting documentation[.][ ]' . $P{asis_name_sw},
10224             };
10225              
10226             =item * mit_oldstyle_permission
10227              
10228             =cut
10229              
10230             $RE{mit_oldstyle_permission} = {
10231             'name.alt.org.debian' => 'MIT~oldstyle~permission',
10232             'summary.alt.org.fedora.iri.mit' =>
10233             'MIT-style license, Old Style (no advertising without permission)',
10234             tags => [
10235             'family:mit',
10236             'license:is:grant',
10237             'type:unversioned',
10238             ],
10239              
10240             'pat.alt.subject.license.scope.multisection' => $P{without_written_prior}
10241             . '[.][ ]'
10242             . $P{asis_name_sw},
10243             };
10244              
10245             =item * mit_open_group
10246              
10247             I
10248              
10249             =cut
10250              
10251             $RE{mit_open_group} = {
10252             name => 'MIT-Open-Group',
10253             'name.alt.org.spdx.since.date_20201125' => 'MIT-Open-Group',
10254             caption => 'MIT Open Group variant',
10255             description => <<'END',
10256             Identical to NTP, except...
10257             * add explicit permission to sell
10258             * omit explicit permission to charge or not charge fee
10259             * extend permissions with note that they are granted without fee
10260             * add retain-copyright-notices clause
10261             * rephrase disclaimers
10262             * rephrase non-endorsement clause and move it to the end
10263             END
10264             tags => [
10265             'family:mit',
10266             'license:contains:license:hpnd_sell',
10267             'license:is:grant',
10268             'type:unversioned',
10269             ],
10270              
10271             'pat.alt.subject.license.scope.paragraph' =>
10272             'Permission to use, copy, modify, distribute, and sell '
10273             . 'this software and its documentation '
10274             . 'for any purpose is hereby granted without fee, '
10275             . 'provided that the above copyright notice appears? in all copies,?(?: and)? '
10276             . 'that both(?: that)?(?: the)? copyright notice '
10277             . 'and this permission notice appear in supporting documentation[.]',
10278             };
10279              
10280             =item * mit_openvision
10281              
10282             I
10283              
10284             =cut
10285              
10286             $RE{mit_openvision} = {
10287             'name.alt.org.debian' => 'MIT~OpenVision',
10288             'summary.alt.org.fedora.iri.mit' =>
10289             'MIT-style license, OpenVision Variant',
10290             tags => [
10291             'family:mit',
10292             'license:is:grant',
10293             'type:unversioned',
10294             ],
10295              
10296             'pat.alt.subject.license.scope.line.scope.sentence' =>
10297             'You may freely use and distribute the Source Code and Object Code',
10298             };
10299              
10300             =item * mit_osf
10301              
10302             I
10303              
10304             =cut
10305              
10306             $RE{mit_osf} = {
10307             'name.alt.org.debian' => 'MIT~OSF',
10308             'summary.alt.org.fedora.iri.mit' => 'MIT-style license, HP Variant',
10309             tags => [
10310             'family:mit',
10311             'license:is:grant',
10312             'type:unversioned',
10313             ],
10314              
10315             'pat.alt.subject.license.scope.line.scope.sentence' =>
10316             'To anyone who acknowledges that this file is provided',
10317             };
10318              
10319             =item * mit_unixcrypt
10320              
10321             I
10322              
10323             =cut
10324              
10325             $RE{mit_unixcrypt} = {
10326             'name.alt.org.debian' => 'MIT~UnixCrypt',
10327             'summary.alt.org.fedora.iri.mit' =>
10328             'MIT-style license, UnixCrypt Variant',
10329             tags => [
10330             'family:mit',
10331             'license:is:grant',
10332             'type:unversioned',
10333             ],
10334              
10335             'pat.alt.subject.license.scope.line.scope.sentence' =>
10336             'for non-commercial or commercial purposes and without fee',
10337             };
10338              
10339             =item * mit_whatever
10340              
10341             I
10342              
10343             =cut
10344              
10345             $RE{mit_whatever} = {
10346             'name.alt.org.debian' => 'MIT~whatever',
10347             'summary.alt.org.fedora.iri.mit' => 'MIT-style license, Whatever Variant',
10348             tags => [
10349             'family:mit',
10350             'license:is:grant',
10351             'type:unversioned',
10352             ],
10353              
10354             'pat.alt.subject.license.scope.sentence' =>
10355             'and to alter it and redistribute it freely[.]',
10356             };
10357              
10358             =item * mit_widget
10359              
10360             I
10361              
10362             =cut
10363              
10364             $RE{mit_widget} = {
10365             'name.alt.org.debian' => 'MIT~Widget',
10366             'summary.alt.org.fedora.iri.mit' => 'MIT-style license, Nuclear Variant',
10367             tags => [
10368             'family:mit',
10369             'license:is:grant',
10370             'type:unversioned',
10371             ],
10372              
10373             'pat.alt.subject.license.scope.line.scope.sentence' =>
10374             'its documentation for NON-COMMERCIAL or COMMERCIAL purposes',
10375             };
10376              
10377             =item * mit_xfig
10378              
10379             I
10380              
10381             =cut
10382              
10383             $RE{mit_xfig} = {
10384             'name.alt.org.debian' => 'MIT~Xfig',
10385             'name.alt.org.fedora.iri.mit_short' => 'Xfig',
10386             'summary.alt.org.fedora.iri.mit' => 'MIT-style license, Xfig Variant',
10387             tags => [
10388             'family:mit',
10389             'license:is:grant',
10390             'type:unversioned',
10391             ],
10392              
10393             'pat.alt.subject.license.scope.line.scope.sentence' =>
10394             'Any party obtaining a copy of these files is granted, free of charge',
10395             };
10396              
10397             =item * motosoto
10398              
10399             I
10400              
10401             =cut
10402              
10403             $RE{motosoto} = {
10404             name => 'Motosoto',
10405             'name.alt.org.fedora' => 'Motosoto',
10406             'name.alt.org.osi' => 'Motosoto',
10407             'name.alt.org.osi.iri.stem.until.date_20110430' => 'motosoto',
10408             'name.alt.org.spdx' => 'Motosoto',
10409             'name.alt.org.wikidata.synth.nogrant' => 'Q38494497',
10410             'name.alt.misc.fossology_old' => 'Motosoto_v0.9.1',
10411             caption => 'Motosoto License',
10412             'caption.alt.org.osi' => 'Motosoto Open Source License - Version 0.9.1',
10413             'caption.alt.org.osi.misc.list' => 'Motosoto License',
10414             'caption.alt.org.trove' => 'Motosoto License',
10415             'caption.alt.org.wikidata' => 'Motosoto Open Source License',
10416             description => <<'END',
10417             Identical to Jabber Open Source License, except...
10418             * rephrase grant clause to explicitly cover whole product (not only modified parts)
10419             * extend grant clause to explicitly cover creation of derivative works
10420             * replace references, e.g. "Jabber Server" -> "Community Portal Server"
10421             * document that license is derived from Jabber Open Source License
10422             * drop some disclaimers
10423             END
10424             tags => [
10425             'type:unversioned',
10426             ],
10427              
10428             'pat.alt.subject.license.part.header' =>
10429             'MOTOSOTO OPEN SOURCE LICENSE[ - ]Version 0\.9\.1',
10430             'pat.alt.subject.license.part.intro' =>
10431             'This Motosoto Open Source License [(]the ["]License["][)]'
10432             . ' applies to ["]Community Portal Server["] and related software products',
10433             'pat.alt.subject.license.scope.multisection.part.part7' =>
10434             'Versions of This License'
10435             . '[.][ ][*)]'
10436             . 'Version[. ]The Motosoto Open Source License is derived',
10437             };
10438              
10439             =item * mpich2
10440              
10441             I
10442              
10443             =cut
10444              
10445             $RE{mpich2} = {
10446             name => 'mpich2',
10447             'name.alt.org.spdx.since.date_20140807' => 'mpich2',
10448             'name.alt.org.wikidata.synth.nogrant' => 'Q17070027',
10449             caption => 'mpich2 License',
10450             'caption.alt.org.fedora' => 'mpich2 License',
10451             'caption.alt.org.wikidata' => 'MPICH2 license',
10452             'summary.alt.org.fedora.iri.mit' => 'MIT-style license, mpich2 variant',
10453             tags => [
10454             'family:mit',
10455             'license:is:grant',
10456             'type:unversioned',
10457             ],
10458              
10459             'pat.alt.subject.license.scope.paragraph' => $P{perm_granted}
10460             . $P{to_reproduce} . '[. ]'
10461             . 'This software was authored by',
10462             };
10463              
10464             =item * mpl
10465              
10466             =item * mpl_1
10467              
10468             I
10469              
10470             =item * mpl_1_1
10471              
10472             I
10473              
10474             =item * mpl_2
10475              
10476             I
10477              
10478             =item * mpl_2_no_copyleft_exception
10479              
10480             I
10481              
10482             =cut
10483              
10484             $RE{mpl} = {
10485             name => 'MPL',
10486             'name.alt.org.wikidata.synth.nogrant' => 'Q308915',
10487             caption => 'Mozilla Public License',
10488             'caption.alt.org.wikipedia' => 'Mozilla Public License',
10489             iri => 'https://www.mozilla.org/MPL',
10490             tags => [
10491             'type:versioned:decimal',
10492             ],
10493              
10494             'pat.alt.subject.name' => "$the?Mozilla Public Licen[cs]e"
10495             . '(?: [(]["]?(?:[http://]mozilla.org/)?MPL["]?[)])?'
10496             . "(?: (?:as )?published by $the\{0,2}Mozilla Foundation)?",
10497             };
10498              
10499             $RE{mpl_1} = {
10500             name => 'MPL-1.0',
10501             'name.alt.org.fedora' => 'MPLv1.0',
10502             'name.alt.org.osi' => 'MPL-1.0',
10503             'name.alt.org.osi.iri.stem.until.date_20110430' => 'mozilla1.0',
10504             'name.alt.org.perl' => 'mozilla_1_0',
10505             'name.alt.org.spdx' => 'MPL-1.0',
10506             'name.alt.org.wikidata.synth.nogrant' => 'Q26737738',
10507             'name.alt.misc.fossology_old' => 'Mozilla1.0',
10508             'name.alt.misc.fossology_old_short' => 'MPL_v1.0',
10509             caption => 'Mozilla Public License 1.0',
10510             'caption.alt.org.fedora' => 'Mozilla Public License v1.0',
10511             'caption.alt.org.osi' => 'The Mozilla Public License (MPL), version 1.0',
10512             'caption.alt.org.osi.misc.list' => 'Mozilla Public License 1.0',
10513             'caption.alt.org.osi.misc.do_not_use_list' =>
10514             'Mozilla Public License, version 1.0',
10515             'caption.alt.org.perl' => 'Mozilla Public License, Version 1.0',
10516             'caption.alt.org.tldr' => 'Mozilla Public License 1.0 (MPL-1.0)',
10517             'caption.alt.org.trove' => 'Mozilla Public License 1.0 (MPL)',
10518             'caption.alt.org.wikidata' => 'Mozilla Public License, version 1.0',
10519             'caption.alt.misc.trove' => 'Mozilla Public License 1.0 (MPL)',
10520             description => <<'END',
10521             Origin: Netscape Public License 1.0
10522             END
10523             tags => [
10524             'license:contains:grant',
10525             'type:singleversion:mpl',
10526             ],
10527             licenseversion => '1.0',
10528              
10529             'pat.alt.subject.license.scope.multiparagraph.part.head' =>
10530             'MOZILLA PUBLIC LICENSE[ ]Version 1\.0[ ]' . '[*)]Definitions',
10531             };
10532              
10533             $RE{mpl_1_1} = {
10534             name => 'MPL-1.1',
10535             'name.alt.org.fedora' => 'MPLv1.1',
10536             'name.alt.org.osi' => 'MPL-1.1',
10537             'name.alt.org.osi.iri.stem.until.date_20110430' => 'mozilla1.1',
10538             'name.alt.org.perl' => 'mozilla_1_1',
10539             'name.alt.org.spdx' => 'MPL-1.1',
10540             'name.alt.org.wikidata.synth.nogrant' => 'Q26737735',
10541             'name.alt.misc.fossology_old' => 'Mozilla1.1',
10542             'name.alt.misc.fossology_old_short' => 'MPL_v1.1',
10543             caption => 'Mozilla Public License 1.1',
10544             'caption.alt.org.fedora' => 'Mozilla Public License v1.1',
10545             'caption.alt.org.osi.misc.do_not_use_list' =>
10546             'Mozilla Public License, version 1.1',
10547             'caption.alt.org.perl' => 'Mozilla Public License, Version 1.1',
10548             'caption.alt.org.tldr' => 'Mozilla Public License 1.1 (MPL-1.1)',
10549             'caption.alt.org.trove' => 'Mozilla Public License 1.1 (MPL 1.1)',
10550             'caption.alt.org.trove.misc.short' => 'MPL 1.1',
10551             'caption.alt.org.wikidata' => 'Mozilla Public License, version 1.1',
10552             'caption.alt.misc.trove' => 'Mozilla Public License 1.1 (MPL 1.1)',
10553             tags => [
10554             'license:contains:grant',
10555             'type:singleversion:mpl',
10556             ],
10557             licenseversion => '1.1',
10558              
10559             'pat.alt.subject.license.scope.multiparagraph.part.head' =>
10560             'Mozilla Public License Version 1\.1[ ]' . '[*)]Definitions',
10561             };
10562              
10563             $RE{mpl_2} = {
10564             name => 'MPL-2.0',
10565             'name.alt.org.fedora' => 'MPLv2.0',
10566             'name.alt.org.osi' => 'MPL-2.0',
10567             'name.alt.org.spdx' => 'MPL-2.0',
10568             'name.alt.org.tldr' => 'mozilla-public-license-2.0-(mpl-2)',
10569             'name.alt.org.wikidata.synth.nogrant' => 'Q25428413',
10570             'name.alt.misc.fossology_old' => 'MPL_v2.0',
10571             caption => 'Mozilla Public License 2.0',
10572             'caption.alt.org.fedora' => 'Mozilla Public License v2.0',
10573             'caption.alt.org.osi' => 'Mozilla Public License 2.0',
10574             'caption.alt.org.tldr' => 'Mozilla Public License 2.0 (MPL-2.0)',
10575             'caption.alt.org.trove' => 'Mozilla Public License 2.0 (MPL 2.0)',
10576             'caption.alt.org.trove.misc.short' => 'MPL 2.0',
10577             'caption.alt.org.wikidata' => 'Mozilla Public License, version 2.0',
10578             'caption.alt.misc.trove' => 'Mozilla Public License 2.0 (MPL 2.0)',
10579             tags => [
10580             'license:contains:grant',
10581             'type:singleversion:mpl',
10582             ],
10583             licenseversion => '2.0',
10584              
10585             'pat.alt.subject.license.scope.multiparagraph.part.head' =>
10586             'Mozilla Public License Version 2\.0[ ]' . '[*)]Definitions',
10587             };
10588              
10589             $RE{mpl_2_no_copyleft_exception} = {
10590             name => 'MPL-2.0-no-copyleft-exception',
10591             'name.alt.org.spdx' => 'MPL-2.0-no-copyleft-exception',
10592             caption => 'Mozilla Public License 2.0 (no copyleft exception)',
10593             description => <<'END',
10594             Usage: When the MPL\'s Exhibit B is used,
10595             which effectively negates the copyleft compatibility clause in section 3.3.
10596             END
10597             tags => [
10598             'type:usage:ofl_1:no_copyleft_exception',
10599             ],
10600             };
10601              
10602             =item * ms_cl
10603              
10604             I
10605              
10606             =cut
10607              
10608             $RE{ms_cl} = {
10609             name => 'MS-CL',
10610             caption => 'Microsoft Shared Source Community License',
10611             caption => 'Microsoft Shared Source Community License (MS-CL)',
10612             'caption.alt.org.tldr' =>
10613             'Microsoft Shared Source Community License (MS-CL)',
10614             tags => [
10615             'type:unversioned',
10616             ],
10617              
10618             'pat.alt.subject.license.scope.line.scope.sentence' =>
10619             'If you distribute the larger work as a series of files, you must grant',
10620             };
10621              
10622             =item * ms_pl
10623              
10624             =cut
10625              
10626             $RE{ms_pl} = {
10627             name => 'MS-PL',
10628             'name.alt.org.fedora' => 'MS-PL',
10629             'name.alt.org.osi' => 'MS-PL',
10630             'name.alt.org.osi.iri.stem.until.date_20110430' => 'ms-pl',
10631             'name.alt.org.spdx' => 'MS-PL',
10632             'name.alt.org.tldr.path.short' => 'mspl',
10633             'name.alt.org.wikidata.synth.nogrant' => 'Q15477153',
10634             'name.alt.misc.fossology_old' => 'Ms-PL',
10635             caption => 'Microsoft Public License',
10636             'caption.alt.org.tldr' => 'Microsoft Public License (Ms-PL)',
10637             'iri.alt.org.wikipedia' =>
10638             'https://en.wikipedia.org/wiki/Shared_source#Microsoft_Public_License_(Ms-PL)',
10639             tags => [
10640             'license:is:grant',
10641             'type:unversioned',
10642             ],
10643              
10644             'pat.alt.subject.license.scope.multiparagraph' =>
10645             'Microsoft Public License [(]Ms-PL[)][ ]This license governs use',
10646             };
10647              
10648             =item * ms_rl
10649              
10650             =cut
10651              
10652             $RE{ms_rl} = {
10653             name => 'MS-RL',
10654             'name.alt.org.fedora' => 'MS-RL',
10655             'name.alt.org.osi' => 'MS-RL',
10656             'name.alt.org.osi.iri.stem.until.date_20110430' => 'ms-rl',
10657             'name.alt.org.spdx' => 'MS-RL',
10658             'name.alt.org.tldr.path.short' => 'nsrl',
10659             'name.alt.org.wikidata.synth.nogrant' => 'Q1772828',
10660             'name.alt.misc.fossology_old' => 'Ms-RL',
10661             caption => 'Microsoft Reciprocal License',
10662             'caption.alt.org.tldr' => 'Microsoft Reciprocal License (Ms-RL)',
10663             'iri.alt.org.wikipedia' =>
10664             'https://en.wikipedia.org/wiki/Shared_source#Microsoft_Reciprocal_License_(Ms-RL)',
10665             tags => [
10666             'license:is:grant',
10667             'type:unversioned',
10668             ],
10669              
10670             'pat.alt.subject.license.part.part3a' =>
10671             'Reciprocal Grants[-]For any file you distribute that contains code',
10672             'pat.alt.subject.license.scope.multiparagraph' =>
10673             'Microsoft Reciprocal License [(]Ms[-]RL[)][ ]This license governs use',
10674             };
10675              
10676             =item * mulan
10677              
10678             I
10679              
10680             =item * mulan_1
10681              
10682             I
10683              
10684             =item * mulan_2
10685              
10686             I
10687              
10688             =cut
10689              
10690             $RE{mulan} = {
10691             name => 'MulanPSL',
10692             caption => 'Mulan Permissive Software License',
10693             'caption.alt.lang.zh_CN' => '木兰宽松许可证',
10694             tags => [
10695             'type:versioned:decimal',
10696             ],
10697             };
10698              
10699             $RE{mulan_1} = {
10700             name => 'MulanPSL-1',
10701             'name.alt.org.spdx.since.date_20191022' => 'MulanPSL-1.0',
10702             'name.alt.org.wikidata.synth.nogrant' => 'Q66563953',
10703             caption => 'Mulan Permissive Software License, Version 1',
10704             'caption.alt.lang.zh_CN' => '木兰宽松许可证, 第1版',
10705             'caption.alt.misc.shortname' => 'Mulan PSL v1',
10706             iri => 'https://license.coscl.org.cn/MulanPSL',
10707             tags => [
10708             'license:contains:grant',
10709             'type:singleversion:mulan',
10710             ],
10711             licenseversion => '1.0',
10712              
10713             'pat.alt.subject.license.scope.sentence.part.intro' =>
10714             'Your reproduction, use, modification and distribution'
10715             . ' of the Software'
10716             . ' shall be subject to Mulan PSL v1 [(]this License[)]'
10717             . ' with following',
10718             'pat.alt.subject.license.scope.sentence.part.intro.lang.zh_CN' =>
10719             '您对["]软件["]的复制[, ]使用'
10720             . '[, ]修改及分发受木兰宽松许可证[, ]第1版[(]["]本许可证["][)]'
10721             . '的如下条款的约束',
10722             'pat.alt.subject.license.scope.multisection.part.grant' =>
10723             '[*]Software Name[*] is licensed under the Mulan PSL v1[. ]'
10724             . 'You can use this software'
10725             . ' according to the terms and conditions of the Mulan PSL v1'
10726             };
10727              
10728             $RE{mulan_2} = {
10729             name => 'MulanPSL-2',
10730             'name.alt.org.osi' => 'MulanPSL-2.0',
10731             'name.alt.org.spdx.since.date_20200515' => 'MulanPSL-2.0',
10732             'name.alt.org.wikidata.synth.nogrant' => 'Q99634430',
10733             caption => 'Mulan Permissive Software License, Version 2',
10734             'caption.alt.lang.zh_CN' => '木兰宽松许可证, 第2版',
10735             'caption.alt.org.osi' => 'Mulan Permissive Software License v2',
10736             'caption.alt.org.osi.misc.shortname' => 'MulanPSL - 2.0',
10737             'caption.alt.misc.shortname' => 'Mulan PSL v2',
10738             iri => 'https://license.coscl.org.cn/MulanPSL2',
10739             tags => [
10740             'license:contains:grant',
10741             'type:singleversion:mulan',
10742             ],
10743             licenseversion => '2.0',
10744              
10745             'pat.alt.subject.license.scope.sentence.part.intro' =>
10746             'Your reproduction, use, modification and distribution'
10747             . ' of the Software'
10748             . ' shall be subject to Mulan PSL v2 [(]this License[)]'
10749             . ' with the following terms and conditions',
10750             'pat.alt.subject.license.scope.sentence.part.intro.lang.zh_CN' =>
10751             '您对["]软件["]的复制[, ]使用'
10752             . '[, ]修改及分发受木兰宽松许可证[, ]第2版[(]["]本许可证["][)]'
10753             . '的如下条款的约束',
10754             'pat.alt.subject.license.scope.multisection.part.grant' =>
10755             '[*]Software Name[*] is licensed under Mulan PSL v2[. ]'
10756             . 'You can use this software'
10757             . ' according to the terms and conditions of the Mulan PSL v2',
10758             };
10759              
10760             =item * multics
10761              
10762             I
10763              
10764             =cut
10765              
10766             $RE{multics} = {
10767             name => 'Multics',
10768             'name.alt.org.osi' => 'Multics',
10769             'name.alt.org.osi.iri.stem.until.date_20110430' => 'multics',
10770             'name.alt.org.spdx' => 'Multics',
10771             'name.alt.org.wikidata.synth.nogrant' => 'Q38494754',
10772             caption => 'Multics License',
10773             'caption.alt.org.tldr' => 'Multics License (Multics)',
10774             description => <<'END',
10775             Identical to NTP, except...
10776             * add Paragraph "Historical Background"
10777             * omit explicit permission to charge fee
10778             * replace "software" with "programs"
10779             * extend things to retain to include historical background
10780             * omit suitability disclaimer and terse "as is" warranty disclaimer
10781             * list copyrights at bottom
10782             END
10783             tags => [
10784             'family:mit',
10785             'license:is:grant',
10786             'type:unversioned',
10787             ],
10788              
10789             'pat.alt.subject.license.scope.line.scope.sentence.part.intro' =>
10790             'This edition of the Multics software materials and documentation',
10791             'pat.alt.subject.license.scope.line.scope.sentence.part.permissions_first'
10792             => 'Permission to use, copy, modify, and distribute these programs',
10793             'pat.alt.subject.license.scope.sentence.part.permissions_middle' =>
10794             'copyright notice and(?: this)? historical background appear',
10795             };
10796              
10797             =item * nasa
10798              
10799             I
10800              
10801             =item * nasa_1_3
10802              
10803             I
10804              
10805             =cut
10806              
10807             $RE{nasa} = {
10808             name => 'NASA',
10809             'name.alt.misc.abbrev' => 'NOSA',
10810             'name.alt.org.wikidata.synth.nogrant' => 'Q6952418',
10811             caption => 'NASA Open Source Agreement',
10812             'caption.alt.org.wikipedia' => 'NASA Open Source Agreement',
10813             tags => [
10814             'type:versioned:decimal',
10815             ],
10816             };
10817              
10818             $RE{nasa_1_3} = {
10819             name => 'NASA-1.3',
10820             'name.alt.org.osi' => 'NASA-1.3',
10821             'name.alt.org.osi.iri.stem.until.date_20110430' => 'nasa1.3',
10822             'name.alt.org.spdx' => 'NASA-1.3',
10823             'name.alt.misc.fossology_old' => 'NASA_v1.3',
10824             'name.alt.misc.fossology_old_short' => 'NASA1.3',
10825             caption => 'NASA Open Source Agreement 1.3',
10826             'caption.alt.org.fedora' => 'NASA Open Source Agreement v1.3',
10827             'caption.alt.org.fedora.iri.self.synth.nogrant' =>
10828             'NASA Open Source Agreement',
10829             'caption.alt.org.osi' => 'NASA Open Source Agreement v1.3',
10830             'caption.alt.org.osi.misc.list' => 'NASA Open Source Agreement 1.3',
10831             'caption.alt.org.tldr' => 'NASA Open Source Agreement 1.3 (NASA-1.3)',
10832             iri => 'https://ti.arc.nasa.gov/opensource/nosa/',
10833             tags => [
10834             'type:singleversion:nasa',
10835             ],
10836             licenseversion => '1.3',
10837              
10838             'pat.alt.subject.license.scope.line.scope.sentence.part.definitions' =>
10839             '["]Contributor["] means Government Agency',
10840             };
10841              
10842             =item * naumen
10843              
10844             I
10845              
10846             =cut
10847              
10848             $RE{naumen} = {
10849             name => 'Naumen',
10850             'name.alt.org.fedora' => 'Naumen',
10851             'name.alt.org.osi' => 'Naumen',
10852             'name.alt.org.osi.iri.stem.until.date_20110430' => 'naumen',
10853             'name.alt.org.spdx' => 'Naumen',
10854             'name.alt.org.wikidata.synth.nogrant' => 'Q38495690',
10855             'name.alt.misc.fossology_old' => 'NAUMEN',
10856             caption => 'Naumen Public License',
10857             'caption.alt.org.osi' => 'NAUMEN Public License',
10858             'caption.alt.org.osi.misc.list' => 'Naumen Public License',
10859             'caption.alt.org.tldr' => 'Naumen Public License (Naumen)',
10860             'caption.alt.org.wikidata' => 'NAUMEN Public License',
10861             tags => [
10862             'family:bsd',
10863             'license:contains:license:bsd_3_clause',
10864             'license:is:grant',
10865             'type:unversioned',
10866             ],
10867              
10868             'pat.alt.subject.license.scope.multisection.part.part2_3' =>
10869             $P{repro_copr_cond_discl}
10870             . '[.][ ]' . '[*)]'
10871             . 'The name Zope Corporation[tm] must not '
10872             . $P{used_endorse_deriv}
10873             . $P{without_prior_written},
10874             'pat.alt.subject.license.scope.sentence.part.part3' =>
10875             'The name NAUMEN[tm] must not be used to endorse',
10876             };
10877              
10878             =item * nbpl
10879              
10880             I
10881              
10882             =item * nbpl_1
10883              
10884             I
10885              
10886             =cut
10887              
10888             $RE{nbpl} = {
10889             name => 'NBPL',
10890             caption => 'Net Boolean Public License',
10891             tags => [
10892             'type:versioned:decimal',
10893             ],
10894             };
10895              
10896             $RE{nbpl_1} = {
10897             name => 'NBPL-1.0',
10898             'name.alt.org.spdx' => 'NBPL-1.0',
10899             caption => 'Net Boolean Public License v1',
10900             'caption.alt.org.spdx.since.date_20130117' =>
10901             'Net Boolean Public License v1',
10902             'caption.alt.org.tldr' => 'Net Boolean Public License v1 (NBPL-1.0)',
10903             description => <<'END',
10904             Identical to OLDAP-1.1, exept...
10905             * title
10906             * copyright holder
10907             END
10908             tags => [
10909             'type:singleversion:nbpl',
10910             ],
10911             licenseversion => '1.0',
10912              
10913             'pat.alt.subject.license.scope.multisection.part.header' =>
10914             'The Net Boolean Public License[ ]Version 1, 22 August 1998',
10915             };
10916              
10917             =item * ncsa
10918              
10919             I
10920              
10921             =cut
10922              
10923             $RE{ncsa} = {
10924             name => 'NCSA',
10925             'name.alt.org.fedora' => 'NCSA',
10926             'name.alt.org.osi' => 'NCSA',
10927             'name.alt.org.osi.iri.stem.until.date_20110430' => 'UoI-NCSA',
10928             'name.alt.org.spdx' => 'NCSA',
10929             'name.alt.org.wikidata.synth.nogrant' => 'Q2495855',
10930             caption => 'University of Illinois/NCSA Open Source License',
10931             'caption.alt.org.fedora' =>
10932             'NCSA/University of Illinois Open Source License',
10933             'caption.alt.misc.short' => 'UIUC license',
10934             'caption.alt.org.osi' =>
10935             'The University of Illinois/NCSA Open Source License',
10936             'caption.alt.org.osi.misc.list' =>
10937             'University of Illinois/NCSA Open Source License',
10938             'caption.alt.org.tldr' =>
10939             'University of Illinois - NCSA Open Source License (NCSA)',
10940             'caption.alt.org.tldr.path.short' => 'ncsa',
10941             'caption.alt.org.trove' =>
10942             'University of Illinois/NCSA Open Source License',
10943             'caption.alt.org.wikipedia' =>
10944             'University of Illinois/NCSA Open Source License',
10945             description => <<'END',
10946             Identical to MIT (Expat), except...
10947             * replace retain-copyright-notices clause with BSD 3 Clause clauses
10948              
10949             Identical to BSD 3 Clause, except...
10950             * add MIT permissions clause
10951             * replace disclaimers with MIT disclaimers
10952             END
10953             iri =>
10954             'http://otm.illinois.edu/disclose-protect/illinois-open-source-license',
10955             tags => [
10956             'license:contains:license:bsd_3_clause',
10957             'license:contains:license:mit_new',
10958             'license:is:grant',
10959             'type:unversioned',
10960             ],
10961              
10962             'pat.alt.subject.license.scope.sentence' =>
10963             $P{to_copy_sublicence_conditions}
10964             . '[:]?[ ][*)]'
10965             . $P{retain_notice_cond_discl},
10966             };
10967              
10968             =item * ngpl
10969              
10970             =cut
10971              
10972             $RE{ngpl} = {
10973             name => 'NGPL',
10974             'name.alt.org.fedora' => 'NGPL',
10975             'name.alt.org.osi' => 'NGPL',
10976             'name.alt.org.osi.iri.stem.until.date_20110430' => 'nethack',
10977             'name.alt.org.spdx' => 'NGPL',
10978             'name.alt.org.wikidata.synth.nogrant' => 'Q20764732',
10979             'name.alt.misc.fossology_old' => 'Nethack',
10980             caption => 'Nethack General Public License',
10981             'caption.alt.org.osi' => 'The Nethack General Public License',
10982             'caption.alt.org.osi.misc.list' => 'Nethack General Public License',
10983             'caption.alt.org.tldr' => 'Nethack General Public License (NGPL)',
10984             'caption.alt.org.trove' => 'Nethack General Public License',
10985             tags => [
10986             'type:unversioned',
10987             ],
10988              
10989             'pat.alt.subject.license' =>
10990             'You may copy and distribute verbatim copies of NetHack',
10991             };
10992              
10993             =item * nokia
10994              
10995             I
10996              
10997             =cut
10998              
10999             $RE{nokia} = {
11000             name => 'Nokia',
11001             'name.alt.org.fedora' => 'Nokia',
11002             'name.alt.org.osi' => 'Nokia',
11003             'name.alt.org.osi.iri.stem.until.date_20110430' => 'nokia',
11004             'name.alt.org.osi.misc.upper' => 'NOKIA',
11005             'name.alt.org.spdx' => 'Nokia',
11006             'name.alt.org.trove' => 'NOKOS',
11007             'name.alt.org.wikidata.synth.nogrant' => 'Q38495954',
11008             'name.alt.misc.fossology_old' => 'Nokia_v1.0a',
11009             caption => 'Nokia Open Source License',
11010             'caption.alt.org.osi' => 'Nokia Open Source License Version 1.0a',
11011             'caption.alt.org.osi.misc.list' => 'Nokia Open Source License',
11012             'caption.alt.org.trove' => 'Nokia Open Source License',
11013             'caption.alt.misc.legal' => 'NOKOS License Version 1.0',
11014             'caption.alt.org.tldr' =>
11015             'Nokia Open Source License (Nokia Open Source License)',
11016             'caption.alt.org.trove' => 'Nokia Open Source License',
11017             'caption.alt.org.trove.misc.long' => 'Nokia Open Source License (NOKOS)',
11018             description => <<'END',
11019             Origin: Possibly Mozilla Public License
11020             END
11021             tags => [
11022             'type:unversioned',
11023             ],
11024              
11025             'pat.alt.subject.name.misc.free' =>
11026             '(?:Nokia|NOKOS)(?: Open Source)?(?: [Ll]icen[cs]e)?' . '(?:'
11027             . $RE{version_prefix}
11028             {'pat.alt.subject.trait.scope.line.scope.sentence'}
11029             . '1\.0a?)?',
11030             'pat.alt.subject.license.scope.line.scope.sentence.part.definitions' =>
11031             '["]Affiliates["] of a party shall mean an entity',
11032             };
11033              
11034             =item * nosl
11035              
11036             I
11037              
11038             =item * nosl_1
11039              
11040             I
11041              
11042             =cut
11043              
11044             $RE{nosl} = {
11045             name => 'NOSL',
11046             caption => 'Netizen Open Source License',
11047             'caption.alt.org.tldr' => 'Netizen Open Source License (NOSL)',
11048             tags => [
11049             'type:versioned:decimal',
11050             ],
11051             };
11052              
11053             $RE{nosl_1} = {
11054             name => 'NOSL-1.0',
11055             'name.alt.org.fedora.synth.nogrant' => 'NOSL',
11056             'name.alt.org.spdx.synth.nogrant' => 'NOSL',
11057             caption => 'Netizen Open Source License 1.0',
11058             'caption.alt.org.fedora.synth.nogrant' => 'Netizen Open Source License',
11059             'caption.alt.org.spdx.since.date_20130117.synth.nogrant' =>
11060             'Netizen Open Source License',
11061             description => <<'END',
11062             Origin: Mozilla Public License 1.1
11063              
11064             Identical to Mozilla Pulbic License 1.0, except...
11065             * replace "Mozilla", "Netscape", "MPL" etc. with "Netizen" and "NOSL" in section 6
11066             * add disclaimer as section 7.1
11067             * change requirement of governance from California to Australia in section 11
11068             END
11069             tags => [
11070             'license:contains:grant',
11071             'type:singleversion:nosl',
11072             ],
11073             licenseversion => '1.0',
11074              
11075             'pat.alt.subject.license.scope.multiparagraph.part.head' =>
11076             'NETIZEN OPEN SOURCE LICENSE[ ]Version 1\.0[ ]' . '[*)]Definitions',
11077             };
11078              
11079             =item * npl
11080              
11081             =item * npl_1
11082              
11083             =item * npl_1_1
11084              
11085             =cut
11086              
11087             $RE{npl} = {
11088             name => 'NPL',
11089             'name.alt.org.wikidata.synth.nogrant' => 'Q2306611',
11090             'name.alt.misc.fossology_old_vague.synth.nogrant' => 'Netscape',
11091             caption => 'Netscape Public License',
11092             'caption.alt.org.trove' => 'Netscape Public License (NPL)',
11093             'caption.alt.org.wikipedia' => 'Netscape Public License',
11094             tags => [
11095             'type:versioned:decimal',
11096             ],
11097             };
11098              
11099             $RE{npl_1} = {
11100             name => 'NPL-1.0',
11101             'name.alt.org.fedora.synth.nogrant' => 'Netscape',
11102             'name.alt.org.spdx.since.date_20130117' => 'NPL-1.0',
11103             'name.alt.misc.fossology_old' => 'NPL_v1.0',
11104             caption => 'Netscape Public License v1.0',
11105             'caption.alt.org.fedora.synth.nogrant' => 'Netscape Public License',
11106             iri =>
11107             'https://website-archive.mozilla.org/www.mozilla.org/mpl/MPL/NPL/1.0/',
11108             tags => [
11109             'type:singleversion:npl',
11110             ],
11111             licenseversion => '1.0',
11112              
11113             'pat.alt.subject.license.scope.multiparagraph' =>
11114             'NETSCAPE PUBLIC LICENSE[ ]Version 1\.0[ ][*)]Definitions[.]',
11115             };
11116              
11117             $RE{npl_1_1} = {
11118             name => 'NPL-1.1',
11119             'name.alt.org.spdx.since.date_20130117' => 'NPL-1.1',
11120             caption => 'Netscape Public License v1.1',
11121             'caption.alt.org.tldr' => 'Netscape Public License v1.1 (NPL-1.1)',
11122             'name.alt.misc.fossology_old' => 'NPL_v1.1',
11123             'name.alt.misc.fossology_old_long' => 'Netscape1.1',
11124             iri =>
11125             'https://website-archive.mozilla.org/www.mozilla.org/mpl/MPL/NPL/1.1/',
11126             tags => [
11127             'type:singleversion:npl',
11128             ],
11129             licenseversion => '1.1',
11130              
11131             'pat.alt.subject.license' =>
11132             'The Netscape Public License Version 1\.1 [(]["]NPL["][)] consists of',
11133             };
11134              
11135             =item * nposl
11136              
11137             I
11138              
11139             =item * nposl_3
11140              
11141             I
11142              
11143             =cut
11144              
11145             $RE{nposl} = {
11146             name => 'NPOSL',
11147             'name.alt.org.wikidata.synth.nogrant' => 'Q38495282',
11148             caption => 'Non-Profit Open Software License',
11149             tags => [
11150             'type:versioned:decimal',
11151             ],
11152             };
11153              
11154             $RE{nposl_3} = {
11155             name => 'NPOSL-3.0',
11156             'name.alt.org.osi' => 'NPOSL-3.0',
11157             'name.alt.org.osi.iri.stem.until.date_20110430' => 'NOSL3.0',
11158             'name.alt.org.spdx' => 'NPOSL-3.0',
11159             caption => 'Non-Profit Open Software License 3.0',
11160             'caption.alt.org.osi' =>
11161             'The Non-Profit Open Software License version 3.0',
11162             'caption.alt.org.osi.misc.list' => 'Non-Profit Open Software License 3.0',
11163             'caption.alt.org.tldr' =>
11164             'Non-Profit Open Software License 3.0 (NPOSL-3.0)',
11165             description => <<'END',
11166             Identical to Open Software License 3.0, except...
11167             * drop provenance warranty
11168             * add Non-Profit Amendment
11169             * rename license name
11170             END
11171             tags => [
11172             'license:contains:grant',
11173             'type:singleversion:nposl',
11174             ],
11175             licenseversion => '3.0',
11176              
11177             'pat.alt.subject.license.scope.multisection.part.part1' =>
11178             'Licensed under the Non-Profit Open Software License version 3\.0[ ]'
11179             . '[*)]Grant of Copyright License[.]',
11180             'pat.alt.subject.license.scope.paragraph' =>
11181             'Warranty of Provenance and Disclaimer of Warranty'
11182             . '[. ]The Original Work is provided',
11183             };
11184              
11185             =item * ntp
11186              
11187             =cut
11188              
11189             $RE{ntp} = {
11190             name => 'NTP',
11191             'name.alt.org.osi' => 'NTP',
11192             'name.alt.org.osi.iri.stem.until.date_20110430' => 'ntp-license',
11193             'name.alt.org.spdx' => 'NTP',
11194             'name.alt.org.wikidata.synth.nogrant' => 'Q38495487',
11195             caption => 'NTP License',
11196             'caption.alt.org.tldr' => 'NTP License (NTP)',
11197             'summary.alt.org.fedora.iri.mit' => 'MIT-style license, NTP variant',
11198             tags => [
11199             'family:mit',
11200             'license:is:grant',
11201             'type:unversioned',
11202             ],
11203              
11204             'pat.alt.subject.license' => $P{asis_expr_warranty},
11205             };
11206              
11207             =item * ntp_disclaimer
11208              
11209             =cut
11210              
11211             $RE{ntp_disclaimer} = {
11212             'name.alt.org.debian' => 'NTP~disclaimer',
11213             caption => 'NTP License (legal disclaimer)',
11214             tags => [
11215             'family:mit',
11216             'license:is:grant',
11217             'type:unversioned',
11218             ],
11219              
11220             'pat.alt.subject.license.scope.paragraph' => $P{asis_expr_warranty}
11221             . '[. ]'
11222             . $P{discl_name_warranties},
11223             };
11224              
11225             =item * oclc
11226              
11227             =item * oclc_1
11228              
11229             =item * oclc_2
11230              
11231             =cut
11232              
11233             $RE{oclc} = {
11234             name => 'OCLC',
11235             'name.alt.org.wikidata.synth.nogrant' => 'Q38496210',
11236             caption => 'OCLC Research Public License',
11237             tags => [
11238             'type:versioned:decimal',
11239             ],
11240             };
11241              
11242             $RE{oclc_1} = {
11243             name => 'OCLC-1.0',
11244             'name.alt.misc.fossology_old' => 'OCLC_v1.0',
11245             caption => 'OCLC Research Public License 1.0',
11246             tags => [
11247             'type:singleversion:oclc',
11248             ],
11249             licenseversion => '1.0',
11250              
11251             'pat.alt.subject.license' =>
11252             'If you distribute the Program or any derivative work of',
11253             };
11254              
11255             $RE{oclc_2} = {
11256             name => 'OCLC-2.0',
11257             'name.alt.org.osi' => 'OCLC-2.0',
11258             'name.alt.org.osi.iri.stem.until.date_20110430' => 'oclc2',
11259             'name.alt.org.spdx' => 'OCLC-2.0',
11260             'name.alt.misc.fossology_old' => 'OCLC_v2.0',
11261             caption => 'OCLC Research Public License 2.0',
11262             'caption.alt.org.fedora' => 'OCLC Public Research License 2.0',
11263             'caption.alt.org.osi' => 'The OCLC Research Public License 2.0 License',
11264             'caption.alt.org.osi.misc.list' => 'OCLC Research Public License 2.0',
11265             'caption.alt.org.tldr' => 'OCLC Research Public License 2.0 (OCLC-2.0)',
11266             tags => [
11267             'type:singleversion:oclc',
11268             ],
11269             licenseversion => '2.0',
11270              
11271             'pat.alt.subject.license' =>
11272             'The Program must be distributed without charge beyond',
11273             };
11274              
11275             =item * odbl
11276              
11277             I
11278              
11279             =item * odbl_1
11280              
11281             I
11282              
11283             =cut
11284              
11285             $RE{odbl} = {
11286             name => 'ODbL',
11287             'name.alt.org.wikidata.synth.nogrant' => 'Q1224853',
11288             caption => 'ODC Open Database License',
11289             'caption.alt.org.wikidata' => 'Open Database License',
11290             tags => [
11291             'type:versioned:decimal',
11292             ],
11293             };
11294              
11295             $RE{odbl_1} = {
11296             name => 'ODbL-1.0',
11297             'name.alt.org.spdx' => 'ODbL-1.0',
11298             caption => 'ODC Open Database License v1.0',
11299             'caption.alt.org.tldr.synth.nogrant' =>
11300             'ODC Open Database License (ODbL)',
11301             tags => [
11302             'type:singleversion:odbl',
11303             ],
11304             licenseversion => '1.0',
11305              
11306             'pat.alt.subject.license.scope.line.scope.sentence.part.intro' =>
11307             'The Open Database License [(]ODbL[)] is a license agreement',
11308             };
11309              
11310             =item * odc_by
11311              
11312             I
11313              
11314             =item * odc_by_1
11315              
11316             I
11317              
11318             =cut
11319              
11320             $RE{odc_by} = {
11321             name => 'ODC-By',
11322             caption => 'Open Data Commons Attribution License',
11323             tags => [
11324             'type:versioned:decimal',
11325             ],
11326             };
11327              
11328             $RE{odc_by_1} = {
11329             name => 'ODC-By-1.0',
11330             'name.alt.org.spdx.since.date_20180710' => 'ODC-By-1.0',
11331             caption => 'Open Data Commons Attribution License v1.0',
11332             tags => [
11333             'type:singleversion:odc_by',
11334             ],
11335             licenseversion => '1.0',
11336              
11337             'pat.alt.subject.license.scope.line.scope.sentence.part.intro' =>
11338             'The Open Data Commons Attribution License is a license agreement',
11339             };
11340              
11341             =item * ofl
11342              
11343             =item * ofl_1
11344              
11345             I
11346              
11347             =item * ofl_1_no_rfn
11348              
11349             I
11350              
11351             =item * ofl_1_rfn
11352              
11353             I
11354              
11355             =item * ofl_1_1
11356              
11357             I
11358              
11359             =item * ofl_1_1_no_rfn
11360              
11361             I
11362              
11363             =item * ofl_1_1_rfn
11364              
11365             I
11366              
11367             =cut
11368              
11369             $RE{ofl} = {
11370             name => 'OFL',
11371             'name.alt.org.osi.iri.stem.until.date_20110430' => 'openfont',
11372             'name.alt.org.wikidata.synth.nogrant' => 'Q1150837',
11373             caption => 'SIL Open Font License',
11374             'caption.alt.misc.shorter' => 'Open Font License',
11375             iri => 'http://scripts.sil.org/OFL',
11376             tags => [
11377             'type:versioned:decimal',
11378             ],
11379             };
11380              
11381             $RE{ofl_1} = {
11382             name => 'OFL-1.0',
11383             'name.alt.org.spdx' => 'OFL-1.0',
11384             caption => 'SIL Open Font License 1.0',
11385             tags => [
11386             'type:singleversion:ofl',
11387             ],
11388             licenseversion => '1.0',
11389              
11390             'pat.alt.subject.license' =>
11391             '["]Font Software["] refers to any and all of the following',
11392             };
11393              
11394             $RE{ofl_1_no_rfn} = {
11395             name => 'OFL-1.0-no-RFN',
11396             'name.alt.org.spdx.since.date_20200209' => 'OFL-1.0-no-RFN',
11397             caption => 'SIL Open Font License 1.0 with no Reserved Font Name',
11398             description => <<'END',
11399             Usage: Should only be used when there is no Reserved Font Name.
11400             END
11401             tags => [
11402             'type:usage:ofl_1:no_rfn',
11403             ],
11404             };
11405              
11406             $RE{ofl_1_rfn} = {
11407             name => 'OFL-1.0-RFN',
11408             'name.alt.org.spdx.since.date_20200209' => 'OFL-1.0-RFN',
11409             caption => 'SIL Open Font License 1.0 with Reserved Font Name',
11410             description => <<'END',
11411             Usage: Should only be used when a Reserved Font Name applies.
11412             END
11413             tags => [
11414             'type:usage:ofl_1:rfn',
11415             ],
11416             };
11417              
11418             $RE{ofl_1_1} = {
11419             name => 'OFL-1.1',
11420             'name.alt.org.fedora.synth.nogrant' => 'OFL',
11421             'name.alt.org.osi' => 'OFL-1.1',
11422             'name.alt.org.spdx' => 'OFL-1.1',
11423             'name.alt.org.tldr.synth.nogrant' => 'open-font-license-(ofl)-explained',
11424             caption => 'SIL Open Font License 1.1',
11425             'caption.alt.org.osi.synth.nogrant' => 'SIL OPEN FONT LICENSE',
11426             'caption.alt.org.osi.misc.list' => 'SIL Open Font License 1.1',
11427             'caption.alt.org.tldr' => 'SIL Open Font License v1.1 (OFL-1.1)',
11428             'caption.alt.org.trove' => 'SIL Open Font License 1.1 (OFL-1.1)',
11429             tags => [
11430             'type:singleversion:ofl',
11431             ],
11432             licenseversion => '1.1',
11433              
11434             'pat.alt.subject.license' =>
11435             '["]Font Software["] refers to the set of files released',
11436             };
11437              
11438             $RE{ofl_1_1_no_rfn} = {
11439             name => 'OFL-1.1-no-RFN',
11440             'name.alt.org.spdx.since.date_20200209' => 'OFL-1.1-no-RFN',
11441             caption => 'SIL Open Font License 1.1 with no Reserved Font Name',
11442             description => <<'END',
11443             Usage: Should only be used when there is no Reserved Font Name.
11444             END
11445             tags => [
11446             'type:usage:ofl_1_1:no_rfn',
11447             ],
11448             };
11449              
11450             $RE{ofl_1_1_rfn} = {
11451             name => 'OFL-1.1-RFN',
11452             'name.alt.org.spdx.since.date_20200209' => 'OFL-1.1-RFN',
11453             caption => 'SIL Open Font License 1.1 with Reserved Font Name',
11454             description => <<'END',
11455             Usage: Should only be used when a Reserved Font Name applies.
11456             END
11457             tags => [
11458             'type:usage:ofl_1_1:rfn',
11459             ],
11460             };
11461              
11462             =item * ogc
11463              
11464             I
11465              
11466             =item * ogc_1
11467              
11468             I
11469              
11470             =cut
11471              
11472             $RE{ogc} = {
11473             name => 'OGC',
11474             caption => 'OGC Software License',
11475             tags => [
11476             'type:versioned:decimal',
11477             ],
11478             };
11479              
11480             $RE{ogc_1} = {
11481             name => 'OGC-1.0',
11482             'name.alt.org.spdx.since.date_20200515' => 'OGC-1.0',
11483             caption => 'OGC Software License, Version 1.0',
11484             iri => 'https://www.ogc.org/ogc/software/1.0',
11485             tags => [
11486             'license:is:grant',
11487             'type:singleversion:ogc',
11488             ],
11489             licenseversion => '19980720',
11490              
11491             'pat.alt.subject.license.scope.line.scope.sentence.part.intro' =>
11492             'This OGC work [(]including software, documents, or other',
11493             'pat.alt.subject.license.scope.line.scope.sentence.part.clause3' =>
11494             'Notice of any changes or modifications to the OGC files',
11495             };
11496              
11497             =item * ogtsl
11498              
11499             =cut
11500              
11501             $RE{ogtsl} = {
11502             name => 'OGTSL',
11503             'name.alt.org.osi' => 'OGTSL',
11504             'name.alt.org.osi.iri.stem.until.date_20110430.synth.nogrant' =>
11505             'opengroup',
11506             'name.alt.org.spdx' => 'OGTSL',
11507             'name.alt.org.wikidata.synth.nogrant' => 'Q38686558',
11508             caption => 'Open Group Test Suite License',
11509             'caption.alt.org.fedora' => 'Open Group Test Suite License',
11510             'caption.alt.org.osi' => 'The Open Group Test Suite License',
11511             'caption.alt.org.osi.misc.list' => 'Open Group Test Suite License',
11512             'caption.alt.org.tldr' => 'Open Group Test Suite License (OGTSL)',
11513             'caption.alt.org.trove' => 'Open Group Test Suite License',
11514             tags => [
11515             'type:unversioned',
11516             ],
11517              
11518             'pat.alt.subject.license.scope.line.scope.sentence' =>
11519             'rename any non-standard executables and testcases',
11520             };
11521              
11522             =item * oldap
11523              
11524             I
11525              
11526             =item * oldap_1_1
11527              
11528             I
11529              
11530             =item * oldap_1_2
11531              
11532             I
11533              
11534             =item * oldap_1_3
11535              
11536             I
11537              
11538             =item * oldap_1_4
11539              
11540             I
11541              
11542             =item * oldap_2
11543              
11544             I
11545              
11546             =item * oldap_2_0_1
11547              
11548             I
11549              
11550             =item * oldap_2_1
11551              
11552             I
11553              
11554             =item * oldap_2_2
11555              
11556             I
11557              
11558             =item * oldap_2_2_1
11559              
11560             I
11561              
11562             =item * oldap_2_2_2
11563              
11564             I
11565              
11566             =item * oldap_2_3
11567              
11568             I
11569              
11570             =item * oldap_2_4
11571              
11572             I
11573              
11574             =item * oldap_2_5
11575              
11576             I
11577              
11578             =item * oldap_2_6
11579              
11580             I
11581              
11582             =item * oldap_2_7
11583              
11584             I
11585              
11586             =item * oldap_2_8
11587              
11588             I
11589              
11590             =cut
11591              
11592             $RE{oldap} = {
11593             name => 'OLDAP',
11594             'name.alt.org.fedora' => 'OpenLDAP',
11595             caption => 'Open LDAP Public License',
11596             'caption.alt.org.fedora' => 'OpenLDAP License',
11597             tags => [
11598             'type:versioned:decimal',
11599             ],
11600             '_pat.alt.subject.license.scope.line.scope.sentence' => [
11601             'C subroutines supplied by you',
11602             'Due credit should be given',
11603             'may revise this license from time to time',
11604             ]
11605             };
11606              
11607             $RE{oldap_1_1} = {
11608             name => 'OLDAP-1.1',
11609             'name.alt.org.spdx.since.date_20130117' => 'OLDAP-1.1',
11610             caption => 'Open LDAP Public License v1.1',
11611             tags => [
11612             'type:singleversion:oldap',
11613             ],
11614             licenseversion => '1.1',
11615              
11616             'pat.alt.subject.license.scope.multisection.part.header' =>
11617             'The OpenLDAP Public License[ ]Version 1\.1, 25 August 1998',
11618             };
11619              
11620             $RE{oldap_1_2} = {
11621             name => 'OLDAP-1.2',
11622             'name.alt.org.spdx.since.date_20130117' => 'OLDAP-1.2',
11623             'name.alt.misc.fossology_old' => 'OpenLDAP_v1.2',
11624             caption => 'Open LDAP Public License v1.2',
11625             tags => [
11626             'type:singleversion:oldap',
11627             ],
11628             licenseversion => '1.2',
11629              
11630             'pat.alt.subject.license.scope.multisection.part.header' =>
11631             'The OpenLDAP Public License[ ]Version 1\.2, 1 September 1998',
11632             };
11633              
11634             $RE{oldap_1_3} = {
11635             name => 'OLDAP-1.3',
11636             'name.alt.org.spdx.since.date_20130117' => 'OLDAP-1.3',
11637             caption => 'Open LDAP Public License v1.3',
11638             tags => [
11639             'type:singleversion:oldap',
11640             ],
11641             licenseversion => '1.3',
11642              
11643             'pat.alt.subject.license.scope.multisection.part.header' =>
11644             'The OpenLDAP Public License[ ]Version 1\.3, 17 January 1999',
11645             'pat.alt.subject.license.part.part8' =>
11646             ' and do not automatically fall under the copyright of this Package'
11647             . ', and the executables produced by linking',
11648             };
11649              
11650             $RE{oldap_1_4} = {
11651             name => 'OLDAP-1.4',
11652             'name.alt.org.spdx.since.date_20130117' => 'OLDAP-1.4',
11653             caption => 'Open LDAP Public License v1.4',
11654             tags => [
11655             'type:singleversion:oldap',
11656             ],
11657             licenseversion => '1.4',
11658              
11659             'pat.alt.subject.license.scope.multisection.part.header' =>
11660             'The OpenLDAP Public License[ ]Version 1\.4, 18 January 1999',
11661             'pat.alt.subject.license.part.part8' =>
11662             ' and do not automatically fall under the copyright of this Package'
11663             . '[. ]Executables produced by linking',
11664             };
11665              
11666             $RE{oldap_2} = {
11667             name => 'OLDAP-2.0',
11668             'name.alt.org.spdx.since.date_20130117' => 'OLDAP-2.0',
11669             caption => 'Open LDAP Public License v2',
11670             'caption.alt.org.spdx' =>
11671             'Open LDAP Public License v2.0 (or possibly 2.0A and 2.0B)',
11672             'caption.alt.misc.spdx' => 'Open LDAP Public License v2.0',
11673             'caption.alt.misc.spdx_a' => 'Open LDAP Public License v2.0A',
11674             'caption.alt.misc.spdx_b' => 'Open LDAP Public License v2.0B',
11675             tags => [
11676             'type:singleversion:oldap',
11677             ],
11678             licenseversion => '2.0',
11679              
11680             'pat.alt.subject.license.scope.multisection.part.header' =>
11681             'The OpenLDAP Public License[ ]Version 2\.0, 7 June 1999',
11682             'pat.alt.subject.license.part.clauses_minimal' =>
11683             'without prior written permission of the OpenLDAP Foundation'
11684             . '[. ]OpenLDAP is a registered trademark of the OpenLDAP Foundation',
11685             };
11686              
11687             $RE{oldap_2_0_1} = {
11688             name => 'OLDAP-2.0.1',
11689             'name.alt.org.spdx.since.date_20130117' => 'OLDAP-2.0.1',
11690             caption => 'Open LDAP Public License v2.0.1',
11691             tags => [
11692             'type:singleversion:oldap',
11693             ],
11694             licenseversion => '2.0.1',
11695              
11696             'pat.alt.subject.license.scope.multisection.part.header' =>
11697             'The OpenLDAP Public License[ ]Version 2\.0\.1, 21 December 1999',
11698             };
11699              
11700             $RE{oldap_2_1} = {
11701             name => 'OLDAP-2.1',
11702             'name.alt.org.spdx.since.date_20130117' => 'OLDAP-2.1',
11703             caption => 'Open LDAP Public License v2.1',
11704             tags => [
11705             'type:singleversion:oldap',
11706             ],
11707             licenseversion => '2.1',
11708              
11709             'pat.alt.subject.license.scope.multisection.part.header' =>
11710             'The OpenLDAP Public License[ ]Version 2\.1, 29 February 2000',
11711             };
11712              
11713             $RE{oldap_2_2} = {
11714             name => 'OLDAP-2.2',
11715             'name.alt.org.spdx.since.date_20130117' => 'OLDAP-2.2',
11716             caption => 'Open LDAP Public License v2.2',
11717             tags => [
11718             'type:singleversion:oldap',
11719             ],
11720             licenseversion => '2.2',
11721              
11722             'pat.alt.subject.license.scope.multisection.part.header' =>
11723             'The OpenLDAP Public License[ ]Version 2\.2, 1 March 2000',
11724             };
11725              
11726             $RE{oldap_2_2_1} = {
11727             name => 'OLDAP-2.2.1',
11728             'name.alt.org.spdx.since.date_20130117' => 'OLDAP-2.2.1',
11729             caption => 'Open LDAP Public License v2.2.1',
11730             tags => [
11731             'type:singleversion:oldap',
11732             ],
11733             licenseversion => '2.2.1',
11734              
11735             'pat.alt.subject.license.scope.multisection.part.header' =>
11736             'The OpenLDAP Public License[ ]Version 2\.2\.1, 1 March 2000',
11737             };
11738              
11739             $RE{oldap_2_2_2} = {
11740             name => 'OLDAP-2.2.2',
11741             'name.alt.org.spdx.since.date_20130117' => 'OLDAP-2.2.2',
11742             caption => 'Open LDAP Public License 2.2.2',
11743             tags => [
11744             'type:singleversion:oldap',
11745             ],
11746             licenseversion => '2.2.2',
11747              
11748             'pat.alt.subject.license.scope.multisection.part.header' =>
11749             'The OpenLDAP Public License[ ]Version 2\.2\.2, 28 July 2000',
11750             };
11751              
11752             $RE{oldap_2_3} = {
11753             name => 'OLDAP-2.3',
11754             'name.alt.org.spdx.since.date_20130117' => 'OLDAP-2.3',
11755             caption => 'Open LDAP Public License v2.3',
11756             tags => [
11757             'type:singleversion:oldap',
11758             ],
11759             licenseversion => '2.3',
11760              
11761             'pat.alt.subject.license.scope.multisection.part.header' =>
11762             'The OpenLDAP Public License[ ]Version 2\.3, 28 July 2000',
11763             };
11764              
11765             $RE{oldap_2_4} = {
11766             name => 'OLDAP-2.4',
11767             'name.alt.org.spdx.since.date_20130117' => 'OLDAP-2.4',
11768             caption => 'Open LDAP Public License v2.4',
11769             tags => [
11770             'type:singleversion:oldap',
11771             ],
11772             licenseversion => '2.4',
11773              
11774             'pat.alt.subject.license.scope.multisection.part.header' =>
11775             'The OpenLDAP Public License[ ]Version 2\.4, 8 December 2000',
11776             'pat.alt.subject.license.part.clauses_minimal' =>
11777             'Due credit should be given to the OpenLDAP Project[.]',
11778             };
11779              
11780             $RE{oldap_2_5} = {
11781             name => 'OLDAP-2.5',
11782             'name.alt.org.spdx.since.date_20130117' => 'OLDAP-2.5',
11783             caption => 'Open LDAP Public License v2.5',
11784             tags => [
11785             'type:singleversion:oldap',
11786             ],
11787             licenseversion => '2.5',
11788              
11789             'pat.alt.subject.license.scope.multisection.part.header' =>
11790             'The OpenLDAP Public License[ ]Version 2\.5, 11 May 2001',
11791             'pat.alt.subject.license.scope.multisection.part.clauses_minimal' =>
11792             'Due credit should be given to the authors of the Software'
11793             . '[.][ ][*)]'
11794             . 'The OpenLDAP Foundation may revise',
11795             };
11796              
11797             $RE{oldap_2_6} = {
11798             name => 'OLDAP-2.6',
11799             'name.alt.org.spdx.since.date_20130117' => 'OLDAP-2.6',
11800             caption => 'Open LDAP Public License v2.6',
11801             tags => [
11802             'type:singleversion:oldap',
11803             ],
11804             licenseversion => '2.6',
11805              
11806             'pat.alt.subject.license.scope.multisection.part.header' =>
11807             'The OpenLDAP Public License[ ]Version 2\.6, 14 June 2001',
11808             'pat.alt.subject.license.scope.multisection.part.clauses_minimal' =>
11809             ' without specific, written prior permission'
11810             . '[.][ ][*)]'
11811             . 'The OpenLDAP Foundation may revise',
11812             };
11813              
11814             $RE{oldap_2_7} = {
11815             name => 'OLDAP-2.7',
11816             'name.alt.org.spdx.since.date_20130117' => 'OLDAP-2.7',
11817             'name.alt.misc.fossology_old' => 'OpenLDAP_v2.7',
11818             caption => 'Open LDAP Public License v2.7',
11819             tags => [
11820             'type:singleversion:oldap',
11821             ],
11822             licenseversion => '2.7',
11823              
11824             'pat.alt.subject.license.scope.multisection.part.header' =>
11825             'The OpenLDAP Public License[ ]Version 2\.7, 7 September 2001',
11826             };
11827              
11828             $RE{oldap_2_8} = {
11829             name => 'OLDAP-2.8',
11830             'name.alt.org.osi' => 'OLDAP-2.8',
11831             'name.alt.org.spdx' => 'OLDAP-2.8',
11832             'name.alt.org.wikidata.synth.nogrant' => 'Q25273268',
11833             'name.alt.misc.fossology_old' => 'OpenLDAP_v2.8',
11834             'name.alt.misc.fossology_old_short' => 'OpenLDAP2.8',
11835             caption => 'Open LDAP Public License v2.8',
11836             'caption.alt.org.osi' => 'OpenLDAP Public License Version 2.8',
11837             'caption.alt.org.spdx.until.date_20150513' =>
11838             'OpenLDAP Public License v2.8',
11839             'caption.alt.org.spdx.since.date_20150513' =>
11840             'Open LDAP Public License v2.8',
11841             'caption.alt.org.tldr' => 'OpenLDAP Public License v2.8 (OLDAP-2.8)',
11842             'caption.alt.org.wikidata' => 'OpenLDAP Public License Version 2.8',
11843             tags => [
11844             'type:singleversion:oldap',
11845             ],
11846             licenseversion => '2.8',
11847              
11848             'pat.alt.subject.license.scope.multisection.part.header' =>
11849             'The OpenLDAP Public License[ ]Version 2\.8, 17 August 2003',
11850             };
11851              
11852             =item * openssl
11853              
11854             =cut
11855              
11856             $RE{openssl} = {
11857             name => 'OpenSSL',
11858             'name.alt.org.fedora' => 'OpenSSL',
11859             'name.alt.org.perl' => 'openssl',
11860             'name.alt.org.spdx' => 'OpenSSL',
11861             'name.alt.org.wikidata.synth.nogrant' => 'Q89948816',
11862             caption => 'OpenSSL License',
11863             'caption.alt.org.tldr' => 'OpenSSL License (OpenSSL)',
11864             description => <<'END',
11865             Specific instance of Apache License 1.0
11866             tied to "OpenSSL",
11867             followed by SSLeay License.
11868             END
11869             tags => [
11870             'family:bsd',
11871             'license:contains:license:apache_1',
11872             'license:contains:license:cryptix',
11873             'license:is:grant',
11874             'type:unversioned',
11875             ],
11876              
11877             'pat.alt.subject.license.scope.multisection.part.apache_1_overlap' =>
11878             $P{repro_copr_cond_discl}
11879             . '[.][ ]' . '[*)]?'
11880             . $P{ad_mat_ack_this}
11881             . 'the OpenSSL Project for use in the OpenSSL Toolkit[. ][(][http://]www\.openssl\.org[/][)]["]'
11882             . '[ ]' . '[*)]?'
11883             . $P{nopromo_neither}
11884             . '[. ]For written permission, please contact openssl[-]core[@]openssl\.org'
11885             . '[.][ ]' . '[*)]?'
11886             . 'Products derived from this software may not be called ["]OpenSSL["]',
11887             'pat.alt.subject.license.scope.paragraph.part.apache_1_overlap' =>
11888             $P{redist_ack_this}
11889             . 'the OpenSSL Project for use in the OpenSSL Toolkit',
11890             'pat.alt.subject.license.scope.multisection.part.second_half' =>
11891             $P{redist_ack_this}
11892             . 'the OpenSSL Project for use in the OpenSSL Toolkit[. ][(][http://]www\.openssl\.org[/][)]["]'
11893             . '[ ]'
11894             . $P{discl_warranties} . '[. ]'
11895             . $P{discl_liability}
11896             . '[.][ ]'
11897             . 'This product includes cryptographic software written by Eric Young [(]eay[@]cryptsoft\.com[)]'
11898             . '[. ]'
11899             . 'This product includes software written by Tim Hudson [(]tjh[@]cryptsoft\.com[)]'
11900             . '[.][ ]',
11901             };
11902              
11903             =item * opl
11904              
11905             I
11906              
11907             =item * opl_1
11908              
11909             I
11910              
11911             =cut
11912              
11913             $RE{opl} = {
11914             name => 'OPL',
11915             'name.alt.misc.shortname' => 'OpenPL',
11916             'name.alt.misc.fossology_old' => 'OpenPublication',
11917             'name.alt.misc.fossology_old_dash' => 'Open-Publication',
11918             caption => 'Open Public License',
11919             tags => [
11920             'type:versioned:decimal',
11921             ],
11922             };
11923              
11924             $RE{opl_1} = {
11925             name => 'OPL-1.0',
11926             'name.alt.org.spdx.since.date_20130117' => 'OPL-1.0',
11927             'name.alt.misc.fossology_old' => 'Open-Publication_v1.0',
11928             'name.alt.misc.fossology_old_short' => 'OpenPL_v1.0',
11929             caption => 'Open Public License v1.0',
11930             'caption.alt.org.fedora.iri.self.synth.nogrant' => 'Open Public License',
11931             'caption.alt.org.tldr' => 'Open Public License v1.0 (OPL-1.0)',
11932             'caption.alt.misc.shortname' => 'OpenPL 1.0',
11933             description => <<'END',
11934             Origin: Possibly Mozilla Public License Version 1.0
11935             END
11936             tags => [
11937             'type:singleversion:opl',
11938             ],
11939             licenseversion => '1.0',
11940              
11941             'pat.alt.subject.license.scope.line.scope.sentence.part.definitions' =>
11942             '["]License Author["] means Lutris Technologies, Inc',
11943             };
11944              
11945             =item * oset_pl
11946              
11947             I
11948              
11949             =item * oset_pl_2_1
11950              
11951             I
11952              
11953             =cut
11954              
11955             $RE{oset_pl} = {
11956             name => 'OPL',
11957             'name.alt.org.wikidata.synth.nogrant' => 'Q38496558',
11958             caption => 'OSET Public License',
11959             'caption.alt.org.wikidata' => 'OSET Foundation Public License',
11960             iri => 'https://www.osetfoundation.org/public-license',
11961             tags => [
11962             'type:versioned:decimal',
11963             ],
11964             };
11965              
11966             $RE{oset_pl_2_1} = {
11967             name => 'OSET-PL-2.1',
11968             'name.alt.org.osi.synth.nogrant' => 'OPL-2.1',
11969             'name.alt.org.osi.misc.shortname' => 'OSET-PL-2.1',
11970             'name.alt.org.spdx.since.date_20160323' => 'OSET-PL-2.1',
11971             caption => 'OSET Public License version 2.1',
11972             'iri.alt.format.pdf' => 'https://www.osetfoundation.org/s/OPL_v21.pdf',
11973             'iri.alt.format.txt' =>
11974             'https://www.osetfoundation.org/s/OPL_v21-plain.txt',
11975             description => <<'END',
11976             Origin: Mozilla Public License Version 2.0
11977             END
11978             tags => [
11979             'type:singleversion:oset_pl',
11980             ],
11981             licenseversion => '2.1',
11982              
11983             'pat.alt.subject.license.scope.line.scope.sentence.part.head' =>
11984             'This license was prepared based on the Mozilla Public License',
11985             'pat.alt.subject.license.scope.line.scope.sentence.part.section_3_5_2' =>
11986             'You may place additional conditions upon the rights granted',
11987             };
11988              
11989             =item * osl
11990              
11991             =item * osl_1
11992              
11993             =item * osl_1_1
11994              
11995             =item * osl_2
11996              
11997             =item * osl_2_1
11998              
11999             =item * osl_3
12000              
12001             =cut
12002              
12003             $RE{osl} = {
12004             name => 'OSL',
12005             'name.alt.org.wikidata.synth.nogrant' => 'Q777520',
12006             'name.alt.misc.fossology_old' => 'OpenSoftware',
12007             caption => 'Open Software License',
12008             tags => [
12009             'type:versioned:decimal',
12010             ],
12011             };
12012              
12013             $RE{osl_1} = {
12014             name => 'OSL-1.0',
12015             'name.alt.org.osi' => 'OSL-1.0',
12016             'name.alt.org.spdx' => 'OSL-1.0',
12017             'name.alt.org.tldr.synth.nogrant' =>
12018             'open-software-license-1.0-(opl-1.0)',
12019             'name.alt.misc.fossology_old' => 'OpenSoftware1.0',
12020             'name.alt.misc.fossology_old_short' => 'OSL_v1.0',
12021             caption => 'Open Software License 1.0',
12022             'caption.alt.org.fedora' => 'Open Software License 1.0',
12023             'caption.alt.org.fedora.misc.short' => 'OSL 1.0',
12024             'caption.alt.org.osi' => 'Open Software License, version 1.0',
12025             'caption.alt.org.osi.misc.list' => 'Open Software License 1.0',
12026             'caption.alt.org.tldr' => 'Open Software License 1.0 (OSL-1.0)',
12027             tags => [
12028             'license:contains:grant',
12029             'type:singleversion:osl',
12030             ],
12031             licenseversion => '1.0',
12032              
12033             'pat.alt.subject.license.scope.multisection' =>
12034             '["]Licensed under the Open Software License version 1\.0["][ ]'
12035             . 'License Terms'
12036             };
12037              
12038             $RE{osl_1_1} = {
12039             name => 'OSL-1.1',
12040             'name.alt.org.fedora' => 'OSL1.1',
12041             'name.alt.org.spdx.since.date_20140807' => 'OSL-1.1',
12042             'name.alt.misc.fossology_old' => 'OpenSoftware1.1',
12043             'name.alt.misc.fossology_old_short' => 'OSL_v1.1',
12044             caption => 'Open Software License 1.1',
12045             'caption.alt.org.fedora' => 'Open Software License 1.1',
12046             'caption.alt.org.fedora.misc.short' => 'OSL 1.1',
12047             'caption.alt.org.tldr' => 'Open Software License 1.1 (OSL-1.1)',
12048             tags => [
12049             'license:contains:grant',
12050             'type:singleversion:osl',
12051             ],
12052             licenseversion => '1.1',
12053              
12054             'pat.alt.subject.license.scope.multisection' =>
12055             'Licensed under the Open Software License version 1\.1[ ]'
12056             . '[*)]Grant of Copyright License[.]'
12057             };
12058              
12059             $RE{osl_2} = {
12060             name => 'OSL-2.0',
12061             'name.alt.org.spdx' => 'OSL-2.0',
12062             'name.alt.misc.fossology_old' => 'OpenSoftware2.0',
12063             'name.alt.misc.fossology_old_short' => 'OSL_v2.0',
12064             caption => 'Open Software License 2.0',
12065             'caption.alt.org.fedora' => 'Open Software License 2.0',
12066             'caption.alt.org.fedora.misc.short' => 'OSL 2.0',
12067             'caption.alt.org.tldr' => 'Open Software License 2.0 (OSL-2.0)',
12068             tags => [
12069             'license:contains:grant',
12070             'type:singleversion:osl',
12071             ],
12072             licenseversion => '2.0',
12073              
12074             'pat.alt.subject.license.scope.multisection.part.part1' =>
12075             'Licensed under the Open Software License version 2\.0[ ]'
12076             . '[*)]Grant of Copyright License[.]',
12077             'pat.alt.subject.license.scope.multisection.part.part10' =>
12078             'its terms and conditions[.][ ]'
12079             . 'This License shall terminate immediately '
12080             . 'and you may no longer exercise '
12081             . 'any of the rights granted to You by this License '
12082             . 'upon Your failure to honor the proviso '
12083             . 'in Section 1[(]c[)] herein[.][ ]'
12084             . $termination_for_patent_including_counterclaim
12085             . ' for patent infringement',
12086             };
12087              
12088             $RE{osl_2_1} = {
12089             name => 'OSL-2.1',
12090             'name.alt.org.fedora' => 'OSL2.1',
12091             'name.alt.org.osi' => 'OSL-2.1',
12092             'name.alt.org.spdx' => 'OSL-2.1',
12093             'name.alt.misc.fossology_old' => 'OpenSoftware2.1',
12094             'name.alt.misc.fossology_old_short' => 'OSL_v2.1',
12095             caption => 'Open Software License 2.1',
12096             'caption.alt.org.fedora' => 'Open Software License 2.1',
12097             'caption.alt.org.fedora.misc.short' => 'OSL 2.1',
12098             'caption.alt.org.osi' => 'The Open Software License 2.1',
12099             'caption.alt.org.osi.misc.list' => 'Open Software License 2.1',
12100             'caption.alt.org.tldr' => 'Open Software License 2.1 (OSL-2.1)',
12101             tags => [
12102             'license:contains:grant',
12103             'type:singleversion:osl',
12104             ],
12105             licenseversion => '2.1',
12106              
12107             'pat.alt.subject.license.scope.multisection.part.part1' =>
12108             'Licensed under the Open Software License version 2\.1[ ]'
12109             . '[*)]Grant of Copyright License[.]'
12110             };
12111              
12112             $RE{osl_3} = {
12113             name => 'OSL-3.0',
12114             'name.alt.org.osi' => 'OSL-3.0',
12115             'name.alt.org.osi.iri.stem.until.date_20110430' => 'osl-3.0',
12116             'name.alt.org.spdx' => 'OSL-3.0',
12117             'name.alt.misc.fossology_old' => 'OpenSoftware3.0',
12118             'name.alt.misc.fossology_old_short' => 'OSL_v3.0',
12119             caption => 'Open Software License 3.0',
12120             'caption.alt.org.fedora' => 'Open Software License 3.0',
12121             'caption.alt.org.fedora.misc.short' => 'OSL 3.0',
12122             'caption.alt.org.osi' => 'The Open Software License 3.0',
12123             'caption.alt.org.osi.misc.list' => 'Open Software License 3.0',
12124             'caption.alt.org.osi.misc.cat_list.synth.nogrant' =>
12125             'Open Software License',
12126             'caption.alt.org.tldr' => 'Open Software Licence 3.0',
12127             'caption.alt.org.trove' => 'Open Software License 3.0 (OSL-3.0)',
12128             tags => [
12129             'license:contains:grant',
12130             'type:singleversion:osl',
12131             ],
12132             licenseversion => '3.0',
12133              
12134             'pat.alt.subject.license.scope.multisection.part.part1' =>
12135             'Licensed under the Open Software License version 3\.0[ ]'
12136             . '[*)]Grant of Copyright License[.]',
12137             };
12138              
12139             =item * pddl
12140              
12141             I
12142              
12143             =item * pddl_1
12144              
12145             I
12146              
12147             =cut
12148              
12149             $RE{pddl} = {
12150             name => 'PDDL',
12151             caption => 'Open Data Commons Public Domain Dedication & License',
12152             tags => [
12153             'type:versioned:decimal',
12154             ],
12155             };
12156              
12157             $RE{pddl_1} = {
12158             name => 'PDDL-1.0',
12159             'name.alt.org.fedora' => 'PDDL-1.0',
12160             'name.alt.org.fedora.iri.self.synth.nogrant' => 'PDDL',
12161             'name.alt.org.spdx' => 'PDDL-1.0',
12162             'name.alt.org.wikidata.synth.nogrant' => 'Q24273512',
12163             caption => 'Open Data Commons Public Domain Dedication & License 1.0',
12164             'caption.alt.org.fedora.synth.nogrant' =>
12165             'Open Data Commons Public Domain Dedication and Licence',
12166             'caption.alt.org.spdx.until.date_20210307' =>
12167             'ODC Public Domain Dedication & License 1.0',
12168             'caption.alt.org.spdx.since.date_20210307' =>
12169             'Open Data Commons Public Domain Dedication & License 1.0',
12170             'caption.alt.org.tldr' =>
12171             'ODC Public Domain Dedication & License 1.0 (PDDL-1.0)',
12172             'caption.alt.org.wikidata' => 'Public Domain Dedication and License v1.0',
12173             tags => [
12174             'type:singleversion:pddl',
12175             ],
12176             licenseversion => '1.0',
12177              
12178             'pat.alt.subject.license.scope.line.scope.sentence.part.intro' =>
12179             'The Open Data Commons[ - ]Public Domain Dedication & Licence is a document',
12180             };
12181              
12182             =item * peer_production
12183              
12184             I
12185              
12186             =cut
12187              
12188             $RE{peer_production} = {
12189             name => 'Peer-Production',
12190             caption => 'Peer Production License',
12191             'caption.alt.org.tldr' => 'Peer Production License',
12192             iri => 'https://wiki.p2pfoundation.net/Peer_Production_License',
12193             description => <<'END',
12194             Origin: Creative Commons Attribution-NonCommercial-ShareAlike 3.0
12195             END
12196             tags => [
12197             'type:unversioned',
12198             ],
12199              
12200             'pat.alt.subject.license.scope.sentence.part.intro' =>
12201             'THE WORK [(]AS DEFINED BELOW[)] IS PROVIDED '
12202             . 'UNDER THE TERMS OF THIS COPYFARLEFT PUBLIC LICENSE',
12203             };
12204              
12205             =item * php
12206              
12207             I
12208              
12209             =item * php_3
12210              
12211             I
12212              
12213             =item * php_3_01
12214              
12215             I
12216              
12217             =cut
12218              
12219             $RE{php} = {
12220             name => 'PHP',
12221             'name.alt.org.osi.iri.stem.until.date_20110430' => 'php',
12222             'name.alt.org.wikidata.synth.nogrant' => 'Q376841',
12223             caption => 'PHP License',
12224             'caption.alt.org.wikipedia' => 'PHP License',
12225             iri => 'https://secure.php.net/license/',
12226             tags => [
12227             'type:versioned:decimal',
12228             ],
12229             };
12230              
12231             $RE{php_3} = {
12232             name => 'PHP-3.0',
12233             'name.alt.org.fedora.synth.nogrant' => 'PHP',
12234             'name.alt.org.osi' => 'PHP-3.0',
12235             'name.alt.org.spdx' => 'PHP-3.0',
12236             'name.alt.org.tldr.path.short' => 'php',
12237             'name.alt.misc.fossology_old' => 'PHP_v3.0',
12238             caption => 'PHP License v3.0',
12239             'caption.alt.org.osi' => 'The PHP License 3.0',
12240             'caption.alt.org.osi.misc.list' => 'PHP License 3.0',
12241             'caption.alt.org.tldr' => 'PHP License 3.0 (PHP)',
12242             description => <<'END',
12243             Origin: Possibly OpenSSL License
12244             END
12245             tags => [
12246             'family:bsd',
12247             'license:contains:license:bsd_2_clause',
12248             'license:is:grant',
12249             'type:singleversion:php',
12250             ],
12251             licenseversion => '3.0',
12252              
12253             'pat.alt.subject.license.scope.multisection.part.last_clauses' =>
12254             $P{repro_copr_cond_discl}
12255             . '[.][ ]'
12256             . '[*)]The name ["]PHP["] must not be used '
12257             . 'to endorse or promote products derived from this software '
12258             . 'without prior written permission' . '[. ]'
12259             . 'For written permission, please contact group\@php\.net'
12260             . '[.][ ]'
12261             . '[*)]Products derived from this software may not be called ["]PHP["], '
12262             . 'nor may ["]PHP["] appear in their name, '
12263             . 'without prior written permission from group\@php\.net' . '[. ]'
12264             . 'You may indicate that your software works in conjunction with PHP '
12265             . 'by saying ["]Foo for PHP["] instead of calling it ["]PHP Foo["] or ["]phpfoo["]'
12266             . '[ ]'
12267             . '[*)]The PHP Group may publish revised and[/]or new versions of the license from time to time'
12268             . '[. ]'
12269             . 'Each version will be given a distinguishing version number'
12270             . '[. ]'
12271             . 'Once covered code has been published under a particular version of the license, '
12272             . 'you may always continue to use it under the terms of that version'
12273             . '[. ]'
12274             . 'You may also choose to use such covered code '
12275             . 'under the terms of any subsequent version of the license '
12276             . 'published by the PHP Group' . '[. ]'
12277             . 'No one other than the PHP Group has the right to modify the terms '
12278             . 'applicable to covered code created under this License'
12279             . '[.][ ]'
12280             . '[*)]Redistributions of any form whatsoever must retain the following acknowledgment'
12281             . '[:][ ]'
12282             . '["]This product includes PHP, freely available',
12283             'pat.alt.subject.license.scope.line.scope.sentence.part.clause_6' =>
12284             'This product includes PHP, freely available',
12285             };
12286              
12287             $RE{php_3_01} = {
12288             name => 'PHP-3.01',
12289             'name.alt.org.osi' => 'PHP-3.01',
12290             'name.alt.org.spdx' => 'PHP-3.01',
12291             'name.alt.org.tldr' => 'the-php-license-3.0.1',
12292             'name.alt.misc.fossology_old' => 'PHP_v3.01',
12293             'name.alt.misc.fossology_old_short' => 'PHP3.01',
12294             caption => 'PHP License v3.01',
12295             'caption.alt.org.osi' => 'PHP License 3.01',
12296             'caption.alt.org.spdx.until.date_20130912' => 'PHP LIcense v3.01',
12297             'caption.alt.org.spdx.since.date_20130912' => 'PHP License v3.01',
12298             'caption.alt.org.tldr' => 'PHP License 3.0.1',
12299             'caption.alt.misc.legal' => 'The PHP License, version 3.01',
12300             iri => 'https://secure.php.net/license/3_01.txt',
12301             tags => [
12302             'family:bsd',
12303             'license:contains:license:bsd_2_clause',
12304             'license:is:grant',
12305             'type:singleversion:php',
12306             ],
12307             licenseversion => '3.01',
12308              
12309             'pat.alt.subject.license.scope.multisection.part.last_clauses' =>
12310             $P{repro_copr_cond_discl}
12311             . '[.][ ]'
12312             . '[*)]The name ["]PHP["] must not be used '
12313             . 'to endorse or promote products derived from this software '
12314             . 'without prior written permission' . '[. ]'
12315             . 'For written permission, please contact group\@php\.net'
12316             . '[.][ ]'
12317             . '[*)]Products derived from this software may not be called ["]PHP["], '
12318             . 'nor may ["]PHP["] appear in their name, '
12319             . 'without prior written permission from group\@php\.net' . '[. ]'
12320             . 'You may indicate that your software works in conjunction with PHP '
12321             . 'by saying ["]Foo for PHP["] instead of calling it ["]PHP Foo["] or ["]phpfoo["]'
12322             . '[ ]'
12323             . '[*)]The PHP Group may publish revised and[/]or new versions of the license from time to time'
12324             . '[. ]'
12325             . 'Each version will be given a distinguishing version number'
12326             . '[. ]'
12327             . 'Once covered code has been published under a particular version of the license, '
12328             . 'you may always continue to use it under the terms of that version'
12329             . '[. ]'
12330             . 'You may also choose to use such covered code '
12331             . 'under the terms of any subsequent version of the license '
12332             . 'published by the PHP Group' . '[. ]'
12333             . 'No one other than the PHP Group has the right to modify the terms '
12334             . 'applicable to covered code created under this License'
12335             . '[.][ ]'
12336             . '[*)]Redistributions of any form whatsoever must retain the following acknowledgment'
12337             . '[:][ ]'
12338             . '["]This product includes PHP software, freely available',
12339             'pat.alt.subject.license.scope.line.scope.sentence.part.clause_6' =>
12340             'This product includes PHP software, freely available',
12341             };
12342              
12343             =item * postgresql
12344              
12345             =cut
12346              
12347             $RE{postgresql} = {
12348             name => 'PostgreSQL',
12349             'name.alt.org.fedora' => 'PostgreSQL',
12350             'name.alt.org.osi' => 'PostgreSQL',
12351             'name.alt.org.osi.iri.stem.until.date_20110430' => 'postgresql',
12352             'name.alt.org.spdx' => 'PostgreSQL',
12353             'name.alt.org.wikidata.synth.nogrant' => 'Q18563589',
12354             caption => 'PostgreSQL License',
12355             'caption.alt.org.fedora.iri.self' => 'PostgreSQL License',
12356             'caption.alt.org.osi' => 'The PostgreSQL Licence',
12357             'caption.alt.org.osi.misc.list' => 'The PostgreSQL License',
12358             'caption.alt.org.tldr' => 'PostgreSQL License (PostgreSQL)',
12359             'caption.alt.org.trove' => 'PostgreSQL License',
12360             'summary.alt.org.fedora.iri.mit' =>
12361             'MIT-style license, PostgreSQL License (MIT Variant)',
12362             tags => [
12363             'family:mit',
12364             'license:is:grant',
12365             'type:unversioned',
12366             ],
12367              
12368             'pat.alt.subject.license' => $P{permission_use_fee_agree},
12369             };
12370              
12371             =item * psf_2
12372              
12373             I
12374              
12375             =cut
12376              
12377             # license scheme is unversioned, despite versioned name
12378             $RE{psf_2} = {
12379             name => 'PSF-2.0',
12380             'name.alt.org.debian.misc.short' => 'PSF-2',
12381             'name.alt.org.wikidata' => 'Q2600299',
12382             'name.alt.misc.short' => 'PSFL',
12383             'name.alt.misc.shortest' => 'PSF',
12384             caption => 'Python Software Foundation License 2.0',
12385             'caption.alt.org.steward' => 'PSF License Agreement',
12386             'caption.alt.org.trove' => 'Python Software Foundation License',
12387             'caption.alt.misc.legal' =>
12388             'PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2',
12389             'caption.alt.org.wikipedia' => 'Python Software Foundation License',
12390             iri =>
12391             'https://docs.python.org/3/license.html#psf-license-agreement-for-python-release',
12392             'iri.alt.misc.short' =>
12393             'https://docs.python.org/3/license.html#psf-license',
12394             tags => [
12395             'license:published:by_psf',
12396             'type:unversioned',
12397             ],
12398             licenseversion => '2.0',
12399              
12400             'pat.alt.subject.license' =>
12401             '[*)]PSF is making Python available to Licensee',
12402             };
12403              
12404             =item * public_domain
12405              
12406             =cut
12407              
12408             $RE{public_domain} = {
12409             name => 'public-domain',
12410             'name.alt.org.fsf' => 'PublicDomain',
12411             'name.alt.misc.case_and_dash' => 'Public-Domain',
12412             caption => 'Public domain',
12413             'caption.alt.org.fedora' => 'Public Domain',
12414             'caption.alt.org.trove' => 'Public Domain',
12415             'iri.alt.org.linfo' => 'http://www.linfo.org/publicdomain.html',
12416             tags => [
12417             'license:is:grant',
12418             'type:unversioned',
12419             ],
12420              
12421             'pat.alt.subject.name' =>
12422             "$the?(?:[Pp]ublic|PUBLIC)[- ](?:[Dd]omain|DOMAIN)",
12423             };
12424             $RE{public_domain}{'_pat.alt.subject.grant'} = [
12425             '(?:[Tt]his is|[Tt]hey are|[Ii]t[\']s) in '
12426             . $RE{public_domain}{'pat.alt.subject.name'},
12427             '(?:[Tt]his|[Tt]he)[ ](?:(?:source )?code|document|file|library|macros|opening book|work)[ ]is(?: put)?(?: in)? '
12428             . $RE{public_domain}{'pat.alt.subject.name'},
12429             'are dedicated to ' . $RE{public_domain}{'pat.alt.subject.name'},
12430             'for use in ' . $RE{public_domain}{'pat.alt.subject.name'},
12431             'placed in(?:to)? ' . $RE{public_domain}{'pat.alt.subject.name'},
12432             'considered to be in ' . $RE{public_domain}{'pat.alt.subject.name'},
12433             'offered to use in ' . $RE{public_domain}{'pat.alt.subject.name'},
12434             'provided [as is] into ' . $RE{public_domain}{'pat.alt.subject.name'},
12435             'released to ' . $RE{public_domain}{'pat.alt.subject.name'},
12436             'RELEASED INTO ' . $RE{public_domain}{'pat.alt.subject.name'},
12437             ];
12438              
12439             =item * qpl
12440              
12441             =item * qpl_1
12442              
12443             =cut
12444              
12445             $RE{qpl} = {
12446             name => 'QPL',
12447             'name.alt.org.fedora' => 'QPL',
12448             'name.alt.org.osi.iri.stem.until.date_20110430' => 'qtpl',
12449             'name.alt.org.wikidata.synth.nogrant' => 'Q1396282',
12450             caption => 'Q Public License',
12451             'caption.alt.org.trove' => 'Qt Public License (QPL)',
12452             'caption.alt.org.wikipedia' => 'Q Public License',
12453             tags => [
12454             'type:versioned:decimal',
12455             ],
12456             };
12457              
12458             $RE{qpl_1} = {
12459             name => 'QPL-1.0',
12460             'name.alt.org.osi' => 'QPL-1.0',
12461             'name.alt.org.spdx' => 'QPL-1.0',
12462             'name.alt.org.perl' => 'qpl_1_0',
12463             'name.alt.misc.fossology_old' => 'QPL_v1.0',
12464             caption => 'Q Public License 1.0',
12465             'caption.alt.org.fsf' => 'Q Public License (QPL), Version 1.0',
12466             'caption.alt.org.osi.synth.nogrant' => 'The Q Public License Version',
12467             'caption.alt.org.osi.misc.list.synth.nogrant' => 'Q Public License',
12468             'caption.alt.org.perl' => 'Q Public License, Version 1.0',
12469             'caption.alt.org.tldr' => 'Q Public License 1.0 (QPL-1.0)',
12470             tags => [
12471             'type:singleversion:qpl',
12472             ],
12473             licenseversion => '1.0',
12474              
12475             'pat.alt.subject.license.scope.sentence' =>
12476             'This license applies to any software '
12477             . 'containing a notice placed by the copyright holder '
12478             . 'saying that it may be distributed '
12479             . 'under the terms of the Q Public License '
12480             . 'version 1\.0[.]',
12481             };
12482              
12483             =item * rpl
12484              
12485             =item * rpl_1
12486              
12487             =item * rpl_1_1
12488              
12489             =item * rpl_1_3
12490              
12491             =item * rpl_1_5
12492              
12493             =cut
12494              
12495             $RE{rpl} = {
12496             name => 'RPL',
12497             'name.alt.org.wikidata.synth.nogrant' => 'Q7302458',
12498             caption => 'Reciprocal Public License',
12499             'caption.alt.org.fedora' => 'Reciprocal Public License',
12500             'caption.alt.org.wikipedia' => 'Reciprocal Public License',
12501             tags => [
12502             'type:versioned:decimal',
12503             ],
12504             };
12505              
12506             $RE{rpl_1} = {
12507             name => 'RPL-1',
12508             'name.alt.org.osi.iri.stem.until.date_20110430' => 'rpl1.0',
12509             caption => 'Reciprocal Public License, Version 1.0',
12510             'iri.alt.archive.time_20020223190112' =>
12511             'http://www.technicalpursuit.com/Biz_RPL.html',
12512             tags => [
12513             'type:singleversion:rpl',
12514             ],
12515             licenseversion => '1.0',
12516              
12517             'pat.alt.subject.license.scope.multisection.part.part1' =>
12518             'This Reciprocal Public License Version 1\.0 [(]["]License["][)] applies to any programs'
12519             };
12520              
12521             $RE{rpl_1_1} = {
12522             name => 'RPL-1.1',
12523             'name.alt.org.osi' => 'RPL-1.1',
12524             'name.alt.org.spdx.since.date_20130410' => 'RPL-1.1',
12525             'name.alt.misc.fossology_old' => 'RPL_v1.1',
12526             'name.alt.misc.fossology_old_short' => 'RPL1.1',
12527             caption => 'Reciprocal Public License 1.1',
12528             'caption.alt.org.osi' => 'Reciprocal Public License, version 1.1',
12529             tags => [
12530             'type:singleversion:rpl',
12531             ],
12532             licenseversion => '1.1',
12533              
12534             'pat.alt.subject.license.scope.multisection.part.part1' =>
12535             'This Reciprocal Public License Version 1\.1 [(]["]License["][)] applies to any programs'
12536             };
12537              
12538             $RE{rpl_1_3} = {
12539             name => 'RPL-1.3',
12540             caption => 'Reciprocal Public License 1.3',
12541             'iri.alt.archive.time_20080828191234' =>
12542             'http://www.technicalpursuit.com/licenses/RPL_1.3.html',
12543             tags => [
12544             'type:singleversion:rpl',
12545             ],
12546             licenseversion => '1.3',
12547              
12548             'pat.alt.subject.license.scope.multisection.part.part1' =>
12549             'This Reciprocal Public License Version 1\.3 [(]["]License["][)] applies to any programs'
12550             };
12551              
12552             $RE{rpl_1_5} = {
12553             name => 'RPL-1.5',
12554             'name.alt.org.osi' => 'RPL-1.5',
12555             'name.alt.org.osi.iri.stem.until.date_20110430' => 'rpl1.5',
12556             'name.alt.org.spdx' => 'RPL-1.5',
12557             'name.alt.misc.fossology_old' => 'RPL_v1.5',
12558             'name.alt.misc.fossology_old_short' => 'RPL1.5',
12559             caption => 'Reciprocal Public License 1.5',
12560             'caption.alt.org.tldr' => 'Reciprocal Public License 1.5 (RPL-1.5)',
12561             tags => [
12562             'type:singleversion:rpl',
12563             ],
12564             licenseversion => '1.5',
12565              
12566             'pat.alt.subject.license.scope.multisection.part.part1' =>
12567             'This Reciprocal Public License Version 1\.5 [(]["]License["][)] applies to any programs'
12568             };
12569              
12570             =item * rpsl
12571              
12572             =item * rpsl_1
12573              
12574             I
12575              
12576             =cut
12577              
12578             $RE{rpsl} = {
12579             name => 'RPSL',
12580             'name.alt.org.osi.iri.stem.until.date_20110430' => 'real',
12581             'name.alt.org.wikidata.synth.nogrant' => 'Q7300815',
12582             'name.alt.misc.fossology_old' => 'RealNetworks-EULA',
12583             'name.alt.misc.fossology_old_short' => 'RealNetworks',
12584             caption => 'RealNetworks Public Source License',
12585             'caption.alt.org.wikipedia' => 'RealNetworks Public Source License',
12586             tags => [
12587             'type:versioned:decimal',
12588             ],
12589             };
12590              
12591             $RE{rpsl_1} = {
12592             name => 'RPSL-1.0',
12593             'name.alt.org.osi' => 'RPSL-1.0',
12594             'name.alt.org.spdx' => 'RPSL-1.0',
12595             'name.alt.misc.fossology_old' => 'RPSL_v1.1',
12596             'name.alt.misc.fossology_old_short' => 'RPSL1.1',
12597             caption => 'RealNetworks Public Source License v1.0',
12598             'caption.alt.org.osi' => 'RealNetworks Public Source License Version 1.0',
12599             'caption.alt.org.osi.misc.list' =>
12600             'RealNetworks Public Source License V1.0',
12601             'caption.alt.legal.license' =>
12602             'RealNetworks Public Source License Version 1.0',
12603             'caption.alt.org.tldr' =>
12604             'RealNetworks Public Source License v1.0 (RPSL-1.0)',
12605             tags => [
12606             'license:contains:name:afl',
12607             'license:contains:name:apache',
12608             'license:contains:name:artistic',
12609             'license:contains:name:bsd',
12610             'license:contains:name:cpl',
12611             'license:contains:name:expat',
12612             'license:contains:name:gpl_1',
12613             'license:contains:name:intel',
12614             'license:contains:name:lgpl_1',
12615             'license:contains:name:libpng',
12616             'license:contains:name:Motosoto',
12617             'license:contains:name:mpl_1',
12618             'license:contains:name:mpl_1_1',
12619             'license:contains:name:ncsa',
12620             'license:contains:name:nokia',
12621             'license:contains:name:python',
12622             'license:contains:name:rscpl',
12623             'license:contains:name:siss_1_1',
12624             'license:contains:name:w3c',
12625             'license:contains:name:xnet',
12626             'license:contains:name:zlib',
12627             'license:contains:name:zpl',
12628             'type:singleversion:rpsl',
12629             ],
12630             licenseversion => '1.0',
12631              
12632             'pat.alt.subject.license' =>
12633             'General Definitions[. ]This License applies to any program or other work',
12634             };
12635              
12636             =item * ruby
12637              
12638             =cut
12639              
12640             $RE{ruby} = {
12641             name => 'Ruby',
12642             'name.alt.org.fedora' => 'Ruby',
12643             'name.alt.org.spdx' => 'Ruby',
12644             'name.alt.org.wikidata.synth.nogrant' => 'Q3066722',
12645             caption => 'Ruby License',
12646             'caption.alt.org.tldr' => 'Ruby License (Ruby)',
12647             tags => [
12648             'type:unversioned',
12649             ],
12650              
12651             'pat.alt.subject.license.scope.line.scope.sentence' =>
12652             'You may modify and include the part of the software into any',
12653             };
12654              
12655             =item * rscpl
12656              
12657             =cut
12658              
12659             $RE{rscpl} = {
12660             name => 'RSCPL',
12661             'name.alt.org.osi' => 'RSCPL',
12662             'name.alt.org.osi.iri.stem.until.date_20110430' => 'ricohpl',
12663             'name.alt.org.spdx' => 'RSCPL',
12664             'name.alt.misc.fossology_old' => 'Ricoh',
12665             'name.alt.misc.fossology_old_verson' => 'Ricoh_v1.0',
12666             'name.alt.org.wikidata.synth.nogrant' => 'Q7332330',
12667             caption => 'Ricoh Source Code Public License',
12668             'caption.alt.org.fedora' => 'Ricoh Source Code Public License',
12669             'caption.alt.org.osi' => 'The Ricoh Source Code Public License',
12670             'caption.alt.org.osi.misc.list' => 'Ricoh Source Code Public License',
12671             'caption.alt.org.tldr' => 'Ricoh Source Code Public License (RSCPL)',
12672             'caption.alt.org.trove' => 'Ricoh Source Code Public License',
12673             tags => [
12674             'type:unversioned',
12675             ],
12676              
12677             'pat.alt.subject.license.scope.sentence' =>
12678             'Endorsements[. ]The names ["]Ricoh,["] ["]Ricoh Silicon Valley,["] and ["]RSV["] must not'
12679             };
12680              
12681             =item * sax_pd
12682              
12683             I
12684              
12685             =cut
12686              
12687             $RE{sax_pd} = {
12688             name => 'SAX-PD',
12689             'name.alt.org.spdx' => 'SAX-PD',
12690             caption => 'Sax Public Domain Notice',
12691             'caption.alt.org.tldr' => 'Sax Public Domain Notice (SAX-PD)',
12692             tags => [
12693             'license:is:grant',
12694             'type:unversioned',
12695             ],
12696              
12697             'pat.alt.subject.license.scope.line.scope.sentence' =>
12698             'No one owns SAX[:][ ]you may use it freely in both commercial',
12699             };
12700              
12701             =item * sds
12702              
12703             I
12704              
12705             =item * sds_1
12706              
12707             I
12708              
12709             =cut
12710              
12711             $RE{sds} = {
12712             name => 'SdS',
12713             caption => 'Show don\'t Sell License',
12714             tags => [
12715             'type:versioned:decimal',
12716             ],
12717             };
12718              
12719             $RE{sds_1} = {
12720             name => 'SdS-1.0.0',
12721             caption => 'Show don\'t Sell License v1.0.0',
12722             description => <<'END',
12723             Proof:
12724             [Github](https://github.com/SparrowOchon/Humble-dl/blob/master/LICENSE)
12725             END
12726             tags => [
12727             'type:singleversion:sds',
12728             ],
12729             licenseversion => '1.0.0',
12730              
12731             'pat.alt.subject.license.scope.line.scope.sentence.part.part4_2' =>
12732             'If the clause 4\.1 becomes true the licensee must pay',
12733             };
12734              
12735             =item * sgi_b
12736              
12737             =item * sgi_b_1
12738              
12739             I
12740              
12741             =item * sgi_b_1_1
12742              
12743             I
12744              
12745             =item * sgi_b_2
12746              
12747             I
12748              
12749             =cut
12750              
12751             $RE{sgi_b} = {
12752             name => 'SGI-B',
12753             'name.alt.misc.unbranded' => 'FreeB',
12754             caption => 'SGI Free Software License B',
12755             'caption.alt.misc.shorter' => 'SGI FreeB',
12756             iri => 'https://www.sgi.com/projects/FreeB/',
12757             tags => [
12758             'type:versioned:decimal',
12759             ],
12760             };
12761              
12762             $RE{sgi_b_1} = {
12763             name => 'SGI-B-1.0',
12764             'name.alt.org.spdx.since.date_20130117' => 'SGI-B-1.0',
12765             'name.alt.misc.fossology_old_vague.synth.nogrant' => 'SGI-v1.0',
12766             caption => 'SGI Free Software License B v1.0',
12767             tags => [
12768             'type:singleversion:sgi_b',
12769             ],
12770             licenseversion => '1.0',
12771              
12772             'pat.alt.subject.license.scope.line.scope.paragraph' =>
12773             'License Grant[. ]Subject to the provisions',
12774             'pat.alt.subject.license.scope.multiparagraph.part.head' =>
12775             'SGI FREE SOFTWARE LICENSE B[ ][(]Version 1\.0 1[/]25[/]2000[)][ ]'
12776             . '[*)]Definitions[.]',
12777             };
12778              
12779             $RE{sgi_b_1_1} = {
12780             name => 'SGI-B-1.1',
12781             'name.alt.org.spdx.since.date_20130117' => 'SGI-B-1.1',
12782             'name.alt.misc.fossology_old' => 'SGI-B1.1',
12783             'name.alt.misc.fossology_old_vague.synth.nogrant' => 'SGI-v1.1',
12784             caption => 'SGI Free Software License B v1.1',
12785             tags => [
12786             'type:singleversion:sgi_b',
12787             ],
12788             licenseversion => '1.1',
12789              
12790             'pat.alt.subject.license.part.title' => 'SGI License Grant',
12791             'pat.alt.subject.license.scope.multiparagraph.part.head' =>
12792             'SGI FREE SOFTWARE LICENSE B[ ][(]Version 1\.1 02[/]22[/]2000[)][ ]'
12793             . '[*)]Definitions[.]',
12794             };
12795              
12796             $RE{sgi_b_2} = {
12797             name => 'SGI-B-2.0',
12798             'name.alt.org.spdx.since.date_20130117' => 'SGI-B-2.0',
12799             caption => 'SGI Free Software License B v2.0',
12800             'caption.alt.org.fedora' => 'SGI Free Software License B 2.0',
12801             'caption.alt.org.tldr' => 'SGI Free Software License B v2.0 (SGI-B-2.0)',
12802             'name.alt.misc.fossology_old' => 'RPSL_v1.1',
12803             'name.alt.misc.fossology_old' => 'SGI-B2.0',
12804             'name.alt.misc.fossology_old_vague.synth.nogrant' => 'SGI-2.0',
12805             tags => [
12806             'type:singleversion:sgi_b',
12807             ],
12808             licenseversion => '2.0',
12809              
12810             'pat.alt.subject.license.part.reproduction' =>
12811             'The above copyright notice including the dates of first publication',
12812             'pat.alt.subject.license.scope.multiparagraph.part.head' =>
12813             'SGI FREE SOFTWARE LICENSE B[ ]'
12814             . '[(]Version 2\.0, Sept\. 18, 2008[)] '
12815             . 'Copyright[c] \[dates of first publication\] Silicon Graphics, Inc[. ]'
12816             . 'All Rights Reserved[.][ ]'
12817             . $P{perm_granted},
12818             };
12819              
12820             =item * simpl
12821              
12822             I
12823              
12824             =item * simpl_2
12825              
12826             I
12827              
12828             =cut
12829              
12830             $RE{simpl} = {
12831             name => 'SimPL',
12832             'name.alt.org.wikidata.synth.nogrant' => 'Q38351460',
12833             caption => 'Simple Public License',
12834             tags => [
12835             'type:versioned:decimal',
12836             ],
12837             };
12838              
12839             $RE{simpl_2} = {
12840             name => 'SimPL-2.0',
12841             'name.alt.org.osi' => 'SimPL-2.0',
12842             'name.alt.org.osi.iri.stem.until.date_20110430' => 'simpl-2.0',
12843             'name.alt.org.osi.misc.cat_list' => 'Simple-2.0',
12844             'name.alt.org.spdx' => 'SimPL-2.0',
12845             'name.alt.org.tldr.path.short' => 'simpl',
12846             caption => 'Simple Public License 2.0',
12847             'caption.alt.org.osi.synth.nogrant' => 'Simple Public License',
12848             'caption.alt.org.osi.misc.list' => 'Simple Public License 2.0',
12849             'caption.alt.org.tldr' => 'Simple Public License 2.0 (SimPL)',
12850             description => <<'END',
12851             Origin: by Robert W. Gomulkiewicz in 2005,
12852             inspired by GNU General Public License, Version 2.
12853             Details at
12854             and at
12855             END
12856             tags => [
12857             'type:singleversion:simpl',
12858             ],
12859             licenseversion => '2.0',
12860              
12861             'pat.alt.subject.license.scope.line.scope.sentence.part.intro' =>
12862             'The SimPL applies to the software[\']s source and',
12863             };
12864              
12865             =item * simple_w3c
12866              
12867             I
12868              
12869             =item * simple_w3c_1_1
12870              
12871             I
12872              
12873             =cut
12874              
12875             $RE{simple_w3c} = {
12876             name => 'Simple',
12877             caption => 'Simple Public License',
12878             tags => [
12879             'type:versioned:decimal',
12880             ],
12881             };
12882              
12883             $RE{simple_w3c_1_1} = {
12884             name => 'Simple-1.1',
12885             caption => 'Simple Public License 1.1',
12886             iri => 'https://www.analysisandsolutions.com/software/license.htm',
12887             description => <<'END',
12888             Origin: W3C Software Notice and License (1998-07-20)
12889             END
12890             tags => [
12891             'license:is:grant',
12892             'type:singleversion:simpl',
12893             ],
12894             licenseversion => '1.1',
12895              
12896             'pat.alt.subject.license.scope.line.scope.sentence.part.clause2' =>
12897             'The name, servicemarks and trademarks of the copyright',
12898             };
12899              
12900             =item * sissl
12901              
12902             I
12903              
12904             =item * sissl_1_1
12905              
12906             I
12907              
12908             =item * sissl_1_2
12909              
12910             I
12911              
12912             =cut
12913              
12914             $RE{sissl} = {
12915             name => 'SISSL',
12916             'name.alt.org.fedora' => 'SISSL',
12917             'name.alt.org.osi.iri.stem.until.date_20110430' => 'sisslpl',
12918             'name.alt.org.perl' => 'sun',
12919             'name.alt.org.wikidata.synth.nogrant' => 'Q635577',
12920             caption => 'Sun Industry Standards Source License',
12921             'caption.alt.org.perl' => 'Sun Internet Standards Source License (SISSL)',
12922             'caption.alt.org.trove' =>
12923             'Sun Industry Standards Source License (SISSL)',
12924             'caption.alt.org.wikipedia' => 'Sun Industry Standards Source License',
12925             'caption.alt.misc.long' =>
12926             'Sun Industry Standards Source License (SISSL)',
12927             tags => [
12928             'type:versioned:decimal',
12929             ],
12930             };
12931              
12932             $RE{sissl_1_1} = {
12933             name => 'SISSL-1.1',
12934             'name.alt.org.osi.synth.nogrant' => 'SISSL',
12935             'name.alt.org.spdx.since.date_20130117.synth.nogrant' => 'SISSL',
12936             'name.alt.misc.fossology_old' => 'SISSL_v1.1',
12937             caption => 'Sun Industry Standards Source License v1.1',
12938             'caption.alt.org.osi.synth.nogrant' =>
12939             'Sun Industry Standards Source License',
12940             'caption.alt.org.spdx.until.date_20130912.synth.nogrant' =>
12941             'Sun Industry Standards Source License',
12942             'caption.alt.org.spdx.since.date_20130912' =>
12943             'Sun Industry Standards Source License v1.1',
12944             iri => 'https://www.openoffice.org/licenses/sissl_license.html',
12945             tags => [
12946             'type:singleversion:sissl',
12947             ],
12948             licenseversion => '1.1',
12949              
12950             'pat.alt.subject.license.scope.multisection.part.header' =>
12951             'Sun Industry Standards Source License[ - ]Version 1\.1[ ]'
12952             . '1\.0 DEFINITIONS',
12953             };
12954              
12955             $RE{sissl_1_2} = {
12956             name => 'SISSL-1.2',
12957             'name.alt.org.spdx.since.date_20130912' => 'SISSL-1.2',
12958             caption => 'Sun Industry Standards Source License v1.2',
12959             'caption.alt.org.tldr' =>
12960             'Sun Industry Standards Source License v1.2 (SISSL-1.2)',
12961             'caption.alt.misc.legal' =>
12962             'SUN INDUSTRY STANDARDS SOURCE LICENSE Version 1.2',
12963             iri =>
12964             'http://gridscheduler.sourceforge.net/Gridengine_SISSL_license.html',
12965             tags => [
12966             'type:singleversion:sissl',
12967             ],
12968             licenseversion => '1.2',
12969              
12970             'pat.alt.subject.license.scope.multisection.part.header' =>
12971             'SUN INDUSTRY STANDARDS SOURCE LICENSE[ ]'
12972             . 'Version 1\.2[ ]'
12973             . '1\.0 DEFINITIONS',
12974             };
12975              
12976             =item * sleepycat
12977              
12978             I
12979              
12980             =cut
12981              
12982             $RE{sleepycat} = {
12983             name => 'Sleepycat',
12984             'name.alt.org.fedora.iri.self' => 'Sleepycat',
12985             'name.alt.org.osi' => 'Sleepycat',
12986             'name.alt.org.osi.iri.stem.until.date_20110430' => 'sleepycat',
12987             'name.alt.org.spdx' => 'Sleepycat',
12988             'name.alt.org.tldr.path.short' => 'sleepycat',
12989             'name.alt.org.wikidata.synth.nogrant' => 'Q2294050',
12990             caption => 'Sleepycat License',
12991             'caption.alt.misc.berkeley' => 'Berkeley Database License',
12992             'caption.alt.misc.public' => 'Sleepycat Public License',
12993             'caption.alt.org.fedora' => 'Sleepycat Software Product License',
12994             'caption.alt.org.osi' => 'The Sleepycat License',
12995             'caption.alt.org.osi.misc.list' => 'Sleepycat License',
12996             'caption.alt.org.tldr' => 'Sleepycat License',
12997             'caption.alt.org.trove' => 'Sleepycat License',
12998             'caption.alt.org.wikipedia' => 'Sleepycat License',
12999             tags => [
13000             'type:unversioned',
13001             ],
13002              
13003             'pat.alt.subject.license.scope.line.part.clause4' =>
13004             'obtain complete source code for the DB software and',
13005             'pat.alt.subject.license.scope.paragraph.part.clause4' =>
13006             'Redistributions in any form must be accompanied by information on how to obtain'
13007             . ' complete source code for the DB software'
13008             . ' and any accompanying software that uses the DB software',
13009             };
13010              
13011             =item * sncl
13012              
13013             I
13014              
13015             =item * sncl_1_10
13016              
13017             I
13018              
13019             =item * sncl_2_0_1
13020              
13021             I
13022              
13023             =item * sncl_2_0_2
13024              
13025             I
13026              
13027             =item * sncl_2_1
13028              
13029             I
13030              
13031             =item * sncl_2_3
13032              
13033             I
13034              
13035             =cut
13036              
13037             $RE{sncl} = {
13038             name => 'SNCL',
13039             caption => 'Simple Non Code License',
13040             tags => [
13041             'type:versioned:decimal',
13042             ],
13043             };
13044              
13045             $RE{sncl_1_10} = {
13046             name => 'SNCL-1.10.0',
13047             caption => 'Simple Non Code License v1.10.0',
13048             'caption.alt.org.tldr.synth.nogrant' => 'Simple non code license (SNCL)',
13049             description => <<'END',
13050             Proof:
13051             [Github](https://github.com/SiddChugh/Diffie-Hellman-Algorithm/blob/master/License.txt)
13052             END
13053             tags => [
13054             'type:singleversion:sncl',
13055             ],
13056             licenseversion => '1.10.0',
13057              
13058             'pat.alt.subject.license.scope.line.scope.sentence.part.part1_6' =>
13059             'If the 1\.5 clause becomes true the licensee must pay',
13060             };
13061              
13062             $RE{sncl_2_0_1} = {
13063             name => 'SNCL-2.0.1',
13064             caption => 'Simple Non Code License v2.0.1',
13065             description => <<'END',
13066             Proof:
13067             [Github](https://github.com/MysteryDash/Simple-Non-Code-License/blob/af24a92211e3c35392acb21611f228200fd32fd0/License.txt)
13068             END
13069             tags => [
13070             'type:singleversion:sncl',
13071             ],
13072             licenseversion => '2.0.1',
13073              
13074             'pat.alt.subject.license.scope.line.scope.sentence.part.part3_2' =>
13075             'If the 3\.1 clause becaumes true the licensee must pay',
13076             };
13077              
13078             $RE{sncl_2_0_2} = {
13079             name => 'SNCL-2.0.2',
13080             caption => 'Simple Non Code License v2.0.2',
13081             description => <<'END',
13082             Identical to Simple Non Code License v2.0.1, except...
13083             * typo correction in section 3.2
13084              
13085             Proof:
13086             [Github](https://github.com/MysteryDash/Simple-Non-Code-License/blob/9a045d0a8dc58341a35d11e4f3d8343c2d498ca5/License.txt)
13087             END
13088             tags => [
13089             'type:singleversion:sncl',
13090             ],
13091             licenseversion => '2.0.2',
13092             };
13093              
13094             $RE{sncl_2_1} = {
13095             name => 'SNCL-2.1.0',
13096             'name.alt.org.tldr.synth.nogrant' => 'simple-non-code-license-2.0.2',
13097             caption => 'Simple Non Code License v2.1.0',
13098             'caption.alt.org.tldr' => 'Simple Non Code License (SNCL) 2.1.0',
13099             description => <<'END',
13100             Proof:
13101             [Github](https://github.com/MysteryDash/Simple-Non-Code-License/blob/480fb558b17aa1d23ad6d61ad420ea19d08d8940/License.txt)
13102             END
13103             tags => [
13104             'type:singleversion:sncl',
13105             ],
13106             licenseversion => '2.1.0',
13107              
13108             'pat.alt.subject.license.scope.line.scope.sentence.part.part1_3_4' =>
13109             'The same rule about commercial use stated in clause 1\.1 applies here',
13110             };
13111              
13112             $RE{sncl_2_3} = {
13113             name => 'SNCL-2.3.0',
13114             caption => 'Simple Non Code License v2.3.0',
13115             description => <<'END',
13116             Proof:
13117             [Github](https://github.com/MysteryDash/Simple-Non-Code-License/blob/17766cb9f31240dc04030412b1da94d43097408f/License.txt)
13118             END
13119             tags => [
13120             'type:singleversion:sncl',
13121             ],
13122             licenseversion => '2.3.0',
13123              
13124             'pat.alt.subject.license.scope.line.scope.sentence.part.part3_2' =>
13125             'If the clause 3\.1 becomes true the licensee must pay',
13126             };
13127              
13128             =item * spl
13129              
13130             =item * spl_1
13131              
13132             =cut
13133              
13134             $RE{spl} = {
13135             name => 'SPL',
13136             'name.alt.org.fedora' => 'SPL',
13137             'name.alt.org.osi.iri.stem.until.date_20110430' => 'sunpublic',
13138             'name.alt.org.wikidata.synth.nogrant' => 'Q648252',
13139             caption => 'Sun Public License',
13140             'caption.alt.org.trove' => 'Sun Public License',
13141             'caption.alt.org.wikipedia' => 'Sun Public License',
13142             tags => [
13143             'type:versioned:decimal',
13144             ],
13145             };
13146              
13147             $RE{spl_1} = {
13148             name => 'SPL-1.0',
13149             'name.alt.org.osi' => 'SPL-1.0',
13150             'name.alt.org.spdx' => 'SPL-1.0',
13151             'name.alt.misc.fossology_old' => 'Sun-PL_v1.0',
13152             'name.alt.misc.fossology_old_short' => 'SunPL1.0',
13153             caption => 'Sun Public License v1.0',
13154             'caption.alt.org.osi' => 'Sun Public License, Version 1.0',
13155             'caption.alt.org.osi.misc.list' => 'Sun Public License 1.0',
13156             'caption.alt.org.tldr' => 'Sun Public License v1.0 (SPL-1.0)',
13157             tags => [
13158             'type:singleversion:spl',
13159             ],
13160             licenseversion => '1.0',
13161              
13162             'pat.alt.subject.license.scope.multisection' =>
13163             'Exhibit A -Sun Public License Notice[.][ ]'
13164             . 'The contents of this file are subject to the Sun Public License'
13165             };
13166              
13167             =item * ssleay
13168              
13169             I
13170              
13171             =cut
13172              
13173             $RE{ssleay} = {
13174             name => 'SSLeay',
13175             'name.alt.org.perl' => 'ssleay',
13176             'caption.alt.org.perl' => 'Original SSLeay License',
13177             tags => [
13178             'license:contains:license:bsd_2_clause',
13179             'license:is:grant',
13180             'type:unversioned',
13181             ],
13182              
13183             'pat.alt.subject.license.part.attribution' =>
13184             'If this package is used in a product',
13185             'pat.alt.subject.license.scope.multisection' => $P{repro_copr_cond_discl}
13186             . '[.][ ]' . '[*)]'
13187             . $P{ad_mat_ack_ssleay} . '?',
13188             'pat.alt.subject.license.part.advertising_clause_2' =>
13189             'The word ["]cryptographic["] can be left out',
13190             };
13191              
13192             =item * stlport
13193              
13194             I
13195              
13196             =cut
13197              
13198             $RE{stlport} = {
13199             name => 'STLport',
13200             caption => 'STLport License Agreement',
13201             'summary.alt.org.fedora.iri.mit' => 'MIT-style license, Cheusov variant',
13202             iri => 'http://www.stlport.org/doc/license.html',
13203             tags => [
13204             'family:mit',
13205             'type:unversioned',
13206             ],
13207              
13208             'pat.alt.subject.license.scope.line.scope.sentence' =>
13209             'The Licensee may distribute binaries compiled',
13210             };
13211              
13212             =item * sugarcrm
13213              
13214             =item * sugarcrm_1_1_3
13215              
13216             =cut
13217              
13218             $RE{sugarcrm} = {
13219             name => 'SugarCRM',
13220             'name.alt.org.wikidata.synth.nogrant' => 'Q3976707',
13221             caption => 'SugarCRM Public License',
13222             tags => [
13223             'type:versioned:decimal',
13224             ],
13225             };
13226              
13227             $RE{sugarcrm_1_1_3} = {
13228             name => 'SugarCRM-1.1.3',
13229             'name.alt.org.spdx' => 'SugarCRM-1.1.3',
13230             'name.alt.org.tldr.path.short' => 'sugarcrm-1.1.3',
13231             caption => 'SugarCRM Public License v1.1.3',
13232             'caption.alt.org.tldr' =>
13233             'SugarCRM Public License v1.1.3 (SugarCRM-1.1.3)',
13234             tags => [
13235             'type:singleversion:sugarcrm',
13236             ],
13237             licenseversion => '1.1.3',
13238              
13239             'pat.alt.subject.license' =>
13240             'The SugarCRM Public License Version [(]["]SPL["][)] consists of',
13241             };
13242              
13243             =item * tosl
13244              
13245             I
13246              
13247             =cut
13248              
13249             # Yes, it is unversioned
13250             $RE{tosl} = {
13251             name => 'TOSL',
13252             'name.alt.org.fedora' => 'TOSL',
13253             'name.alt.org.spdx.since.date_20140807' => 'TOSL',
13254             'name.alt.misc.legal' => 'TRUST',
13255             caption => 'Trusster Open Source License',
13256             'caption.alt.org.fedora' => 'Trusster Open Source License',
13257             'caption.alt.misc.legal' =>
13258             'Trusster Open Source License version 1.0a (TRUST)',
13259             description => <<'END',
13260             Identical to Sleepycat, except...
13261             * generalize source access clause to cover "this software"
13262              
13263             Proof:
13264             [Github](https://github.com/trusster/trusster/blob/master/truss/cpp/src/truss_verification_top.cpp)
13265             END
13266             tags => [
13267             'type:unversioned',
13268             ],
13269              
13270             'pat.alt.subject.license.scope.line.part.clause4' =>
13271             'obtain complete source code for this software and',
13272             'pat.alt.subject.license.scope.paragraph.part.clause4' =>
13273             'Redistributions in any form must be accompanied by information on how to obtain'
13274             . ' complete source code for this software'
13275             . ' and any accompanying software that uses this software',
13276             };
13277              
13278             =item * truecrypt
13279              
13280             I
13281              
13282             =item * truecrypt_3
13283              
13284             I
13285              
13286             =cut
13287              
13288             $RE{truecrypt} = {
13289             name => 'TrueCrypt',
13290             caption => 'TrueCrypt License',
13291             'caption.alt.org.fedora' => 'TrueCrypt License',
13292             tags => [
13293             'type:versioned:decimal',
13294             ],
13295             };
13296              
13297             $RE{truecrypt_3} = {
13298             name => 'TrueCrypt-3.0',
13299             caption => 'TrueCrypt License Version 3.0',
13300             'caption.alt.org.tldr' => 'TrueCrypt License Version 3.0',
13301             iri => 'https://www.truecrypt71a.com/truecrypt-license/',
13302             tags => [
13303             'type:singleversion:truecrypt',
13304             ],
13305             licenseversion => '3.0',
13306              
13307             'pat.alt.subject.license.scope.line.scope.sentence' =>
13308             'License agreement for Encryption for the Masses',
13309             };
13310              
13311             =item * ucl
13312              
13313             I
13314              
13315             =item * ucl_1
13316              
13317             I
13318              
13319             =cut
13320              
13321             $RE{ucl} = {
13322             name => 'UCL',
13323             caption => 'Upstream Compatibility License',
13324             tags => [
13325             'type:versioned:decimal',
13326             ],
13327             };
13328              
13329             $RE{ucl_1} = {
13330             name => 'UCL-1.0',
13331             'name.alt.org.osi' => 'UCL-1.0',
13332             'name.alt.org.spdx.since.date_20191022' => 'UCL-1.0',
13333             caption => 'Upstream Compatibility License v. 1.0',
13334             'caption.alt.org.osi' => 'Upstream Compatibility License v1.0',
13335             tags => [
13336             'license:contains:grant',
13337             'type:singleversion:ucl',
13338             ],
13339             licenseversion => '1.0',
13340              
13341             'pat.alt.subject.license.scope.multisection.part.part1' =>
13342             'Licensed under the Upstream Compatibility License 1\.0[ ]'
13343             . '[*)]Grant of Copyright License[.]',
13344             };
13345              
13346             =item * unicode_dfs
13347              
13348             I
13349              
13350             =item * unicode_dfs_2015
13351              
13352             I
13353              
13354             =item * unicode_dfs_2016
13355              
13356             I
13357              
13358             =cut
13359              
13360             $RE{unicode_dfs} = {
13361             name => 'Unicode-DFS',
13362             'name.alt.org.wikidata.synth.nogrant' => 'Q67145209',
13363             caption => 'Unicode License Agreement - Data Files and Software',
13364             'caption.alt.org.wikidata' => 'Unicode, Inc. License Agreement',
13365             tags => [
13366             'license:is:grant',
13367             'type:versioned:decimal',
13368             ],
13369             };
13370              
13371             $RE{unicode_dfs_2015} = {
13372             name => 'Unicode-DFS-2015',
13373             'name.alt.org.fedora.synth.nogrant' => 'Unicode',
13374             'name.alt.org.spdx.since.date_20170106' => 'Unicode-DFS-2015',
13375             caption => 'Unicode License Agreement - Data Files and Software (2015)',
13376             'caption.alt.org.fedora' => 'Unicode License',
13377             'iri.alt.archive.time_20160426001149' =>
13378             'http://www.unicode.org/copyright.html#Exhibit1',
13379             tags => [
13380             'license:is:grant',
13381             'type:singleversion:unicode_dfs',
13382             ],
13383             licenseversion => '2015',
13384              
13385             'pat.alt.subject.license.part.clause_2' =>
13386             'this copyright and permission notice appear in associated documentation, and',
13387             };
13388              
13389             $RE{unicode_dfs_2016} = {
13390             name => 'Unicode-DFS-2016',
13391             'name.alt.org.osi' => 'Unicode-DFS-2016',
13392             'name.alt.org.spdx.since.date_20170106' => 'Unicode-DFS-2016',
13393             caption => 'Unicode License Agreement - Data Files and Software (2016)',
13394             'caption.alt.org.osi' =>
13395             'Unicode, Inc. License Agreement - Data Files and Software',
13396             'caption.alt.org.osi.misc.list' =>
13397             'Unicode Data Files and Software License',
13398             'caption.alt.org.osi.misc.cat_list' =>
13399             'Unicode License Agreement - Data Files and Software',
13400             iri => 'https://www.unicode.org/license.html',
13401             tags => [
13402             'license:is:grant',
13403             'type:singleversion:unicode_dfs',
13404             ],
13405             licenseversion => '2016',
13406              
13407             'pat.alt.subject.license.part.clause_2' =>
13408             'this copyright and permission notice appear in associated Documentation[.]',
13409             };
13410              
13411             =item * unicode_strict
13412              
13413             =cut
13414              
13415             $RE{unicode_strict} = {
13416             name => 'Unicode-strict',
13417             'name.alt.misc.scancode' => 'unicode-mappings',
13418             caption => 'Unicode strict',
13419             tags => [
13420             'license:is:grant',
13421             'type:unversioned',
13422             ],
13423              
13424             'pat.alt.subject.license' => 'hereby grants the right to freely use',
13425             };
13426              
13427             =item * unicode_tou
13428              
13429             =cut
13430              
13431             $RE{unicode_tou} = {
13432             name => 'Unicode-TOU',
13433             'name.alt.org.spdx.since.date_20140807' => 'Unicode-TOU',
13434             caption => 'Unicode Terms of Use',
13435             tags => [
13436             'type:unversioned',
13437             ],
13438              
13439             'pat.alt.subject.license' =>
13440             'distribute all documents and files solely for informational',
13441             };
13442              
13443             =item * unlicense
13444              
13445             =cut
13446              
13447             $RE{unlicense} = {
13448             name => 'Unlicense',
13449             'name.alt.org.osi' => 'Unlicense',
13450             'name.alt.org.spdx.since.date_20130912' => 'Unlicense',
13451             'name.alt.org.wikidata.synth.nogrant' => 'Q21659044',
13452             'iri.alt.org.wikipedia' => 'Unlicense',
13453             caption => 'The Unlicense',
13454             'caption.alt.org.fedora.iri.self' => 'Unlicense',
13455             'caption.alt.org.tldr' => 'Unlicense',
13456             'caption.alt.org.trove' => 'The Unlicense (Unlicense)',
13457             'caption.alt.org.wikidata' => 'Unlicense',
13458             iri => 'https://unlicense.org/',
13459             'iri.alt.format.txt' => 'https://unlicense.org/UNLICENSE',
13460             tags => [
13461             'type:unversioned',
13462             ],
13463              
13464             'pat.alt.subject.license.scope.line.scope.sentence' =>
13465             'This is free and unencumbered software released into the public domain',
13466             };
13467              
13468             =item * upl
13469              
13470             I
13471              
13472             =item * upl_1
13473              
13474             I
13475              
13476             =cut
13477              
13478             $RE{upl} = {
13479             name => 'UPL',
13480             'name.alt.org.fedora.iri.self' => 'UPL',
13481             'name.alt.org.wikidata.synth.nogrant' => 'Q38685700',
13482             caption => 'Universal Permissive License',
13483             'caption.alt.org.trove' => 'Universal Permissive License (UPL)',
13484             tags => [
13485             'type:versioned:decimal',
13486             ],
13487             };
13488              
13489             $RE{upl_1} = {
13490             name => 'UPL-1.0',
13491             'name.alt.org.osi.synth.nogrant' => 'UPL',
13492             'name.alt.org.spdx.since.date_20150730' => 'UPL-1.0',
13493             'name.alt.org.tldr.path.short' => 'upl-1,0',
13494             caption => 'Universal Permissive License v1.0',
13495             'caption.alt.org.osi' =>
13496             'The Universal Permissive License (UPL), Version 1.0',
13497             'caption.alt.org.osi.misc.list.synth.nogrant' =>
13498             'Universal Permissive License',
13499             'caption.alt.org.tldr' => 'Universal Permissive License 1.0 (UPL-1.0)',
13500             tags => [
13501             'license:is:grant',
13502             'type:singleversion:upl',
13503             ],
13504             licenseversion => '1.0',
13505              
13506             'pat.alt.subject.license.scope.line.scope.sentence' =>
13507             'The above copyright notice and either this complete permission notice',
13508             };
13509              
13510             =item * vsl
13511              
13512             I
13513              
13514             =item * vsl_1
13515              
13516             I
13517              
13518             =cut
13519              
13520             $RE{vsl} = {
13521             name => 'VSL',
13522             'name.alt.org.osi.iri.stem.until.date_20110430' => 'vovidapl',
13523             'name.alt.misc.fossology_old' => 'Vovida',
13524             caption => 'Vovida Software License',
13525             tags => [
13526             'type:versioned:decimal',
13527             ],
13528             };
13529              
13530             $RE{vsl_1} = {
13531             name => 'VSL-1.0',
13532             'name.alt.org.fedora.synth.nogrant' => 'VSL',
13533             'name.alt.org.osi' => 'VSL-1.0',
13534             'name.alt.org.spdx' => 'VSL-1.0',
13535             'name.alt.org.wikidata.synth.nogrant' => 'Q38349857',
13536             caption => 'Vovida Software License v1.0',
13537             'caption.alt.org.fedora' => 'Vovida Software License v. 1.0',
13538             'caption.alt.org.osi' => 'The Vovida Software License v. 1.0',
13539             'caption.alt.org.osi.misc.list' => 'Vovida Software License v. 1.0',
13540             'caption.alt.org.tldr' => 'Vovida Software License v1.0 (VSL-1.0)',
13541             'caption.alt.org.trove' => 'Vovida Software License 1.0',
13542             'caption.alt.org.wikidata' => 'Vovida Software License Version 1.0',
13543             description => <<'END',
13544             Identical to BSD (3 clause), except...
13545             * extend non-endorsement clause to include contact info
13546             * add derivatives-must-rename clause
13547              
13548             Identical to Apache 1.1, except...
13549             * drop advertisement clause
13550             * replace "Apache" and "Apache Software Foundation" with "VOCAL"
13551             * extend disclaimers to include title and non-infringement, and expensive damages
13552             END
13553             tags => [
13554             'license:contains:license:bsd_3_clause',
13555             'license:is:grant',
13556             'type:singleversion:vsl',
13557             ],
13558             licenseversion => '1.0',
13559              
13560             'pat.alt.subject.license.scope.line.scope.sentence.part.clause4' =>
13561             'Products derived from this software may not be called ["]VOCAL["],',
13562             };
13563              
13564             =item * vspl
13565              
13566             I
13567              
13568             =cut
13569              
13570             $RE{vspl} = {
13571             name => 'VSPL',
13572             caption => 'Very Simple Public License',
13573             'caption.alt.org.tldr' => 'Very Simple Public License (VSPL)',
13574             tags => [
13575             'type:unversioned',
13576             ],
13577              
13578             'pat.alt.subject.license.scope.sentence' =>
13579             'You can modify, distribute and use this software '
13580             . 'for any purpose without any restrictions '
13581             . 'as long as you keep this copyright notice intact' . '[. ]'
13582             . 'The software is provided without any warranty[.]',
13583             };
13584              
13585             =item * w3c
13586              
13587             I
13588              
13589             =item * w3c_19980519
13590              
13591             I
13592              
13593             =item * w3c_19980720
13594              
13595             I
13596              
13597             =item * w3c_20021231
13598              
13599             I
13600              
13601             =item * w3c_20150513
13602              
13603             I
13604              
13605             =cut
13606              
13607             $RE{w3c} = {
13608             name => 'W3C',
13609             'name.alt.org.debian.synth.nogrant' => 'W3C~unknown',
13610             'name.alt.org.wikidata.synth.nogrant' => 'Q3564577',
13611             caption => 'W3C License',
13612             'caption.alt.org.debian.synth.nogrant' => 'W3C License (unknown version)',
13613             'caption.alt.org.trove' => 'W3C License',
13614             'caption.alt.org.wikidata' => 'W3C Software Notice and License',
13615             'caption.alt.org.wikipedia' => 'W3C Software Notice and License',
13616             tags => [
13617             'type:versioned:decimal',
13618             ],
13619             };
13620              
13621             $RE{w3c_19980519} = {
13622             name => 'W3C-19980519',
13623             caption => 'W3C Software Notice and License (1998-05-19)',
13624             'caption.alt.misc.legal.synth.nogrant' => 'W3C IPR SOFTWARE NOTICE',
13625             iri =>
13626             'https://www.w3.org/Consortium/Legal/copyright-software-19980519.html',
13627             tags => [
13628             'license:is:grant',
13629             'type:singleversion:w3c',
13630             ],
13631             licenseversion => '19980519',
13632              
13633             'pat.alt.subject.license.scope.line.scope.sentence.part.intro' =>
13634             'This W3C software is being provided',
13635             'pat.alt.subject.license.scope.sentence.part.clause2' =>
13636             'If none exist, then a notice of the form',
13637             'pat.alt.subject.license.scope.line.scope.sentence.part.clause1' =>
13638             'A link or URL to the original W3C source',
13639             };
13640              
13641             $RE{w3c_19980720} = {
13642             name => 'W3C-19980720',
13643             'name.alt.org.spdx.since.date_20150513' => 'W3C-19980720',
13644             caption => 'W3C Software Notice and License (1998-07-20)',
13645             'caption.alt.misc.legal.synth.nogrant' =>
13646             'W3C® SOFTWARE NOTICE AND LICENSE',
13647             'caption.alt.misc.notice' =>
13648             'W3C\'s Software Intellectual Property License',
13649             iri => 'https://www.w3.org/Consortium/Legal/copyright-software-19980720',
13650             tags => [
13651             'license:is:grant',
13652             'type:singleversion:w3c',
13653             ],
13654             licenseversion => '19980720',
13655              
13656             'pat.alt.subject.license.scope.line.scope.sentence.part.intro' =>
13657             'This W3C work [(]including software, documents, or other',
13658             'pat.alt.subject.license.scope.line.scope.sentence.part.clause3' =>
13659             'Notice of any changes or modifications to the W3C files',
13660             };
13661              
13662             $RE{w3c_20021231} = {
13663             name => 'W3C-20021231',
13664             'name.alt.org.debian' => 'W3C-20021231',
13665             'name.alt.org.fedora.synth.nogrant' => 'W3C',
13666             'name.alt.org.osi.synth.nogrant' => 'W3C',
13667             'name.alt.org.spdx.synth.nogrant' => 'W3C',
13668             caption => 'W3C Software Notice and License (2002-12-31)',
13669             'caption.alt.org.fedora.synth.nogrant' =>
13670             'W3C Software Notice and License',
13671             'caption.alt.org.osi.synth.nogrant' =>
13672             'The W3C® SOFTWARE NOTICE AND LICENSE',
13673             'caption.alt.org.osi.misc.list.synth.nogrant' => 'W3C License',
13674             'caption.alt.org.spdx.until.date_20130912.synth.nogrant' =>
13675             'W3C Software and Notice License',
13676             'caption.alt.org.spdx.since.date_20130912.until.date_20150513.synth.nogrant'
13677             => 'W3C Software Notice and License',
13678             'caption.alt.org.spdx.since.date_20150513.synth.nogrant' =>
13679             'W3C Software Notice and License (2002-12-31)',
13680             'caption.alt.org.tldr.synth.nogrant' =>
13681             'W3C Software Notice and License (W3C)',
13682             'caption.alt.misc.notice' => 'W3C® Software License',
13683             iri =>
13684             'https://www.w3.org/Consortium/Legal/2002/copyright-software-20021231',
13685             tags => [
13686             'license:is:grant',
13687             'type:singleversion:w3c',
13688             ],
13689             licenseversion => '20021231',
13690              
13691             'pat.alt.subject.license.scope.line.scope.sentence.part.intro' =>
13692             'This work [(]and included software, documentation',
13693             'pat.alt.subject.license.scope.sentence.part.clause2' =>
13694             'If none exist, the W3C Software Short Notice',
13695             'pat.alt.subject.license.scope.line.scope.sentence.part.clause3' =>
13696             'Notice of any changes or modifications to the files,',
13697             };
13698              
13699             $RE{w3c_20150513} = {
13700             name => 'W3C-20150513',
13701             'name.alt.org.spdx.since.date_20170106' => 'W3C-20150513',
13702             caption => 'W3C Software and Document Notice and License (2015-05-13)',
13703             'caption.alt.org.spdx' =>
13704             'W3C Software Notice and Document License (2015-05-13)',
13705             'caption.alt.misc.notice' => 'W3C® Software and Document License',
13706             iri =>
13707             'https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document',
13708             tags => [
13709             'license:is:grant',
13710             'type:singleversion:w3c',
13711             ],
13712             licenseversion => '20150513',
13713              
13714             'pat.alt.subject.license.scope.line.scope.sentence.part.intro' =>
13715             'This work is being provided',
13716             'pat.alt.subject.license.scope.sentence.part.clause2' =>
13717             'If none exist, the W3C Software and Document Short Notice',
13718             'pat.alt.subject.license.scope.line.scope.sentence.part.clause3' =>
13719             'Notice of any changes or modifications, through',
13720             };
13721              
13722             =item * watcom
13723              
13724             =item * watcom_1
13725              
13726             =cut
13727              
13728             $RE{watcom} = {
13729             name => 'Watcom',
13730             'name.alt.org.osi.iri.stem.until.date_20110430' => 'sybase',
13731             'name.alt.org.wikidata.synth.nogrant' => 'Q7659488',
13732             caption => 'Sybase Open Watcom Public License',
13733             'caption.alt.org.wikipedia' => 'Sybase Open Watcom Public License',
13734             'caption.alt.misc.source' => 'The Sybase Open Source License',
13735             tags => [
13736             'type:versioned:decimal',
13737             ],
13738             };
13739              
13740             $RE{watcom_1} = {
13741             name => 'Watcom-1.0',
13742             'name.alt.org.osi' => 'Watcom-1.0',
13743             'name.alt.org.spdx' => 'Watcom-1.0',
13744             'name.alt.org.tldr' =>
13745             'sybase-open-watcom-public-license-1.0-(watcom-1.0)',
13746             caption => 'Sybase Open Watcom Public License 1.0',
13747             'caption.alt.org.fedora' => 'Sybase Open Watcom Public License 1.0',
13748             'caption.alt.org.osi.synth.nogrant' => 'The Sybase Open Source Licence',
13749             'caption.alt.org.osi.misc.list' =>
13750             'Sybase Open Watcom Public License 1.0',
13751             'caption.alt.org.tldr' =>
13752             'Sybase Open Watcom Public License 1.0 (Watcom-1.0)',
13753             iri => 'ftp://ftp.openwatcom.org/install/license.txt',
13754             tags => [
13755             'type:singleversion:watcom',
13756             ],
13757             licenseversion => '1.0',
13758              
13759             'pat.alt.subject.license.scope.line.scope.sentence' =>
13760             'USE OF THE SYBASE OPEN WATCOM SOFTWARE DESCRIBED BELOW',
13761             };
13762              
13763             =item * wordnet
13764              
13765             I
13766              
13767             =cut
13768              
13769             $RE{wordnet} = {
13770             name => 'WordNet',
13771             caption => 'WordNet License',
13772             'summary.alt.org.fedora.iri.mit' => 'MIT-style license, WordNet Variant',
13773             iri => 'https://wordnet.princeton.edu/license-and-commercial-use',
13774             'iri.alt.archive.time_20180118074053' =>
13775             'https://wordnet.princeton.edu/wordnet/license',
13776             tags => [
13777             'family:mit',
13778             'license:is:grant',
13779             'type:unversioned',
13780             ],
13781              
13782             'pat.alt.subject.license.scope.line.scope.sentence.part.intro' =>
13783             'This software and database is being provided',
13784             '_pat.alt.subject.license.scope.line.scope.sentence.part.permissions' => [
13785              
13786             # cover line wrapping at either side of word "database"
13787             'distribute this software and database',
13788             'database and its documentation for any purpose',
13789             ],
13790             };
13791              
13792             =item * wtfpl
13793              
13794             =item * wtfpl_1
13795              
13796             I
13797              
13798             =item * wtfpl_2
13799              
13800             I
13801              
13802             =cut
13803              
13804             $RE{wtfpl} = {
13805             name => 'WTFPL',
13806             'name.alt.org.fedora.iri.self' => 'WTFPL',
13807             'name.alt.org.wikidata.synth.nogrant' => 'Q152481',
13808             'name.alt.org.wikipedia' => 'WTFPL',
13809             caption => 'do What The Fuck you want to Public License',
13810             'caption.alt.org.fedora' => 'Do What The F*ck You Want To Public License',
13811             'caption.alt.misc.shorter' => 'WTF Public License',
13812             'caption.alt.org.wikidata' => 'WTFPL',
13813             iri => 'http://www.wtfpl.net/',
13814             'iri.alt.misc.old' => 'http://sam.zoy.org/wtfpl/COPYING',
13815             tags => [
13816             'type:versioned:decimal',
13817             ],
13818              
13819             'pat.alt.subject.name' =>
13820             "$the?[Dd]o What The F(?:u|[*])ck [Yy]ou [Ww]ant(?: [Tt]o)? Public License"
13821             . '(?: [(]WTFPL[)])?',
13822             'pat.alt.subject.license.scope.sentence' =>
13823             '[Yy]ou just[ ]DO WHAT THE FUCK YOU WANT TO[.]',
13824             };
13825              
13826             $RE{wtfpl_1} = {
13827             name => 'WTFPL-1.0',
13828             'name.alt.org.debian' => 'WTFPL-1.0',
13829             'name.alt.org.spdx.since.date_20130117.synth.nogrant' => 'WTFPL',
13830             caption => 'Do What The Fuck You Want To Public License, Version 1',
13831             'caption.alt.org.spdx.synth.nogrant' =>
13832             'Do What The F*ck You Want To Public License',
13833             'caption.alt.org.tldr' =>
13834             'Do What The F*ck You Want To Public License (WTFPL)',
13835             iri => 'http://cvs.windowmaker.org/co.php/wm/COPYING.WTFPL',
13836             tags => [
13837             'license:is:grant',
13838             'license:published:by_sam_hocevar',
13839             'type:singleversion:wtfpl',
13840             ],
13841             licenseversion => '1.0',
13842              
13843             'pat.alt.subject.license.scope.sentence' =>
13844             'simple and you just[ ]DO WHAT THE FUCK YOU WANT TO[.]',
13845             };
13846              
13847             $RE{wtfpl_2} = {
13848             name => 'WTFPL-2',
13849             'name.alt.org.tldr' => 'do-wtf-you-want-to-public-license-v2-(wtfpl-2.0)',
13850             'name.alt.org.tldr.path.short' => 'wtfpl',
13851             caption => 'Do What The Fuck You Want To Public License, Version 2',
13852             'caption.alt.legal.license' =>
13853             'DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE, Version 2',
13854             'caption.alt.org.tldr' =>
13855             'Do What The F*ck You Want To Public License v2 (WTFPL-2.0)',
13856             iri => 'http://www.wtfpl.net/',
13857             'iri.alt.misc.old' => 'http://sam.zoy.org/wtfpl/COPYING',
13858             tags => [
13859             'license:is:grant',
13860             'license:published:by_sam_hocevar',
13861             'type:singleversion:wtfpl',
13862             ],
13863             licenseversion => '2.0',
13864              
13865             'pat.alt.subject.license.part.header' =>
13866             'of the Do What The Fuck You Want To Public License',
13867             'pat.alt.subject.license.scope.sentence' =>
13868             '[*)]You just[ ]DO WHAT THE FUCK YOU WANT TO[.]',
13869             };
13870              
13871             =item * wtfnmfpl
13872              
13873             I
13874              
13875             =item * wtfnmfpl_1
13876              
13877             I
13878              
13879             =cut
13880              
13881             $RE{wtfnmfpl} = {
13882             name => 'WTFNMFPL',
13883             'caption.alt.org.tldr' =>
13884             'Do What The Fuck You Want To But It\'s Not My Fault Public License v1 (WTFNMFPL-1.0)',
13885             tags => [
13886             'type:versioned:decimal',
13887             ],
13888             };
13889              
13890             $RE{wtfnmfpl_1} = {
13891             name => 'WTFNMFPL-1.0',
13892             'name.alt.misc.short' => 'WTFNMFPLv1',
13893             caption =>
13894             'Do What The Fuck You Want To But It\'s Not My Fault Public License v1',
13895             'caption.alt.legal.license' =>
13896             'DO WHAT THE FUCK YOU WANT TO BUT IT\'S NOT MY FAULT PUBLIC LICENSE, Version 1',
13897             'caption.alt.org.tldr' =>
13898             'Do What The Fuck You Want To But It\'s Not My Fault Public License v1 (WTFNMFPL-1.0)',
13899             iri =>
13900             'http://www.adversary.org/wp/2013/10/14/do-what-the-fuck-you-want-but-its-not-my-fault/',
13901             'iri.alt.iri.github' => 'https://github.com/adversary-org/wtfnmf',
13902             tags => [
13903             'license:is:grant',
13904             'type:singleversion:wtfnmfpl',
13905             ],
13906             licenseversion => '1.0',
13907              
13908             'pat.alt.subject.license' =>
13909             'Do not hold the author[(]s[)], creator[(]s[)], developer[(]s[)] or distributor[(]s[)]',
13910             };
13911              
13912             =item * x11
13913              
13914             I
13915              
13916             =cut
13917              
13918             $RE{x11} = {
13919             name => 'X11',
13920             'name.alt.org.spdx.since.date_20130117.synth.nogrant' => 'X11',
13921             'name.alt.org.tldr.path.short' => 'x11',
13922             'name.alt.org.wikidata.synth.nogrant' => 'Q18526202',
13923             caption => 'X11 License',
13924             'caption.alt.org.tldr' => 'X11 License',
13925             'caption.alt.org.wikidata' => 'X11 license',
13926             'caption.alt.misc.wayland' => 'the MIT X11 license',
13927             description => <<'END',
13928             Origin: By MIT Laboratory for Computer Science (MIT–LCS) in 1984 for PC/IP.
13929              
13930             Proof:
13931             END
13932             tags => [
13933             'family:mit',
13934             'license:contains:license:mit_new',
13935             'license:is:grant',
13936             'type:unversioned',
13937             ],
13938              
13939             'pat.alt.subject.license.scope.multisection.part.last_half' =>
13940             $P{to_copy_sublicence_conditions}
13941             . '[:][ ]'
13942             . $P{retain_copr_perm_subst}
13943             . '[.][ ]'
13944             . $P{discl_warranties_any_kind_noninfringement} . '[. ]'
13945             . $P{discl_liability_claim}
13946             . '[.][ ]'
13947             . 'Except as contained in this notice, the name of the X Consortium'
13948             . ' shall not be used in advertising',
13949             'pat.alt.subject.license.scope.line.scope.sentence' =>
13950             'Except as contained in this notice, the name of the X Consortium',
13951             };
13952              
13953             =item * xfree86
13954              
13955             I
13956              
13957             =item * xfree86_1_1
13958              
13959             I
13960              
13961             =cut
13962              
13963             $RE{xfree86} = {
13964             name => 'XFree86',
13965             'name.alt.org.wikidata.synth.nogrant' => 'Q100375790',
13966             caption => 'XFree86 License',
13967             tags => [
13968             'type:versioned:decimal',
13969             ],
13970             };
13971              
13972             $RE{xfree86_1_1} = {
13973             name => 'XFree86-1.1',
13974             'name.alt.org.spdx' => 'XFree86-1.1',
13975             caption => 'XFree86 License 1.1',
13976             'caption.alt.org.tldr' => 'XFree86 License 1.1 (XFree86-1.1)',
13977             description => <<'END',
13978             Identical to BSD (4 clause), except...
13979             * replace permissions clause with MIT (Expat) or X11 permissions clause
13980             * extend reproduce-copyright-notices clause to require specific placement
13981             * extend non-endorsement clause to require specific placement
13982             * replace non-endorsement clause with X11 non-endorsement clause
13983             END
13984             tags => [
13985             'family:bsd',
13986             'license:contains:license:bsd_2_clause',
13987             'license:is:grant',
13988             'type:singleversion:xfree86',
13989             ],
13990             licenseversion => '1.1',
13991              
13992             'pat.alt.subject.license.scope.sentence' =>
13993             'in the same place and form as other',
13994             };
13995              
13996             =item * xnet
13997              
13998             I
13999              
14000             =cut
14001              
14002             $RE{xnet} = {
14003             name => 'Xnet',
14004             'name.alt.org.osi' => 'Xnet',
14005             'name.alt.org.osi.iri.stem.until.date_20110430' => 'xnet',
14006             'name.alt.org.spdx' => 'Xnet',
14007             'name.alt.org.wikidata.synth.nogrant' => 'Q38346089',
14008             caption => 'X.Net License',
14009             'caption.alt.org.fedora' => 'X.Net License',
14010             'caption.alt.org.osi' => 'The X.Net, Inc. License',
14011             'caption.alt.org.osi.misc.list' => 'X.Net License',
14012             'caption.alt.org.tldr' => 'X.Net License (Xnet)',
14013             'caption.alt.org.trove' => 'X.Net License',
14014             'caption.alt.org.wikidata' => 'X.Net, Inc. License',
14015             description => <<'END',
14016             Identical to MIT (a.k.a. Expat), except...
14017             * add requirement of governance in the State of California
14018             END
14019             tags => [
14020             'family:mit',
14021             'license:contains:license:mit_new',
14022             'license:is:grant',
14023             'type:unversioned',
14024             ],
14025              
14026             'pat.alt.subject.license' =>
14027             'This agreement shall be governed in all respects',
14028             };
14029              
14030             =item * ypl
14031              
14032             I
14033              
14034             =item * ypl_1
14035              
14036             I
14037              
14038             =item * ypl_1_1
14039              
14040             I
14041              
14042             =cut
14043              
14044             $RE{ypl} = {
14045             name => 'YPL',
14046             'name.alt.org.wikidata.synth.nogrant' => 'Q16948289',
14047             caption => 'Yahoo! Public License',
14048             tags => [
14049             'type:versioned:decimal',
14050             ],
14051             };
14052              
14053             $RE{ypl_1} = {
14054             name => 'YPL-1.0',
14055             'name.alt.org.spdx' => 'YPL-1.0',
14056             caption => 'Yahoo! Public License v1.0',
14057             'caption.alt.org.fedora' => 'Yahoo Public License 1.0',
14058             iri => 'https://www.zimbra.com/license/yahoo_public_license_1.0.html',
14059             tags => [
14060             'type:singleversion:ypl',
14061             ],
14062             licenseversion => '1.0',
14063              
14064             'pat.alt.subject.license.scope.line.scope.sentence.part.section6_2' =>
14065             'In the event Yahoo! determines that',
14066             };
14067              
14068             $RE{ypl_1_1} = {
14069             name => 'YPL-1.1',
14070             'name.alt.org.fedora' => 'YPLv1.1',
14071             'name.alt.org.spdx' => 'YPL-1.1',
14072             caption => 'Yahoo! Public License v1.1',
14073             'caption.alt.org.fedora' => 'Yahoo Public License v 1.1',
14074             'caption.alt.org.tldr' => 'Yahoo! Public License v1.1 (YPL-1.1)',
14075             iri => 'http://www.zimbra.com/license/yahoo_public_license_1.1.html',
14076             tags => [
14077             'type:singleversion:ypl',
14078             ],
14079             licenseversion => '1.1',
14080              
14081             'pat.alt.subject.license.scope.line.scope.sentence.part.section6_2' =>
14082             'In the event You violate the terms of this Agreement, Yahoo!',
14083             };
14084              
14085             =item * zed
14086              
14087             I
14088              
14089             =cut
14090              
14091             $RE{zed} = {
14092             name => 'Zed',
14093             'name.alt.org.fedora' => 'Zed',
14094             'name.alt.org.spdx.since.date_20140807' => 'Zed',
14095             caption => 'Zed License',
14096             'caption.alt.org.tldr' => 'Zed License',
14097             tags => [
14098             'license:is:grant',
14099             'type:unversioned',
14100             ],
14101              
14102             'pat.alt.subject.license.scope.line.scope.sentence' =>
14103             'You may copy and distribute this file freely',
14104             };
14105              
14106             =item * zend
14107              
14108             I
14109              
14110             =item * zend_2
14111              
14112             I
14113              
14114             =cut
14115              
14116             $RE{zend} = {
14117             name => 'ZEL',
14118             'name.alt.org.wikidata.synth.nogrant' => 'Q85269786',
14119             caption => 'Zend Engine License',
14120             'caption.alt.org.wikidata' => 'Zend license',
14121             'caption.alt.misc.short' => 'Zend License',
14122             tags => [
14123             'type:versioned:decimal',
14124             ],
14125             };
14126              
14127             $RE{zend_2} = {
14128             name => 'ZEL-2.00',
14129             'name.alt.misc.fsf' => 'ZELv2.0',
14130             'name.alt.org.fedora.synth.nogrant' => 'Zend',
14131             'name.alt.org.spdx.since.date_20140807' => 'Zend-2.0',
14132             caption => 'Zend License v2.0',
14133             'caption.alt.org.fedora' => 'Zend License v2.0',
14134             'caption.alt.misc.legal' => 'The Zend Engine License, version 2.00',
14135             iri => 'http://www.zend.com/license/2_00.txt',
14136             tags => [
14137             'type:singleversion:zend',
14138             ],
14139             licenseversion => '2.00',
14140              
14141             'pat.alt.subject.license.scope.line.scope.sentence.part.clause4' =>
14142             'Zend Technologies Ltd\. may publish revised and[/]or new',
14143             };
14144              
14145             =item * zimbra
14146              
14147             I
14148              
14149             =item * zimbra_1_3
14150              
14151             I
14152              
14153             =item * zimbra_1_4
14154              
14155             =cut
14156              
14157             $RE{zimbra} = {
14158             name => 'Zimbra',
14159             'name.alt.misc.fsf' => 'ZPL',
14160             caption => 'Zimbra Public License',
14161             tags => [
14162             'type:versioned:decimal',
14163             ],
14164             };
14165              
14166             $RE{zimbra_1_3} = {
14167             name => 'Zimbra-1.3',
14168             'name.alt.org.fsf' => 'ZPLv1.3',
14169             'name.alt.org.spdx' => 'Zimbra-1.3',
14170             caption => 'Zimbra Public License v1.3',
14171             'caption.alt.org.fedora' => 'Zimbra Public License 1.3',
14172             'caption.alt.org.tldr' => 'Zimbra Public License v1.3 (Zimbra-1.3)',
14173             'caption.alt.misc.legal' => 'Zimbra Public License, Version 1.3 (ZPL)',
14174             iri => 'http://www.zimbra.com/license/zimbra-public-license-1-3.html',
14175             tags => [
14176             'type:singleversion:zimbra',
14177             ],
14178             licenseversion => '1.3',
14179              
14180             'pat.alt.subject.license.scope.line.scope.sentence.part.section1_1' =>
14181             'Subject to the terms and conditions of this Agreement, VMware',
14182             };
14183              
14184             $RE{zimbra_1_4} = {
14185             name => 'Zimbra-1.4',
14186             'name.alt.org.spdx.since.date_20150513' => 'Zimbra-1.4',
14187             caption => 'Zimbra Public License v1.4',
14188             'caption.alt.org.tldr.synth.nogrant' => 'zimbra public license',
14189             'caption.alt.misc.legal' => 'Zimbra Public License, Version 1.4 (ZPL)',
14190             iri => 'https://www.zimbra.com/legal/zimbra-public-license-1-4/',
14191             tags => [
14192             'type:singleversion:zimbra',
14193             ],
14194             licenseversion => '1.4',
14195              
14196             'pat.alt.subject.license.scope.line.scope.sentence.part.section1_1' =>
14197             'Subject to the terms and conditions of this Agreement, Zimbra',
14198             };
14199              
14200             =item * zlib
14201              
14202             =cut
14203              
14204             $RE{zlib} = {
14205             name => 'Zlib',
14206             'name.alt.org.fedora' => 'zlib',
14207             'name.alt.org.fsf' => 'Zlib',
14208             'name.alt.org.osi' => 'Zlib',
14209             'name.alt.org.osi.iri.stem.until.date_20110430' => 'zlib-license',
14210             'name.alt.org.perl' => 'zlib',
14211             'name.alt.org.spdx' => 'Zlib',
14212             'name.alt.org.tldr.path.short' => 'zlib',
14213             'name.alt.org.wikidata.synth.nogrant' => 'Q207243',
14214             caption => 'zlib License',
14215             'caption.alt.org.fedora' => 'zlib/libpng License',
14216             'caption.alt.org.osi' => 'The zlib/libpng License',
14217             'caption.alt.org.osi.misc.list' => 'zlib/libpng license',
14218             'caption.alt.org.tldr' => 'Zlib-Libpng License (Zlib)',
14219             'caption.alt.org.trove' => 'zlib/libpng License',
14220             'caption.alt.org.wikipedia.misc.case' => 'zlib license',
14221             iri => 'http://zlib.net/zlib_license.html',
14222             'iri.alt.org.steward' => 'http://www.gzip.org/zlib/zlib_license.html',
14223             tags => [
14224             'family:zlib',
14225             'license:is:grant',
14226             'type:unversioned',
14227             ],
14228              
14229             'pat.alt.subject.license.scope.multisection' =>
14230             $P{origin_sw_no_misrepresent}
14231             . $P{you_not_claim_wrote} . '[. ]'
14232             . $P{use_ack_apprec_not_req}
14233             . '[.][ ]'
14234             . $P{altered_srcver_mark}
14235             . '[.][ ]'
14236             . $P{notice_no_alter},
14237             };
14238              
14239             =item * zlib_acknowledgement
14240              
14241             =cut
14242              
14243             $RE{zlib_acknowledgement} = {
14244             name => 'zlib-acknowledgement',
14245             'name.alt.org.fedora.iri.self' => 'Nunit',
14246             'name.alt.org.spdx.since.date_20140807' => 'zlib-acknowledgement',
14247             'name.alt.org.spdx.misc.old.since.date_20140807.until.date_20171228' =>
14248             'Nunit',
14249             caption => 'zlib/libpng License with Acknowledgement',
14250             'caption.alt.org.fedora' => 'zlib/libpng License with Acknowledgement',
14251             'caption.alt.org.fedora.misc.short' => 'zlib with acknowledgement',
14252             'caption.alt.org.fedora.misc.nunit' => 'Nunit License',
14253             'caption.alt.org.spdx' => 'zlib/libpng License with Acknowledgement',
14254             'caption.alt.org.spdx.misc.old.until.date_20171228' => 'Nunit License',
14255             tags => [
14256             'family:zlib',
14257             'license:is:grant',
14258             'type:unversioned',
14259             ],
14260              
14261             'pat.alt.subject.license.scope.multisection' =>
14262             $P{origin_sw_no_misrepresent}
14263             . $P{you_not_claim_wrote} . '[. ]'
14264             . $P{use_ack_req}
14265             . '[.][ ]Portions Copyright \S+ [-#]+ Charlie Poole '
14266             . 'or Copyright \S+ [-#]+ James W\. Newkirk, Michael C\. Two, Alexei A\. Vorontsov '
14267             . 'or Copyright \S+ [-#]+ Philip A\. Craig[ ]'
14268             . $P{altered_srcver_mark}
14269             . '[.][ ]'
14270             . $P{notice_no_alter},
14271             };
14272              
14273             =item * zpl
14274              
14275             I
14276              
14277             =item * zpl_1
14278              
14279             I
14280              
14281             =item * zpl_1_1
14282              
14283             I
14284              
14285             =item * zpl_2
14286              
14287             I
14288              
14289             =item * zpl_2_1
14290              
14291             I
14292              
14293             =cut
14294              
14295             $RE{zpl} = {
14296             name => 'ZPL',
14297             'name.alt.org.osi.iri.stem.until.date_20110430' => 'zpl',
14298             'name.alt.org.wikidata.synth.nogrant' => 'Q3780982',
14299             'name.alt.misc.fossology_old' => 'Zope',
14300             caption => 'Zope Public License',
14301             'caption.alt.org.trove.synth.nogrant' => 'Zope Public License',
14302             'caption.alt.org.wikipedia' => 'Zope Public License',
14303             tags => [
14304             'type:versioned:decimal',
14305             ],
14306             };
14307              
14308             $RE{zpl_1} = {
14309             name => 'ZPL-1.0',
14310             'name.alt.org.fedora' => 'ZPLv1.0',
14311             'name.alt.org.fsf' => 'ZopePLv1.0',
14312             caption => 'Zope Public License (ZPL) Version 1.0',
14313             'caption.alt.org.fedora' => 'Zope Public License v 1.0',
14314             'caption.alt.misc.plain' => 'Zope Public License 1.0',
14315             'iri.alt.archive.time_20000816090640' =>
14316             'http://www.zope.org/Resources/ZPL',
14317             tags => [
14318             'type:singleversion:zpl',
14319             ],
14320             licenseversion => '1.0',
14321             };
14322              
14323             $RE{zpl_1_1} = {
14324             name => 'ZPL-1.1',
14325             'name.alt.org.spdx' => 'ZPL-1.1',
14326             'name.alt.misc.fossology_old' => 'ZPL1.1',
14327             caption => 'Zope Public License 1.1',
14328             'caption.alt.org.tldr' => 'Zope Public License 1.1 (ZPL-1.1)',
14329             tags => [
14330             'type:singleversion:zpl',
14331             ],
14332             licenseversion => '1.1',
14333             };
14334              
14335             $RE{zpl_2} = {
14336             name => 'ZPL-2.0',
14337             'name.alt.org.fedora' => 'ZPLv2.0',
14338             'name.alt.org.osi' => 'ZPL-2.0',
14339             'name.alt.org.spdx' => 'ZPL-2.0',
14340             'name.alt.org.tldr.path.short' => 'zpl-2.0',
14341             'name.alt.misc.fossology_old' => 'Zope-PL_v2.0',
14342             'name.alt.misc.fossology_old_short' => 'ZPL2.0',
14343             caption => 'Zope Public License 2.0',
14344             'caption.alt.org.fedora' => 'Zope Public License v 2.0',
14345             'caption.alt.org.osi' => 'The Zope Public License Ver.2.0',
14346             'caption.alt.org.osi.misc.list' => 'Zope Public License 2.0',
14347             'caption.alt.org.osi.misc.cat_list' => 'Zope Public License 2.o',
14348             'caption.alt.org.tldr' => 'Zope Public License 2.0 (ZPL-2.0)',
14349             iri => 'http://old.zope.org/Resources/License/ZPL-1.1',
14350             tags => [
14351             'family:bsd',
14352             'license:contains:license:bsd_3_clause',
14353             'license:is:grant',
14354             'type:singleversion:zpl',
14355             ],
14356             licenseversion => '2.0',
14357              
14358             'pat.alt.subject.license.scope.multisection.part.part2_3' =>
14359             $P{repro_copr_cond_discl}
14360             . '[.][ ]' . '[*)]'
14361             . 'The name Zope Corporation[tm] must not '
14362             . $P{used_endorse_deriv}
14363             . $P{without_prior_written},
14364             'pat.alt.subject.license.scope.sentence.part.part3' =>
14365             'The name Zope Corporation[tm] must not be used to endorse',
14366             };
14367              
14368             $RE{zpl_2_1} = {
14369             name => 'ZPL-2.1',
14370             'name.alt.org.fedora' => 'ZPLv2.1',
14371             'name.alt.org.fsf' => 'ZPL-2.1',
14372             'name.alt.org.spdx' => 'ZPL-2.1',
14373             'name.alt.misc.fossology_old' => 'ZPL2.1',
14374             caption => 'Zope Public License 2.1',
14375             'caption.alt.org.fedora' => 'Zope Public License v 2.1',
14376             'caption.alt.org.fsf' => 'Zope Public License Version 2.1',
14377             'caption.alt.org.tldr' => 'Zope Public License 2.1 (ZPL-2.1)',
14378             iri => 'http://old.zope.org/Resources/ZPL/',
14379             description => <<'END',
14380             Identical to BSD 3-Clause Modification, except...
14381             * add no-ServiceMarks clause
14382             END
14383             tags => [
14384             'family:bsd',
14385             'license:is:grant',
14386             'type:singleversion:zpl',
14387             ],
14388             licenseversion => '2.1',
14389              
14390             'pat.alt.subject.license.scope.multisection.part.part2_3' =>
14391             $P{nopromo_neither}
14392             . ' from the copyright holders'
14393             . '[.][ ]' . '[*)]'
14394             . 'The right to distribute this software or to use it for any purpose'
14395             . ' does not give you the right to use Servicemarks',
14396             };
14397              
14398             =back
14399              
14400             =head2 License combinations
14401              
14402             Patterns each covering a combination of multiple licenses.
14403              
14404             Each of these patterns has the tag B< type:combo >.
14405              
14406             =over
14407              
14408             =item * net_snmp
14409              
14410             I
14411              
14412             =cut
14413              
14414             $RE{net_snmp} = {
14415             name => 'Net-SNMP',
14416             'name.alt.org.spdx.since.date_20170106' => 'Net-SNMP',
14417             caption => 'Net-SNMP License',
14418             tags => [
14419             'license:contains:license:bsd_3_clause',
14420             'license:contains:license:hpnd',
14421             'license:contains:license:mit_cmu',
14422             'type:combo',
14423             ],
14424             };
14425              
14426             =item * perl
14427              
14428             =cut
14429              
14430             $RE{perl} = {
14431             name => 'Perl',
14432             'name.alt.org.perl' => 'perl_5',
14433             'name.alt.misc.spdx' => 'Artistic or GPL-1+',
14434             caption => 'The Perl 5 License',
14435             'caption.alt.org.fedora' => 'Perl License',
14436             'caption.alt.misc.short' => 'Perl License',
14437             'caption.alt.misc.long' => 'The Perl 5 programming language License',
14438             'caption.alt.org.perl' =>
14439             'The Perl 5 License (Artistic 1 & GPL 1 or later)',
14440             summary =>
14441             'the same terms as the Perl 5 programming language itself (Artistic or GPL)',
14442             'summary.alt.misc.short' => 'same terms as Perl',
14443             'summary.alt.misc.software_license' =>
14444             'same terms as the Perl 5 programming language system itself',
14445             tags => [
14446             'license:includes:license:artistic_1_perl',
14447             'license:includes:license:gpl_1_or_newer',
14448             'type:combo',
14449             ],
14450              
14451             'pat.alt.subject.name.misc.summary' =>
14452             "$the?same terms as $the?Perl(?: 5)?(?: programming language)? itself(?: [(]Artistic or GPL[)])?",
14453             'pat.alt.subject.license.scope.multisection.part.license' =>
14454             '(?:under the terms of either[:][ ])?'
14455             . '[*)]the GNU General Public License '
14456             . 'as published by the Free Software Foundation[;] '
14457             . 'either version 1, or [(]at your option[)] any later version, '
14458             . 'or[ ]'
14459             . '[*)]the ["]Artistic License["]',
14460             };
14461              
14462             =item * python_2
14463              
14464             I
14465              
14466             =cut
14467              
14468             # license scheme is combo, despite versioned name
14469             $RE{python_2} = {
14470             name => 'Python-2.0',
14471             'name.alt.org.fedora' => 'Python',
14472             'name.alt.org.osi' => 'Python-2.0',
14473             'name.alt.org.osi.iri.stem.until.date_20110430.synth.nogrant' =>
14474             'PythonSoftFoundation',
14475             'name.alt.org.spdx' => 'Python-2.0',
14476             'name.alt.org.tldr.path.short' => 'python2',
14477             'name.alt.misc.fossology_old' => 'Python_v2',
14478             'name.alt.org.wikidata' => 'Q5975028',
14479             caption => 'Python License 2.0',
14480             'caption.alt.org.fedora' => 'Python License',
14481             'caption.alt.org.osi' => 'Python License',
14482             'caption.alt.org.tldr' => 'Python License 2.0',
14483             'caption.alt.org.trove' => 'Python License (CNRI Python License)',
14484             'caption.alt.org.trove.misc.short' => 'CNRI Python License',
14485             'summary.alt.org.osi' => 'overall Python license',
14486             iri => 'https://docs.python.org/3/license.html',
14487             'iri.alt.misc.old' => 'https://www.python.org/psf/license/',
14488             tags => [
14489             'license:contains:license:cnri_python',
14490             'license:contains:license:psf_2',
14491             'type:combo',
14492             ],
14493             licenseversion => '2.0',
14494              
14495             'pat.alt.subject.license.scope.multisection' =>
14496             '[*)]This LICENSE AGREEMENT is between '
14497             . 'the Python Software Foundation [(]["]PSF["][)], '
14498             . 'and the Individual or Organization [(]["]Licensee["][)] '
14499             . 'accessing and otherwise using [word][ word]{0,3} '
14500             . 'in source or binary form and its associated documentation'
14501             . '[.][ ]'
14502             . '[*)]Subject to the terms and conditions of this License Agreement, '
14503             . 'PSF hereby grants Licensee a nonexclusive, royalty-free, world-wide license '
14504             . 'to reproduce, analyze, test, perform and[/]or display publicly, '
14505             . 'prepare derivative works, distribute, and otherwise use Python[ word]? '
14506             . 'alone or in any derivative version, '
14507             . 'provided, however, '
14508             . 'that PSF[\']s License Agreement and PSF[\']s notice of copyright, '
14509             . '[ie], ["]Copyright [c] [word][ word]{0,5} Python Software Foundation[;] All Rights Reserved["] '
14510             . 'are retained in Python[ word]? alone or in any derivative version prepared by Licensee'
14511             . '[.][ ]'
14512             . '[*)]In the event Licensee prepares a derivative work '
14513             . 'that is based on or incorporates [word][ word]{0,3} or any part thereof, '
14514             . 'and wants to make the derivative work available to others as provided herein, '
14515             . 'then Licensee hereby agrees to include in any such work '
14516             . 'a brief summary of the changes made to Python[ word]?'
14517             . '[.][ ]'
14518             . '[*)]PSF is making Python[ word]? available to Licensee on an [as is] basis'
14519             . '[.][ ]'
14520             . 'PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED'
14521             . '[.][ ]'
14522             . 'BY WAY OF EXAMPLE, BUT NOT LIMITATION, '
14523             . 'PSF MAKES NO AND DISCLAIMS ANY REPRESENTATION OR WARRANTY '
14524             . 'OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE '
14525             . 'OR THAT THE USE OF PYTHON[ word]? WILL NOT INFRINGE ANY THIRD PARTY RIGHTS'
14526             . '[.][ ]'
14527             . '[*)]PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON[ word]? '
14528             . 'FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS '
14529             . 'AS A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING '
14530             . 'PYTHON[ word]?, OR ANY DERIVATIVE THEREOF, '
14531             . 'EVEN IF ADVISED OF THE POSSIBILITY THEREOF'
14532             . '[.][ ]'
14533             . '[*)]This License Agreement will automatically terminate '
14534             . 'upon a material breach of its terms and conditions'
14535             . '[.][ ]'
14536             . '[*)]Nothing in this License Agreement shall be deemed to create '
14537             . 'any relationship of agency, partnership, or joint venture between PSF and Licensee'
14538             . '[.][ ]'
14539             . 'This License Agreement does not grant permission '
14540             . 'to use PSF trademarks or trade name in a trademark sense '
14541             . 'to endorse or promote products or services of Licensee, or any third party'
14542             . '[.][ ]'
14543             . '[*)]By copying, installing or otherwise using Python[ word]?, '
14544             . 'Licensee agrees to be bound by the terms and conditions of this License Agreement'
14545             . '[.][ ]'
14546             . 'BEOPEN\.COM LICENSE AGREEMENT FOR PYTHON 2\.0'
14547             . '([ ][-]+)?[ ]?'
14548             . 'BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1' . '[ ]'
14549             . '[*)]This LICENSE AGREEMENT is between BeOpen\.com [(]["]BeOpen["][)], '
14550             . 'having an office at 160 Saratoga Avenue, Santa Clara, CA 95051, '
14551             . 'and the Individual or Organization [(]["]Licensee["][)] '
14552             . 'accessing and otherwise using '
14553             . 'this software in source or binary form and its associated documentation [(]["]the Software["][)]'
14554             . '[.][ ]'
14555             . '[*)]Subject to the terms and conditions of this BeOpen Python License Agreement, '
14556             . 'BeOpen hereby grants Licensee a non-exclusive, royalty-free, world-wide license '
14557             . 'to reproduce, analyze, test, perform and[/]or display publicly, '
14558             . 'prepare derivative works, distribute, and otherwise use the Software '
14559             . 'alone or in any derivative version, '
14560             . 'provided, however, that the BeOpen Python License is retained in the Software, '
14561             . 'alone or in any derivative version prepared by Licensee'
14562             . '[.][ ]'
14563             . '[*)]BeOpen is making the Software available to Licensee on an [as is] basis'
14564             . '[.][ ]'
14565             . 'BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED'
14566             . '[.][ ]'
14567             . 'BY WAY OF EXAMPLE, BUT NOT LIMITATION, '
14568             . 'BEOPEN MAKES NO AND DISCLAIMS ANY REPRESENTATION OR WARRANTY '
14569             . 'OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE '
14570             . 'OR THAT THE USE OF THE SOFTWARE WILL NOT INFRINGE ANY THIRD PARTY RIGHTS'
14571             . '[.][ ]'
14572             . '[*)]BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE SOFTWARE '
14573             . 'FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS '
14574             . 'AS A RESULT OF USING, MODIFYING OR DISTRIBUTING '
14575             . 'THE SOFTWARE, OR ANY DERIVATIVE THEREOF, '
14576             . 'EVEN IF ADVISED OF THE POSSIBILITY THEREOF'
14577             . '[.][ ]'
14578             . '[*)]This License Agreement will automatically terminate '
14579             . 'upon a material breach of its terms and conditions'
14580             . '[.][ ]'
14581             . '[*)]This License Agreement shall be governed by and interpreted in all respects '
14582             . 'by the law of the State of California, excluding conflict of law provisions'
14583             . '[.][ ]'
14584             . 'Nothing in this License Agreement shall be deemed to create '
14585             . 'any relationship of agency, partnership, or joint venture between BeOpen and Licensee'
14586             . '[.][ ]'
14587             . 'This License Agreement does not grant permission '
14588             . 'to use BeOpen trademarks or trade names in a trademark sense '
14589             . 'to endorse or promote products or services of Licensee, or any third party'
14590             . '[.][ ]'
14591             . 'As an exception, the ["]BeOpen Python["] logos '
14592             . 'available at [http://]www.pythonlabs\.com[/]logos\.html '
14593             . 'may be used according to the permissions granted on that web page'
14594             . '[.][ ]'
14595             . '[*)]By copying, installing or otherwise using the software, '
14596             . 'Licensee agrees to be bound by the terms and conditions of this License Agreement'
14597             . '[.][ ]'
14598             . 'CNRI OPEN SOURCE LICENSE AGREEMENT [(]for Python 1\.6b1[)]'
14599             . '([ ][-]+)?[ ]?'
14600             . 'IMPORTANT[:] PLEASE READ THE FOLLOWING AGREEMENT CAREFULLY'
14601             . '[.][ ]'
14602             . 'BY CLICKING ON ["]ACCEPT["] WHERE INDICATED BELOW, '
14603             . 'OR BY COPYING, INSTALLING OR OTHERWISE USING PYTHON 1\.6, beta 1 SOFTWARE, '
14604             . 'YOU ARE DEEMED TO HAVE AGREED TO THE TERMS AND CONDITIONS OF THIS LICENSE AGREEMENT'
14605             . '[.][ ]'
14606             . '[*)]This LICENSE AGREEMENT is between the Corporation for National Research Initiatives, '
14607             . 'having an office at 1895 Preston White Drive, Reston, VA 20191 [(]["]CNRI["][)], '
14608             . 'and the Individual or Organization [(]["]Licensee["][)] '
14609             . 'accessing and otherwise using Python 1\.6, beta 1 software '
14610             . 'in source or binary form and its associated documentation, '
14611             . 'as released at the www\.python\.org Internet site on August 4, 2000 [(]["]Python 1\.6b1["][)]'
14612             . '[.][ ]'
14613             . '[*)]Subject to the terms and conditions of this License Agreement, '
14614             . 'CNRI hereby grants Licensee a non-exclusive, royalty-free, world-wide license '
14615             . 'to reproduce, analyze, test, perform and[/]or display publicly, '
14616             . 'prepare derivative works, distribute, and otherwise use Python 1\.6b1 '
14617             . 'alone or in any derivative version, '
14618             . 'provided, however, that CNRIs License Agreement is retained in Python 1\.6b1, '
14619             . 'alone or in any derivative version prepared by Licensee'
14620             . '[.][ ]'
14621             . 'Alternately, in lieu of CNRIs License Agreement, '
14622             . 'Licensee may substitute the following text [(]omitting the quotes[)][:] '
14623             . '["]Python 1\.6, beta 1, is made available '
14624             . 'subject to the terms and conditions in CNRIs License Agreement'
14625             . '[.][ ]'
14626             . 'This Agreement may be located on the Internet '
14627             . 'using the following unique, persistent identifier [(]known as a handle[)][:] 1895\.22[/]1011'
14628             . '[.][ ]'
14629             . 'This Agreement may also be obtained from a proxy server on the Internet '
14630             . 'using the URL[:][http://]hdl\.handle\.net[/]1895\.22[/]1011["]'
14631             . '[.][ ]'
14632             . '[*)]In the event Licensee prepares a derivative work '
14633             . 'that is based on or incorporates Python 1\.6b1 or any part thereof, '
14634             . 'and wants to make the derivative work available to the public as provided herein, '
14635             . 'then Licensee hereby agrees to indicate in any such work '
14636             . 'the nature of the modifications made to Python 1\.6b1'
14637             . '[.][ ]'
14638             . '[*)]CNRI is making Python 1.6b1 available to Licensee on an [as is] basis',
14639             };
14640              
14641             =back
14642              
14643             =head2 License groups
14644              
14645             Patterns each covering either of multiple licenses.
14646              
14647             Each of these patterns has the tag B< type:group >.
14648              
14649             =over
14650              
14651             =item * bsd
14652              
14653             =cut
14654              
14655             $RE{bsd} = {
14656             name => 'BSD',
14657             'name.alt.org.debian' => 'BSD~unspecified',
14658             'name.alt.org.fedora.iri.self' => 'BSD',
14659             'name.alt.org.osi.iri.stem.until.date_20110430' => 'bsd-license',
14660             'name.alt.org.wikidata.synth.nogrant' => 'Q191307',
14661             'name.alt.misc.style' => 'BSD-style',
14662             caption => 'BSD license',
14663             'caption.alt.org.debian' => 'BSD (unspecified)',
14664             'caption.alt.org.trove' => 'BSD License',
14665             'caption.alt.org.wikidata' => 'BSD licenses',
14666             'caption.alt.org.wikipedia' => 'BSD licenses',
14667             'caption.alt.misc.long' => 'Berkeley Software Distribution License',
14668             summary => 'a BSD-style license',
14669             tags => [
14670             'type:group',
14671             ],
14672              
14673             'pat.alt.subject.license.scope.multisection' => $P{repro_copr_cond_discl}
14674             . '(?:[.][ ](?:[*)]?'
14675             . $P{ad_mat_ack_this}
14676             . '[word][ word]{0,14}'
14677             . '[.][ ])?[*)]?'
14678             . $P{nopromo_neither} . ')?',
14679             };
14680              
14681             =item * cc
14682              
14683             I
14684              
14685             =cut
14686              
14687             $RE{cc} = {
14688             name => 'CC',
14689             'name.alt.org.debian' => 'CC~unspecified',
14690             'name.alt.org.wikidata.synth.nogrant' => 'Q284742',
14691             caption => 'Creative Commons license',
14692             'caption.alt.org.wikidata' => 'Creative Commons license',
14693             'caption.alt.org.wikipedia' => 'Creative Commons license',
14694             'caption.alt.misc.short' => 'CC license',
14695             'summary.alt.misc.short' => 'a CC license',
14696             tags => [
14697             'group',
14698             'type:group',
14699             ],
14700             };
14701              
14702             =item * gnu
14703              
14704             =cut
14705              
14706             $RE{gnu} = {
14707             name => 'AGPL/GPL/LGPL',
14708             'name.alt.org.debian' => 'GNU~unspecified',
14709             caption => 'GNU license',
14710             summary => 'a GNU license (AGPL or GPL or LGPL)',
14711             tags => [
14712             'type:group',
14713             ],
14714              
14715             '_pat.alt.subject.name' => [
14716             $RE{agpl}{'_pat.alt.subject.name'},
14717             $RE{gpl}{'_pat.alt.subject.name'},
14718             $RE{lgpl}{'_pat.alt.subject.name'},
14719             ],
14720             };
14721              
14722             =item * mit
14723              
14724             =cut
14725              
14726             $RE{mit} = {
14727             name => 'MIT',
14728             'name.alt.org.debian' => 'MIT~unspecified',
14729             'name.alt.org.fedora.iri.self' => 'MIT',
14730             'name.alt.org.wikidata.synth.nogrant' => 'Q334661',
14731             'name.alt.misc.style' => 'MIT-style',
14732             caption => 'MIT license',
14733             'caption.alt.org.trove' => 'MIT License',
14734             'caption.alt.org.wikidata' => 'MIT license',
14735             'caption.alt.org.wikipedia' => 'MIT License',
14736             'iri.alt.org.wikipedia' => 'https://en.wikipedia.org/wiki/MIT_License',
14737             summary => 'an MIT-style license',
14738             tags => [
14739             'type:group',
14740             ],
14741              
14742             'pat.alt.subject.name' => "${the}MIT\\b",
14743             'pat.alt.subject.license.scope.sentence' => $P{retain_copr_perm_subst},
14744             };
14745              
14746             =back
14747              
14748             =head1 STRUCTURE
14749              
14750             The regexp patterns follows the L specification,
14751             and more specifically the structure of L,
14752             defining access to one pattern per DefHash object, as C.
14753              
14754             Additionally, (sub)patterns are available in plaintext form, as C.
14755              
14756             =head2 SUBJECT
14757              
14758             Each pattern targets one or more subjects,
14759             i.e. ways to directly or indirectly represent a license.
14760              
14761             Beware that not all pattern objects fully cover all subjects.
14762              
14763             =over
14764              
14765             =item trait
14766              
14767             Distinguishing trait or feature expressed in licensing strings,
14768             e.g. an advertising clause or granting "...or any later version."
14769              
14770             Coverage for this subject is currently rather weak.
14771              
14772             =item name
14773              
14774             Distinguishing name, e.g. usable in license grant.
14775              
14776             =item grant
14777              
14778             Text granting the license.
14779              
14780             =item license
14781              
14782             Text containing licensing terms.
14783              
14784             Texts containing both license grant and licensing terms
14785             (e.g. BSD- and MIT-style licensing)
14786             may be classified as either subject L or subject L.
14787             This may change, as needs for distinction is better understood.
14788              
14789             =back
14790              
14791             =head2 SCOPE
14792              
14793             Each pattern can process material within some scope,
14794             i.e. a certain sample size of the full subject.
14795              
14796             As an example, L use line-based processing,
14797             where patterns spanning multiple lines are not applicable.
14798              
14799             =over
14800              
14801             =item line
14802              
14803             Pattern typically found within a single line.
14804             Typically this means less than 70 characters within scope.
14805              
14806             =item sentence
14807              
14808             Pattern matching within a sentence.
14809              
14810             May span multiple lines, but not across multiple sentences.
14811             Typically this means no full-stop or colon within scope.
14812              
14813             =item paragraph
14814              
14815             Pattern matching distinguishing paragraph.
14816              
14817             May span multiple sentences, but not multiple paragraphs.
14818             Typically this means no newline within scope.
14819              
14820             =item section
14821              
14822             Pattern matching distinguishing section.
14823              
14824             May span multiple paragraphs, but not multiple sections.
14825             Typically this means blank line within scope.
14826              
14827             =item multisection
14828              
14829             Pattern may span multiple sections.
14830              
14831             =back
14832              
14833             =cut
14834              
14835             my @gnu_langs
14836             = qw(en ar ca de el es fr it ja nl pl pt_BR ru sq sr zh_CN zh_TW);
14837              
14838             # must be simple word (no underscore), to survive getting joined in cache
14839             # more ideal first: first available is default
14840             my @_SUBJECTSTACK = qw(license grant name iri trait);
14841              
14842             my @_OBJECTS;
14843             my %_PUBLISHER;
14844             my %_TYPE;
14845             my %_SERIES;
14846             my %_USAGE;
14847              
14848             for (
14849             qw(license_label_spdx license_label_trove license_label licensed_under version_number_suffix version_only version_later)
14850             )
14851             {
14852             $_ANNOTATIONS{"(:$_:)"} = $RE{$_}{'pat.alt.subject.trait'};
14853             $_ANNOTATIONS{"(:$_:)"} =~ s/\[.+?\]/
14854             exists $_ANNOTATIONS{$&} ? $_ANNOTATIONS{$&} : $&/ego;
14855             }
14856             $_ANNOTATIONS{"(:version_prefix:)"}
14857             = $RE{version_prefix}{'pat.alt.subject.trait.scope.line.scope.sentence'};
14858             $_ANNOTATIONS{"(:version_prefix:)"} =~ s/\[.+?\]/
14859             exists $_ANNOTATIONS{$&} ? $_ANNOTATIONS{$&} : $&/ego;
14860              
14861             my $tag_license_re = qr/^license:published:\K$_prop(?::|\z)/;
14862             my $tag_type_re = qr/^type:($_prop)(?::($_prop)(?::($_prop))?)?/;
14863             my $tag_type_usage_re = qr/^type:usage:\K$_prop/;
14864              
14865             my $prop_web_re
14866             = qr/^(name|caption|summary)\.(alt\.org\.($_prop)((?:\.iri\.($_prop))?$_any*?))(?:\.synth\.nogrant|)$/;
14867              
14868             my $pat_subject_re = qr/^_?pat\.alt\.subject\.\K$_prop(?=\.)/;
14869              
14870             my $gen_args_capture = {
14871             summary => 'include capturing parantheses, named or numbered',
14872             schema => [ 'str*', in => [qw(named numbered no)] ],
14873             default => 'no',
14874             req => 1,
14875             };
14876              
14877             my $gen_args_engine = {
14878             summary =>
14879             'Enable custom regexp engine (perl module re::engine::* or pseudo or none)',
14880             schema => ['str*'],
14881             };
14882              
14883             # process metadata tags
14884             @_ = ();
14885             for my $id ( grep {/^[a-z]/} keys %RE ) {
14886             for ( @{ $RE{$id}{tags} } ) {
14887              
14888             # resolve publisher
14889             if (/$tag_license_re/) {
14890             $_PUBLISHER{$id} = $&;
14891             }
14892              
14893             # resolve series
14894             /$tag_type_re/
14895             or next;
14896             $_TYPE{$id} = $1;
14897             if ( $2 and $1 eq 'singleversion' ) {
14898             push @_OBJECTS, $id;
14899             push @{ $_SERIES{$id} }, $2;
14900             }
14901             else {
14902             push @_, $id;
14903             }
14904              
14905             # resolve usage
14906             if ( $2 and $RE{$2} and $1 eq 'usage' ) {
14907             $RE{$id}{licenseversion} = $RE{$2}{licenseversion}
14908             or die "missing version for $id (needed by $1)";
14909             $_USAGE{$id}{series} //= $2;
14910             if ( $_USAGE{$id}{series} ne $2 ) {
14911             die 'multi-origin usage for $id';
14912             }
14913             $_USAGE{$id}{type} = $3;
14914             die "unsupported usage for $id ($_)"
14915             unless ( grep { $3 eq $_ }
14916             qw( only or_later rfn no_rfn no_copyleft_exception ) );
14917             }
14918             }
14919             }
14920              
14921             # ensure versioned objects are processed after single-version objects
14922             push @_OBJECTS, @_;
14923              
14924             for my $id (@_OBJECTS) {
14925              
14926             # resolve publisher
14927             for ( @{ $RE{$id}{tags} } ) {
14928             if (/$tag_type_usage_re/) {
14929             if ( exists $_PUBLISHER{$&} ) {
14930             $_PUBLISHER{$id} = $_PUBLISHER{$&};
14931             $_ANNOTATIONS{"(:$_PUBLISHER{$&}:)"}
14932             = $RE{ $_PUBLISHER{$&} }{'pat.alt.subject.trait'};
14933             $_ANNOTATIONS{"(:$_PUBLISHER{$&}:)"} =~ s/\[.+?\]/
14934             exists $_ANNOTATIONS{$&} ? $_ANNOTATIONS{$&} : $&/ego;
14935             }
14936             }
14937             }
14938              
14939             # synthesize metadata: iri from name or caption
14940             for ( keys %{ $RE{$id} } ) {
14941             my ( $prop, $slug, $org, $trail, $web ) = (/$prop_web_re/)
14942             or next;
14943             next unless $org;
14944             next
14945             if $prop eq 'caption'
14946             and ( exists $RE{$id}{"name.$slug"}
14947             or exists $RE{$id}{"name.$slug.synth.nogrant"} );
14948              
14949             my ( $base, @variants );
14950             $_ = $RE{$id}{$_};
14951             if ( $org eq 'fedora' ) {
14952             next unless $web;
14953             $base = 'https://fedoraproject.org/wiki/Licensing/';
14954             if ( $web eq 'bsd' ) {
14955             $base .= 'BSD#';
14956             }
14957             elsif ( substr( $web, 0, 4 ) eq 'cddl' ) {
14958             $base .= 'CDDL#';
14959             }
14960             elsif ( substr( $web, 0, 3 ) eq 'mit' ) {
14961             $base .= 'MIT#';
14962             }
14963             s/^(?:BSD|MIT)-style license, //go;
14964             tr/ /_/;
14965             s/\(/.28/go;
14966             s/\)/.29/go;
14967             }
14968             elsif ( $slug and $slug eq 'alt.org.tldr.path.short' ) {
14969             $base = 'https://tldrlegal.com/l/';
14970             $_ = lc $_;
14971             tr/ /-/;
14972             }
14973             elsif ( $slug and $slug eq 'alt.org.tldr' ) {
14974             $base = 'https://tldrlegal.com/license/';
14975             $_ = lc $_;
14976             tr/ /-/;
14977             }
14978             elsif ( $org eq 'wikipedia' ) {
14979             $base = 'https://en.wikipedia.org/wiki/';
14980             tr/ /_/;
14981             s/"/%22/go; #"
14982             }
14983             elsif ( $prop eq 'caption' ) {
14984             next;
14985             }
14986             elsif ( $org eq 'fsf' ) {
14987             $base = 'https://directory.fsf.org/wiki?title=License:';
14988             }
14989             elsif ( $org eq 'gnu' ) {
14990             push @variants, [
14991             "iri.$slug",
14992             'https://www.gnu.org/licenses/license-list.html#',
14993             $_,
14994             '',
14995             ];
14996             for my $lang (@gnu_langs) {
14997             ( my $weblang = lc $lang ) =~ tr/_/-/;
14998             push @variants, [
14999             "iri.$slug.lang.$lang",
15000             "https://www.gnu.org/licenses/license-list.$weblang.html#",
15001             $_,
15002             '',
15003             ];
15004             }
15005             }
15006             elsif ( $org eq 'osi' ) {
15007             next unless $prop eq 'name';
15008             $base = 'https://opensource.org/licenses/';
15009             if ( $web and substr( $web, 0, 4 ) eq 'stem' ) {
15010             for my $ext (qw(html php)) {
15011             push @variants, [
15012             "iri.$slug.format.$ext",
15013             'https://opensource.org/licenses/',
15014             $_,
15015             ".$ext",
15016             ];
15017             }
15018             if ( $web eq 'stem_only' ) {
15019             $base = undef;
15020             }
15021             }
15022             elsif ( $web and $web eq 'stem_plain' ) {
15023             for my $ext (qw(txt html php)) {
15024             push @variants, [
15025             "iri.$slug.format.$ext",
15026             'https://opensource.org/licenses/',
15027             $_,
15028             ".$ext",
15029             ];
15030             }
15031             }
15032             }
15033             elsif ( $org eq 'spdx' ) {
15034             push @variants, [
15035             "iri.$slug",
15036             'https://spdx.org/licenses/',
15037             $_,
15038             '',
15039             ];
15040             for my $ext (qw(txt html json)) {
15041             push @variants, [
15042             "iri.$slug.format.$ext",
15043             'https://spdx.org/licenses/',
15044             $_,
15045             ".$ext",
15046             ];
15047             }
15048             }
15049             elsif ( $org eq 'wikidata' ) {
15050             push @variants, [
15051             "iri.$slug",
15052             'https://www.wikidata.org/wiki/Special:EntityPage/',
15053             $_,
15054             '',
15055             ];
15056             push @variants, [
15057             "iri.$slug.path.wiki",
15058             'https://www.wikidata.org/wiki/',
15059             $_,
15060             ''
15061             ];
15062             }
15063             $RE{$id}{"iri.$slug"} //= "$base$_"
15064             if defined $base;
15065             for (@variants) {
15066             $RE{$id}{ $$_[0] } //= $$_[1] . $$_[2] . $$_[3];
15067             }
15068             }
15069              
15070             # synthesize patterns: iri from metadata iri
15071             unless ( $RE{$id}{'pat.alt.subject.iri'} ) {
15072             my @subpat;
15073             for ( sort grep {/^iri(?:[.(]|\z)/} keys %{ $RE{$id} } ) {
15074             my $val = $RE{$id}{$_};
15075              
15076             $val =~ s/\./\\./g;
15077             $val =~ s/[+()]/[$&]/g;
15078             $val =~ s/-/[-]/g;
15079             $val =~ s!^https?://![http://]!;
15080             $val =~ s!/$!/?!;
15081             push @subpat, $val;
15082             }
15083             _join_pats( { assign => [ $id, 'pat.alt.subject.iri' ] }, @subpat );
15084             }
15085              
15086             # synthesize patterns: name and caption from metadata name and caption
15087             unless ( $_TYPE{$id} eq 'trait' ) {
15088             my (%singleword_pat, %multiword_pat, %name_pat, %spdx_pat,
15089             %trove_pat
15090             );
15091              
15092             my $published_by = '';
15093             $published_by = '(?: (:' . $_PUBLISHER{$id} . ':)(?: ?[;]?|[\']s))?'
15094             if $_PUBLISHER{$id}
15095             and $RE{ $_PUBLISHER{$id} }
15096             and $RE{ $_PUBLISHER{$id} }{'pat.alt.subject.trait'};
15097              
15098             my ( $is_only_this_version, $is_also_later_versions );
15099             my @candidates = ($id);
15100             if ( $_USAGE{$id} ) {
15101             $is_only_this_version = ( $_USAGE{$id}{type} eq 'only' );
15102             $is_also_later_versions = ( $_USAGE{$id}{type} eq 'or_later' );
15103             push @candidates,
15104             $_USAGE{$id}{series},
15105             @{ $_SERIES{ $_USAGE{$id}{series} } };
15106             }
15107             elsif ( $_SERIES{$id} ) {
15108             push @candidates, @{ $_SERIES{$id} };
15109             }
15110              
15111             my $version = '';
15112             my $version_usage = '';
15113             my $version_usage_maybe = '';
15114             my ( $ver, $ver_re, $ver_z_re );
15115             if ( $_ = $RE{$id}{licenseversion} ) {
15116             s/\./\\./g;
15117             s/\\\.0\\\.0$/(?:\\.0(?:\\.0)?)?/;
15118             s/\\\.0$/(?:\\.0)?/;
15119             s/\\\.\K0{0,2}0/0{1,3}/g;
15120             s/\\\.\K0{0,2}(?=[1-9])/0{0,2}/g;
15121             $version = '(:version_prefix:)' . $_;
15122             if ($is_only_this_version) {
15123             $version_usage = '(:version_only:)';
15124             }
15125             elsif ($is_also_later_versions) {
15126             $version_usage = '(:version_later:)';
15127             }
15128             $version_usage_maybe = $version_usage . '?'
15129             if $version_usage;
15130             $ver = '_?' . $version . $version_usage_maybe;
15131             $ver =~ s/(?:\[|\(:)[^\]]+?(?:\]|:\))/
15132             exists $_ANNOTATIONS{$&} ? $_ANNOTATIONS{$&} : $&/ego;
15133             $ver_re = qr/$ver/;
15134             $ver_z_re = qr/$ver$/;
15135             }
15136              
15137             my $version_stopgap = '(?:[^+.A-Za-z0-9]|\.[^0-9]|\.\z|\z)';
15138              
15139             foreach my $candidate (@candidates) {
15140             for ( keys %{ $RE{$candidate} } ) {
15141             next unless /^name(?:\.|\z)/;
15142             next if /\.synth\.nogrant(?:\.|\z)/;
15143              
15144             my $val = $RE{$candidate}{$_};
15145              
15146             next if $val =~ /-\(/;
15147              
15148             $val =~ s/$ver_re// if $version;
15149              
15150             # mangle and annotate metadata names
15151             $val =~ s/\./\\./g;
15152             $val =~ s/[+]/[$&]/g;
15153              
15154             $singleword_pat{$val} = undef;
15155             }
15156             }
15157             my $shortname = _join_pats(
15158             { prefix => "(?: ?[(](?:$the)?" . '["]?',
15159             suffix => "(?:$version)?" . '(?: [Ll]icen[cs]e)?["]?[)])?'
15160             },
15161             sort keys %singleword_pat
15162             );
15163             my $shortname_z_re = $shortname;
15164             $shortname_z_re =~ s/(?:\[|\(:)[^\]]+?(?:\]|:\))/
15165             exists $_ANNOTATIONS{$&} ? $_ANNOTATIONS{$&} : $&/ego;
15166             $shortname_z_re = qr/$shortname_z_re$/;
15167              
15168             my $suffix = $shortname . $published_by;
15169              
15170             for ( keys %{ $RE{$id} } ) {
15171              
15172             if (/^caption\.alt\.org\.trove(?:\.|\z)/) {
15173             my $trove_val = $RE{$id}{$_};
15174              
15175             # mangle and annotate trove metadata
15176             $trove_val =~ s/\./\\./g;
15177             $trove_val =~ s/[-+()]/[$&]/g;
15178              
15179             $trove_val .= $version_stopgap;
15180              
15181             $trove_pat{$trove_val} = undef;
15182             }
15183              
15184             if (/^name(?:\.|\z)/) {
15185             next if /\.synth\.nogrant(?:\.|\z)/;
15186              
15187             my $name_val = $RE{$id}{$_};
15188              
15189             $name_pat{$name_val} = undef
15190             if /^caption\.alt\.org\.spdx(?:\.|\z)/;
15191              
15192             next if $name_val =~ /-\(/;
15193             $name_val =~ s/[~.,]/\\$&/g;
15194             $name_val =~ s/[-+()\/]/[$&]/g;
15195             if ( $name_val =~ /\d$/ ) {
15196             $name_val =~ s/\\\.0$/\(?:\\.0\)?/;
15197             }
15198              
15199             $name_val .= $version_stopgap;
15200              
15201             $name_pat{$name_val} = undef;
15202             }
15203              
15204             next unless /^caption(?:\.|\z)/;
15205             next if /\.synth\.nogrant(?:\.|\z)/;
15206              
15207             my $val = $RE{$id}{$_};
15208              
15209             # strip words later re-added as surrounding pattern
15210             $val =~ s/$shortname_z_re//;
15211             if ($version) {
15212             $val =~ s/$ver_z_re//;
15213             $val =~ s/$shortname_z_re//;
15214             }
15215             $val =~ s/^$the//;
15216             $val =~ s/ [Ll]icen[cs]e$//;
15217              
15218             # mangle and annotate metadata
15219             $val =~ tr/–/-/;
15220             $val =~ s/\./\\./g;
15221             $val =~ s/[-+()'é]/[$&]/g; #'
15222             $val =~ s/,/,?/g;
15223             $val =~ s/ ?®/[r]/g;
15224             $val =~ s/, /[, ]/g; # wide comma
15225             $val =~ s/ \[-\] /[ - ]/g;
15226             $val =~ s{ / }{[ / ]}g;
15227              
15228             # generalize commonly varying words
15229             $val =~ s/^(?:[Aa]n? )/(?:[Aa]n? )?/; # relax (not add)
15230             $val =~ s/ [Ll]icen[cs]e/(?: [Ll]icen[cs]e)?/;
15231              
15232             $multiword_pat{$val} = undef;
15233             }
15234              
15235             my $stem = _join_pats(
15236             { prefix => "$the?", suffix => '(?: [Ll]icen[cs]e)?' },
15237             sort keys %multiword_pat,
15238             _join_pats(
15239             { prefix => '\b', suffix => $version ? '' : '\b' },
15240              
15241             # TODO: use { s/-/[-]/gr } when needing perl 5.14 anyway
15242             map { my $s = $_; $s =~ s/-/[-]/g; $s; }
15243             grep { not exists $multiword_pat{$_} }
15244             sort keys %singleword_pat,
15245             ),
15246             );
15247              
15248             unless ( exists $RE{$id}{'_pat.alt.subject.name.synth.caption'} ) {
15249              
15250             if ($version) {
15251              
15252             # extra pattern with (non-optional) leading version
15253             push @{ $RE{$id}{'_pat.alt.subject.name.synth.caption'} },
15254             '(?:'
15255             . '(:version_prefix:)'
15256             . "$version$version_usage"
15257             . " of $stem"
15258             . $published_by . ')';
15259              
15260             $suffix
15261             = '(?:'
15262             . $version
15263             . $version_usage_maybe
15264             . '(:version_number_suffix:)' . ')?'
15265             . $shortname
15266             . $published_by
15267             . $version
15268             . '(:version_number_suffix:)'
15269             . $version_usage
15270             . $shortname
15271             . $version_stopgap;
15272             }
15273             push @{ $RE{$id}{'_pat.alt.subject.name.synth.caption'} },
15274             $stem . $suffix;
15275             }
15276              
15277             # TODO: maybe include also subject pattern iri
15278             unless ( exists $RE{$id}{'_pat.alt.subject.grant.synth.name'} ) {
15279             if ( $RE{$id}{'_pat.alt.subject.name.synth.caption'} ) {
15280             $name_pat{$_} = undef
15281             for @{ $RE{$id}{'_pat.alt.subject.name.synth.caption'} };
15282             }
15283             _join_pats(
15284             { assign => [ $id, '_pat.alt.subject.grant.synth.name' ],
15285             prefix => '(:license_label:) ?'
15286             },
15287             sort keys %name_pat
15288             );
15289             }
15290              
15291             # synthesize subject pattern grant from SPDX name
15292             unless ( $RE{$id}{'_pat.alt.subject.grant.synth.spdx'} ) {
15293             _join_pats(
15294             { assign => [ $id, '_pat.alt.subject.grant.synth.spdx' ],
15295             prefix => '(:license_label_spdx:) ?'
15296             },
15297             sort keys %spdx_pat
15298             );
15299             }
15300              
15301             # synthesize subject pattern grant from Trove caption
15302             unless ( $RE{$id}{'_pat.alt.subject.grant.synth.trove'} ) {
15303             _join_pats(
15304             { assign => [ $id, '_pat.alt.subject.grant.synth.trove' ],
15305             prefix => '(:license_label_trove:) ?'
15306             },
15307             sort keys %trove_pat
15308             );
15309             }
15310              
15311             # synthesize subject pattern grant from subject pattern name
15312             unless ( $RE{$id}{'_pat.alt.subject.grant.synth.caption'} ) {
15313              
15314             # TODO: use resolved patterns (not subpatterns)
15315             _join_pats(
15316             { assign => [ $id, '_pat.alt.subject.grant.synth.caption' ],
15317             prefix => '(:licensed_under:)'
15318             },
15319             @{ $RE{$id}{'_pat.alt.subject.name.synth.caption'} }
15320             );
15321             }
15322              
15323             # synthesize CC subject pattern license from metadata caption
15324             if ( $id eq 'cc_cc0_1' ) {
15325             $RE{$id}{'pat.alt.subject.license.scope.sentence.synth.cc'}
15326             //= "(?:$RE{$id}{caption})?" . "[ ]$cc_intro_cc0";
15327             }
15328             elsif ( $id =~ /^cc.*_1$/ ) {
15329             $RE{$id}{'pat.alt.subject.license.scope.sentence.synth.cc'}
15330             //= $RE{$id}{caption} . "[ ]$cc_intro_1";
15331             }
15332             elsif ( $id =~ /^cc.*_(?:2|2_5)$/ ) {
15333             $RE{$id}{'pat.alt.subject.license.scope.sentence.synth.cc'}
15334             //= $RE{$id}{caption} . "[ ]$cc_intro";
15335             }
15336             elsif ( $id =~ /^cc.*_3$/ ) {
15337             $RE{$id}{'pat.alt.subject.license.scope.sentence.synth.cc'}
15338             //= $RE{$id}{caption} . ' Unported' . "[ ]$cc_intro";
15339             }
15340             elsif ( $id =~ /^cc.*_4$/ ) {
15341             $RE{$id}{'pat.alt.subject.license.scope.sentence.synth.cc'}
15342             //= $RE{$id}{caption}
15343             . '(?: Public License)?[ ]'
15344             . $cc_by_exercising_you_accept_this
15345             . $RE{$id}{caption};
15346             }
15347             }
15348              
15349             # resolve subject patterns from subpatterns
15350             my %subject_pat;
15351             for ( keys %{ $RE{$id} } ) {
15352              
15353             # collect alternatives ahead (to traverse once, not once per subject)
15354             if (/$pat_subject_re/) {
15355             my $unseed = substr $_, 1; # seed -> nonseed, or nonseed -> bogus
15356             $subject_pat{$&}{ exists $RE{$id}{$unseed} ? $unseed : $_ }
15357             = undef;
15358             }
15359             }
15360             for my $subject (@_SUBJECTSTACK) {
15361              
15362             # if not explicitly defined, synthesize from seed or all alt seeds
15363             $RE{$id}{"pat.alt.subject.$subject"}
15364             //= _join_pats( $RE{$id}{"_pat.alt.subject.$subject"} )
15365             || _join_pats(
15366             map { $RE{$id}{$_} }
15367             sort keys %{ $subject_pat{$subject} }
15368             ) or delete $RE{$id}{"pat.alt.subject.$subject"};
15369             }
15370              
15371             # resolve available patterns
15372             my @pat_subject
15373             = grep { exists $RE{$id}{"pat.alt.subject.$_"} } @_SUBJECTSTACK;
15374              
15375             my $can_capture;
15376             my $pat = _join_pats(
15377             map { $RE{$id}{"pat.alt.subject.$_"} } @pat_subject,
15378             );
15379             if ( $pat =~ /\(\?P<_/ ) {
15380             $can_capture = 1;
15381             push @{ $RE{$id}{tags} }, 'capturing';
15382             }
15383              
15384             # provide default dynamic pattern: all available patterns
15385             $RE{$id}{gen} = sub {
15386             my %args = @_;
15387              
15388             $pat = _join_pats(
15389             map { $RE{$id}{"pat.alt.subject.$_"} }
15390             split( /,/, $args{subject} )
15391             ) if $args{subject};
15392              
15393             return ''
15394             unless ($pat);
15395              
15396             my $capture = $args{capture} || 'no';
15397              
15398             if ($can_capture) {
15399             if ( $capture eq 'named' ) {
15400             $pat =~ s/\(\?P<\K_//g;
15401             }
15402             elsif ( $capture eq 'numbered' ) {
15403             $pat =~ s/\(\?P<_[^>]+>/(?:/g;
15404             $pat =~ s/\(\?P<[^>]+>/(/g;
15405             }
15406             else {
15407             $pat =~ s/\(\?P<[^>]+>/(?:/g;
15408             }
15409             }
15410              
15411             if ( defined $args{engine} and $args{engine} eq 'pseudo' ) {
15412             }
15413             else {
15414             $pat =~ s/(?:\[|\(:)[^\]]+?(?:\]|:\))/
15415             exists $_ANNOTATIONS{$&} ? $_ANNOTATIONS{$&} : $&/ego;
15416             }
15417              
15418             # TODO: document if not obsoleted
15419             # by
15420             if ( $args{anchorleft} ) {
15421             $pat = "^(?:$pat)";
15422             }
15423              
15424             if ( $args{engine} ) {
15425              
15426             # TODO: support modern Perl with greedy patterns
15427              
15428             if ( $args{engine} eq 'RE2' ) {
15429             unless ($CAN_RE2) {
15430             die
15431             'cannot use regexp engine "RE2": Module "re::engine::RE2" is not installed';
15432             }
15433              
15434             BEGIN {
15435 27     27   66077 re::engine::RE2->import(
15436             -strict => 1,
15437             -max_mem => 8 << 21,
15438             );
15439             }
15440             return qr/$pat/;
15441             }
15442             elsif ( $args{engine} eq 'none' or $args{engine} eq 'pseudo' ) {
15443             return $pat;
15444             }
15445             else {
15446             die "Unsupported regexp engine \"$args{engine}\"";
15447             }
15448             }
15449             else {
15450             return qr/$pat/;
15451             }
15452             };
15453              
15454             # option keep: include capturing parantheses in pattern
15455             $RE{$id}{gen_args}{capture} = $gen_args_capture
15456             if $can_capture;
15457              
15458             # option subject: which subject(s) to cover in pattern
15459             $RE{$id}{gen_args}{subject} = {
15460             summary => 'Choose subject (or several, comma-separated)',
15461             schema => [ 'str*', in => \@pat_subject ],
15462             default => join( ',', @pat_subject ),
15463             req => 1,
15464             };
15465              
15466             # option engine: which regular expression engine to compile pattern with
15467             $RE{$id}{gen_args}{engine} = $gen_args_engine;
15468             }
15469              
15470             sub _join_pats
15471             {
15472 260052     260052   425347 my ( @pats, %opts );
15473              
15474             # collect hashref options, skip empty patterns, and expand arrayrefs
15475 260052         445921 for (@_) {
15476 527001 100       1010706 next unless defined;
15477 465598 100       893073 if ( !ref ) { push @pats, $_ if length }
  345286 100       1057334  
    100          
    50          
15478 13149   33     30546 elsif ( ref eq 'ARRAY' ) { push @pats, _join_pats(@$_) || () }
15479 107163         395747 elsif ( ref eq 'HASH' ) { @opts{ keys %$_ } = values %$_ }
15480 0         0 else { die "Bad ref: $_"; }
15481             }
15482              
15483             my $label
15484             = $opts{label}
15485 260052 100       505007 ? 'P<' . $opts{label} . '>'
15486             : ':';
15487 260052   100     620252 my $prefix = $opts{prefix} // '';
15488 260052   100     603306 my $suffix = $opts{suffix} // '';
15489              
15490 260052 100       755346 return $opts{assign} ? 0 : ''
    100          
15491             unless @pats;
15492 144325 100 66     850148 my $result
15493             = ( @pats > 1 or $label ne ':' )
15494             ? "$prefix(?$label" . join( '|', @pats ) . ")$suffix"
15495             : $prefix . $pats[0] . $suffix;
15496 144325 100       353305 if ( $opts{assign} ) {
15497 40392         112804 $RE{ $opts{assign}[0] }{ $opts{assign}[1] } = $result;
15498 40392         123303 return scalar @pats;
15499             }
15500 103933         385627 return $result;
15501             }
15502              
15503             =head2 OBSOLETE OBJECTS
15504              
15505             License objects obsoleted by improved coverage of other objects,
15506             and provided only as dummy objects.
15507              
15508             =over
15509              
15510             =item * python
15511              
15512             I
15513              
15514             Replaced by L and L.
15515              
15516             =cut
15517              
15518             $RE{python} = {
15519             pat => qr/^this should never match (except itself) rrompraghtiestur$/,
15520             };
15521              
15522             =item * wordnet_3
15523              
15524             I
15525              
15526             Replaced by L.
15527              
15528             =cut
15529              
15530             $RE{wordnet_3} = {
15531              
15532             pat => qr/^this should never match (except itself) rrompraghtiestur$/,
15533             };
15534              
15535             =back
15536              
15537             =head2 TAGS
15538              
15539             Pattern defhashes optionally includes tags,
15540             which may help in selecting multiple related patterns.
15541              
15542             Tags are hierarchical,
15543             with C<:> as separator,
15544             and may be extended without notice.
15545             Therefore take care to permit sub-parts when tag-matching,
15546             e.g. using a regex like C< /\Asome:tag(?:\z|:)/ >.
15547              
15548             =over
15549              
15550             =item * family:bsd
15551              
15552             =item * family:cc
15553              
15554             =item * family:gpl
15555              
15556             =item * family:mit
15557              
15558             =item * family:zlib
15559              
15560             Pattern covers a license part of a family of licenses.
15561              
15562             =item * license:contains:grant:*
15563              
15564             License mentions a preferred form for granting the license.
15565              
15566             This implies that license is commonly granted by use of a different (typically far shorter) text.
15567              
15568             Fourth part (optional) is the key to corresponding license pattern,
15569             for a grant belonging to a different license
15570             (when omitted then a grant for same license is assumed).
15571              
15572             =item * license:contains:license:*
15573              
15574             License contains another license.
15575              
15576             Wildcard is the key to corresponding license pattern.
15577              
15578             =item * license:contains:name:*
15579              
15580             License mentions name of another license.
15581              
15582             =item * license:includes:license:*
15583              
15584             License references coverage of another license.
15585              
15586             Wildcard is the key to corresponding license pattern.
15587              
15588             =item * license:is:grant
15589              
15590             License is commonly granted by stating the whole license.
15591              
15592             =item * license:published:*
15593              
15594             License grant may include an "as published by..." reference.
15595              
15596             Third part is the key to corresponding trait pattern.
15597              
15598             =item * type:trait:publisher:*
15599              
15600             Pattern covers an "as published by ..." license grant phrase.
15601              
15602             Third part (optional) is the key to corresponding license pattern.
15603              
15604             =item * type:usage:*:*
15605              
15606             Pattern covers a specific usage of a license.
15607              
15608             Third part is the key of the corresponding non-usage-specific pattern.
15609              
15610             Fourth part is the key of the corresponding usage trait pattern.
15611              
15612             =item * type:combo
15613              
15614             Pattern covers a combination of multiple licenses.
15615              
15616             =item * type:group
15617              
15618             Pattern covers either of multiple licenses.
15619              
15620             =item * type:singleversion:*
15621              
15622             Pattern covers a specific version of a license.
15623              
15624             Third part is the key of the corresponding non-version-specific pattern.
15625              
15626             =item * type:trait
15627              
15628             Pattern covers a single trait occuring in licenses.
15629              
15630             =item * type:unversioned
15631              
15632             Pattern covers a license without versioning scheme.
15633              
15634             =item * type:versioned:decimal
15635              
15636             Pattern covers a license using decimal number versioning scheme.
15637              
15638             =back
15639              
15640             =head1 EXAMPLES
15641              
15642             =head2 Browse patterns
15643              
15644             The "official" way to browse patterns is using L:
15645              
15646             show-regexp-pattern-module --page-result -- License
15647              
15648             Unfortunately, L has a deep dependency tree.
15649             An alternative is to use L and C:
15650              
15651             perl -CS -MRegexp::Pattern::License -MDDP -e 'p %Regexp::Pattern::License::RE, fulldump => 1, output => stdout' | less -RS
15652              
15653             =encoding UTF-8
15654              
15655             =head1 AUTHOR
15656              
15657             Jonas Smedegaard C<< >>
15658              
15659             =head1 COPYRIGHT AND LICENSE
15660              
15661             Copyright © 2016-2021 Jonas Smedegaard
15662              
15663             Copyright © 2017-2021 Purism SPC
15664              
15665             This program is free software; you can redistribute it and/or modify it
15666             under the terms of the GNU General Public License as published by the
15667             Free Software Foundation; either version 3, or (at your option) any
15668             later version.
15669              
15670             This program is distributed in the hope that it will be useful, but
15671             WITHOUT ANY WARRANTY; without even the implied warranty of
15672             MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15673             General Public License for more details.
15674              
15675             You should have received a copy of the GNU General Public License along
15676             with this program. If not, see .
15677              
15678             =cut
15679              
15680             1;