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 28     28   5650479 use utf8;
  28         260  
  28         200  
4 28     28   898 use strict;
  28         92  
  28         533  
5 28     28   130 use warnings;
  28         61  
  28         2012  
6              
7             my $CAN_RE2;
8              
9             BEGIN {
10 28     28   123 eval { require re::engine::RE2 };
  28         12599  
11 28 100       77126 $CAN_RE2 = $@ ? '' : 1;
12             }
13              
14 28     28   14145 use Regexp::Pattern::License::Parts;
  28         106  
  28         848375  
15              
16             =head1 NAME
17              
18             Regexp::Pattern::License - Regular expressions for legal licenses
19              
20             =head1 VERSION
21              
22             Version v3.11.1
23              
24             =cut
25              
26             our $VERSION = version->declare("v3.11.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              
183             my $cc_by_exercising_you_accept_this
184             = '(?:By exercising the Licensed Rights [(]?defined below[)]?, You accept and agree to be bound by the terms and conditions of this '
185             . '|BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS )';
186             my $clisp_they_only_ref_clisp
187             = 'They only reference external symbols in CLISP[\']s public packages '
188             . 'that define API also provided by many other Common Lisp implementations '
189             . '[(]namely the packages '
190             . 'COMMON[-]LISP, COMMON[-]LISP[-]USER, KEYWORD, CLOS, GRAY, EXT[)] ';
191             my $gnu = '(?:GNU )';
192             my $gpl = '(?:General Public [Ll]icen[cs]e|GENERAL PUBLIC LICEN[CS]E)';
193             my $fsf = "(?:$the?Free Software Foundation)";
194             my $niv
195             = 'with no Invariant Sections(?:, with no Front[-]Cover Texts, and with no Back[-]Cover Texts)?';
196             my $fsf_ul
197             = "$fsf gives unlimited permission to copy, distribute and modify it";
198             my $fsf_ullr
199             = "$fsf gives unlimited permission to copy and[/]or distribute it, "
200             . 'with or without modifications, as long as this notice is preserved';
201              
202             # internal-only patterns
203             my $_prop = '(?:[A-Za-z][A-Za-z0-9_]*)';
204             my $_any = '[A-Za-z0-9_.]';
205              
206             our %RE;
207              
208             =head1 PATTERNS
209              
210             =head2 Licensing traits
211              
212             Patterns each covering a single trait occuring in licenses.
213              
214             Each of these patterns has the tag B< type:trait >.
215              
216             =over
217              
218             =item * addr_fsf
219              
220             I
221              
222             =item * addr_fsf_franklin
223              
224             I
225              
226             =item * addr_fsf_franklin_steet
227              
228             I
229              
230             =item * addr_fsf_mass
231              
232             I
233              
234             =item * addr_fsf_temple
235              
236             I
237              
238             =cut
239              
240             $RE{addr_fsf} = {
241             caption => 'FSF postal address',
242             tags => [
243             'type:trait:address:gnu',
244             ],
245             };
246              
247             $RE{addr_fsf_franklin} = {
248             caption => 'FSF postal address (Franklin Street)',
249             tags => [
250             'type:trait:address:gnu',
251             ],
252              
253             'pat.alt.subject.trait' =>
254             '(?P<_addr_fsf_franklin>51 Franklin [Ss]t(?:reet|(?P<_addr_fsf_franklin_steet>eet)|\.)?, '
255             . '(?:Fifth|5th) [Ff]loor(?:[;]? |[ - ])'
256             . 'Boston,? MA 02110[-]1301,? USA[.]?)',
257             };
258              
259             $RE{addr_fsf_franklin_steet} = {
260             caption => 'mis-spelled FSF postal address (Franklin Steet)',
261             tags => [
262             'type:trait:address:gnu',
263             'type:trait:flaw:gnu',
264             ],
265              
266             'pat.alt.subject.trait' =>
267             '(?P<_addr_fsf_franklin_steet>51 Franklin [Ss]teet, '
268             . '(?:Fifth|5th) [Ff]loor(?:[;]? |[ - ])'
269             . 'Boston,? MA 02110[-]1301,? USA[.]?)',
270             };
271              
272             $RE{addr_fsf_mass} = {
273             caption => 'obsolete FSF postal address (Mass Ave)',
274             tags => [
275             'type:trait:address:gnu',
276             'type:trait:flaw:gnu',
277             ],
278              
279             'pat.alt.subject.trait' =>
280             '(?P<_addr_fsf_mass>675 [Mm]ass(?:achusett?ss?|\.)? [Aa]ve(?:nue|\.)?(?:(?:[;]? |[ - ])'
281             . '[Cc]ambridge,? (?:MA|ma) 02139,? (?:USA|usa))?[.]?)',
282             };
283              
284             $RE{addr_fsf_temple} = {
285             caption => 'obsolete FSF postal address (Temple Place)',
286             tags => [
287             'type:trait:address:gnu',
288             'type:trait:flaw:gnu',
289             ],
290              
291             'pat.alt.subject.trait' =>
292             '(?P<_addr_fsf_temple>5[39] Temple Place,? S(?:ui)?te 330(?:[;]? |[ - ])'
293             . 'Boston,? MA 02111[-]1307,? USA[.]?)',
294             };
295              
296             $RE{addr_fsf}{'pat.alt.subject.trait'} = _join_pats(
297             { label => '_addr_fsf' },
298             $RE{addr_fsf_franklin}{'pat.alt.subject.trait'},
299             $RE{addr_fsf_temple}{'pat.alt.subject.trait'},
300             $RE{addr_fsf_mass}{'pat.alt.subject.trait'},
301             );
302              
303             =item * any_of
304              
305             I
306              
307             =cut
308              
309             $RE{any_of} = {
310             caption => 'license grant "any of the following" phrase',
311             tags => [
312             'type:trait',
313             ],
314              
315             'pat.alt.subject.trait' =>
316             '(?P<_any_of>(?:any|one or more) of the following(?: licen[cs]es(?: at your choice)?)?)[.:]? ?',
317             };
318              
319             =item * by
320              
321             I
322              
323             =item * by_apache
324              
325             I
326              
327             =item * by_fsf
328              
329             I
330              
331             =item * by_james_clark
332              
333             I
334              
335             =item * by_psf
336              
337             I
338              
339             =item * by_sam_hocevar
340              
341             I
342              
343             =cut
344              
345             $RE{by} = {
346             caption => 'license grant " as published by ..." phrase',
347             tags => [
348             'type:trait:publisher',
349             ],
350              
351             'pat.alt.subject.trait' => '(?P<_by> ?(?:as )?published by[ word]{1,6})',
352             };
353              
354             $RE{by_apache} = {
355             caption =>
356             'license grant "as published by the Apache Software Foundation" phrase',
357             tags => [
358             'type:trait:publisher:apache',
359             ],
360              
361             'pat.alt.subject.trait' =>
362             '(?P<_by_apache> ?(?:as )?published by the Apache Software Foundation)',
363             };
364              
365             $RE{by_fsf} = {
366             caption =>
367             'license grant "as published by the Free Software Foundation" phrase',
368             tags => [
369             'type:trait:publisher:gnu',
370             ],
371              
372             'pat.alt.subject.trait' => '(?P<_by_fsf> ?(?:as )?published by '
373             . $fsf
374             . '(?: [(]'
375             . $P{fsf_url}
376             . '[)])?(?:,? Inc\.?)?'
377             . '(?:,? ?'
378             . $RE{addr_fsf}{'pat.alt.subject.trait'} . ')?)',
379             };
380              
381             $RE{by_james_clark} = {
382             caption => 'license grant "as published by James Clark" phrase',
383             tags => [
384             'type:trait:publisher:mit_new',
385             ],
386              
387             'pat.alt.subject.trait' =>
388             '(?P<_by_hames_clark> ?(?:as )?published by James Clark)',
389             };
390              
391             $RE{by_psf} = {
392             caption =>
393             'license grant "as published by the Python Software Foundation" phrase',
394             tags => [
395             'type:trait:publisher:python',
396             ],
397              
398             'pat.alt.subject.trait' =>
399             '(?P<_by_psf> ?(?:as )?published by the Python Software Foundation)',
400             };
401              
402             $RE{by_sam_hocevar} = {
403             caption => 'license grant "as published by Sam Hocevar" phrase',
404             tags => [
405             'type:trait:publisher:wtfpl',
406             ],
407              
408             'pat.alt.subject.trait' =>
409             '(?P<_by_sam_hocevar> ?(?:as )?published by Sam Hocevar)',
410             };
411              
412             =item * clause_retention
413              
414             =cut
415              
416             $RE{clause_retention} = {
417             caption => 'retention clause',
418             tags => [
419             'type:trait',
420             ],
421              
422             'pat.alt.subject.trait.scope.sentence' => $P{retain_notice_cond_discl},
423             };
424              
425             =item * clause_reproduction
426              
427             =cut
428              
429             $RE{clause_reproduction} = {
430             caption => 'reproduction clause',
431             tags => [
432             'type:trait',
433             ],
434              
435             'pat.alt.subject.trait.scope.sentence' => $P{repro_copr_cond_discl},
436             };
437              
438             =item * clause_advertising
439              
440             =item * clause_advertising_always
441              
442             =cut
443              
444             $RE{clause_advertising} = {
445             caption => 'advertising clause',
446             tags => [
447             'type:trait',
448             ],
449              
450             'pat.alt.subject.trait.scope.sentence' => $P{ad_mat_ack_this},
451             };
452              
453             $RE{clause_advertising_always} = {
454             caption => 'advertising clause (always)',
455             tags => [
456             'type:trait',
457             ],
458              
459             'pat.alt.subject.trait.scope.sentence' => $P{redist_ack_this},
460             };
461              
462             =item * clause_non_endorsement
463              
464             =cut
465              
466             $RE{clause_non_endorsement} = {
467             caption => 'non-endorsement clause',
468             tags => [
469             'type:trait',
470             ],
471              
472             'pat.alt.subject.trait.scope.sentence' => $P{nopromo_neither},
473             };
474              
475             =item * except_389
476              
477             =cut
478              
479             $RE{except_389} = {
480             name => '389-exception',
481             'name.alt.org.debian' => '389',
482             'name.alt.org.spdx.since.date_20150730' => '389-exception',
483             caption => '389 Directory Server Exception',
484             'caption.alt.org.fedora' => 'Fedora Directory Server License',
485             'iri.alt.org.fedora.archive.time_20140723121431' =>
486             'http://directory.fedoraproject.org/wiki/GPL_Exception_License_Text',
487             tags => [
488             'family:gnu:gpl',
489             'type:trait:exception',
490             ],
491              
492             'pat.alt.subject.trait.scope.sentence' =>
493             'Red Hat, Inc\. gives You the additional right '
494             . 'to link the code of this Program '
495             . 'with code not covered under the GNU General Public License '
496             . '[(]["]Non-GPL Code["][)] '
497             . 'and to distribute linked combinations including the two, '
498             . 'subject to the limitations in this paragraph[. ]'
499             . 'Non[-]GPL Code permitted under this exception '
500             . 'must only link to the code of this Program '
501             . 'through those well defined interfaces identified '
502             . 'in the file named EXCEPTION found in the source code files '
503             . '[(]the ["]Approved Interfaces["][)][.]',
504             };
505              
506             =item * except_autoconf_data
507              
508             I
509              
510             =item * except_autoconf_2
511              
512             I
513              
514             =item * except_autoconf_2_archive
515              
516             I
517              
518             =item * except_autoconf_2_autotroll
519              
520             I
521              
522             =item * except_autoconf_2_g10
523              
524             I
525              
526             =item * except_autoconf_3
527              
528             I
529              
530             =cut
531              
532             $RE{except_autoconf_data} = {
533             name => 'Autoconf-data',
534             caption => 'Autoconf data exception',
535             tags => [
536             'family:gnu:gpl',
537             'type:trait:exception',
538             ],
539              
540             'pat.alt.subject.trait.scope.sentence' =>
541             'if you distribute this file as part of a program '
542             . 'that contains a configuration script generated by Autoconf, '
543             . 'you may include it under the same distribution terms '
544             . 'that you use for the rest of that program',
545             };
546              
547             $RE{except_autoconf_2} = {
548             name => 'Autoconf-exception-2.0',
549             'name.alt.org.debian' => 'Autoconf-2.0',
550             'name.alt.org.spdx.until.date_20150513' =>
551             'GPL-2.0-with-autoconf-exception',
552             'name.alt.org.spdx.since.date_20150513' => 'Autoconf-exception-2.0',
553             caption => 'Autoconf exception 2.0',
554             'caption.alt.org.spdx.until.date_20150513' =>
555             'GNU General Public License v2.0 w/Autoconf exception',
556             'caption.alt.org.spdx.since.date_20150513' => 'Autoconf exception 2.0',
557             tags => [
558             'family:gnu:gpl',
559             'type:trait:exception',
560             ],
561              
562             'pat.alt.subject.trait.scope.sentence.part.part1' =>
563             'the Free Software Foundation gives unlimited permission '
564             . 'to copy, distribute and modify configure scripts ',
565             'pat.alt.subject.trait.part.part2' =>
566             'This special exception to the GPL applies '
567             . 'to versions of Autoconf',
568             };
569              
570             $RE{except_autoconf_2_archive} = {
571             name => 'Autoconf-exception-2.0~Archive',
572             'name.alt.org.debian' => 'Autoconf-2.0~Archive',
573             caption => 'Autoconf exception 2.0 (Autoconf Archive)',
574             tags => [
575             'family:gnu:gpl',
576             'type:trait:exception',
577             ],
578              
579             'pat.alt.subject.trait.scope.sentence.part.part1' =>
580             'the respective Autoconf Macro[\']s copyright owner '
581             . 'gives unlimited permission ',
582             'pat.alt.subject.trait.part.part2' =>
583             'This special exception to the GPL applies '
584             . 'to versions of the Autoconf',
585             };
586              
587             $RE{except_autoconf_2_autotroll} = {
588             name => 'Autoconf-exception-2.0~AutoTroll',
589             'name.alt.org.debian' => 'Autoconf-2.0~AutoTroll',
590             caption => 'Autoconf exception 2.0 (AutoTroll)',
591             tags => [
592             'family:gnu:gpl',
593             'type:trait:exception',
594             ],
595              
596             'pat.alt.subject.trait.scope.sentence.part.part1' =>
597             'the copyright holders of AutoTroll '
598             . 'give you unlimited permission ',
599             'pat.alt.subject.trait.part.part2' =>
600             'This special exception to the GPL applies '
601             . 'to versions of AutoTroll',
602             };
603              
604             $RE{except_autoconf_2_g10} = {
605             name => 'Autoconf-exception-2.0~g10',
606             'name.alt.org.debian' => 'Autoconf-2.0~g10',
607             caption => 'Autoconf exception 2.0 (g10 Code)',
608             tags => [
609             'family:gnu:gpl',
610             'type:trait:exception',
611             ],
612              
613             'pat.alt.subject.trait.part.part1' =>
614             'g10 Code GmbH gives unlimited permission',
615             'pat.alt.subject.trait.part.part2' =>
616             'Certain portions of the mk[word]\.awk source text are designed',
617             'pat.alt.subject.trait.part.part3' =>
618             'If your modification has such potential, you must delete',
619             };
620              
621             $RE{except_autoconf_3} = {
622             name => 'Autoconf-exception-3.0',
623             'name.alt.org.debian' => 'Autoconf-3.0',
624             'name.alt.org.spdx.until.date_20150513' =>
625             'GPL-3.0-with-autoconf-exception',
626             'name.alt.org.spdx.since.date_20150513' => 'Autoconf-exception-3.0',
627             caption => 'Autoconf exception 3.0',
628             'caption.alt.org.spdx.until.date_20150513' =>
629             'GNU General Public License v3.0 w/Autoconf exception',
630             'caption.alt.org.spdx.since.date_20150513' => 'Autoconf exception 3.0',
631             tags => [
632             'family:gnu:gpl',
633             'type:trait:exception',
634             ],
635              
636             'pat.alt.subject.trait.scope.sentence.part.part1' =>
637             "The purpose of this Exception is to allow distribution of Autoconf[']s",
638             };
639              
640             =item * except_bison_1_24
641              
642             I
643              
644             =item * except_bison_2_2
645              
646             I
647              
648             =cut
649              
650             $RE{except_bison_1_24} = {
651             name => 'Bison-1.24',
652             caption => 'Bison exception 1.24',
653             tags => [
654             'family:gnu:gpl',
655             'type:trait:exception',
656             ],
657              
658             'pat.alt.subject.trait.scope.sentence' =>
659             'when this file is copied by Bison into a Bison output file',
660             'pat.alt.subject.trait.scope.multisection.part.part1' =>
661             'when this file is copied by Bison into a Bison output file, '
662             . 'you may use that output file without restriction[. ]',
663             'pat.alt.subject.trait.scope.multisection.part.part2' =>
664             'This special exception was added by the Free Software Foundation'
665             . 'in version 1\.24 of Bison[.]'
666             };
667              
668             $RE{except_bison_2_2} = {
669             name => 'Bison-exception-2.2',
670             'name.alt.org.debian' => 'Bison-2.2',
671             'name.alt.org.spdx.until.date_20150513' => 'GPL-2.0-with-bison-exception',
672             'name.alt.org.spdx.since.date_20150513' => 'Bison-exception-2.2',
673             caption => 'Bison exception 2.2',
674             'caption.alt.org.spdx.until.date_20150513' =>
675             'GNU General Public License v2.0 w/Bison exception',
676             'caption.alt.org.spdx.since.date_20150513' => 'Bison exception 2.2',
677             tags => [
678             'family:gnu:gpl',
679             'type:trait:exception',
680             ],
681              
682             'pat.alt.subject.trait.scope.sentence' =>
683             'you may create a larger work that contains '
684             . 'part or all of the Bison parser skeleton',
685             'pat.alt.subject.trait.scope.multisection.part.part1' =>
686             'you may create a larger work that contains '
687             . 'part or all of the Bison parser skeleton'
688             . 'and distribute that work under terms of your choice, '
689             . 'so long as that work isn[\']t itself a parser generator'
690             . 'using the skeleton or a modified version thereof '
691             . 'as a parser skeleton[.]'
692             . 'Alternatively, if you modify or redistribute the parser skeleton itself, '
693             . 'yoy may [(]at your option[)] remove this special exception, '
694             . 'which will cause the skeleton and the resulting Bison output files '
695             . 'to be licensed under the GNU General Public License '
696             . 'without this special exception[.][ ]',
697             'pat.alt.subject.trait.scope.multisection.part.part2' =>
698             'This special exception was added by the Free Software Foundation'
699             . 'in version 2\.2 of Bison[.]'
700             };
701              
702             =item * except_classpath_2
703              
704             =cut
705              
706             $RE{except_classpath_2} = {
707             name => 'Classpath-exception-2.0',
708             'name.alt.org.debian' => 'Classpath-2.0',
709             'name.alt.org.spdx.until.date_20150513' =>
710             'GPL-2.0-with-classpath-exception',
711             'name.alt.org.spdx.since.date_20150513' => 'Classpath-exception-2.0',
712             'name.alt.org.wikidata.synth.nogrant' => 'Q1486447',
713             caption => 'Classpath exception 2.0',
714             'caption.alt.org.fedora' => 'Classpath exception',
715             'caption.alt.org.spdx.until.date_20150513' =>
716             'GNU General Public License v2.0 w/Classpath exception',
717             'caption.alt.org.spdx.since.date_20150513' => 'Classpath exception 2.0',
718             'caption.alt.org.wikidata' => 'GPL linking exception',
719             tags => [
720             'family:gnu:gpl',
721             'type:trait:exception',
722             ],
723              
724             'pat.alt.subject.trait.scope.sentence' =>
725             'link this library with independent modules',
726             'pat.alt.subject.trait.scope.multisection.part.intro' =>
727             'Linking this library statically or dynamically with other modules '
728             . 'is making a combined work based on this library[. ]'
729             . 'Thus, the terms and conditions of the GNU General Public License '
730             . 'cover the whole combination[.][ ]',
731             'pat.alt.subject.trait.scope.multisection.part.part1' =>
732             'the copyright holders of this library give you permission '
733             . 'to link this library with independent modules to produce an executable, '
734             . 'regardless of the license terms of these independent modules, '
735             . 'and to copy and distribute the resulting executable '
736             . 'under terms of your choice, '
737             . 'provided that you also meet, '
738             . 'for each linked independent module, '
739             . 'the terms and conditions of the license of that module[. ]?',
740             'pat.alt.subject.trait.scope.multisection.part.part2' =>
741             'An independent module is a module '
742             . 'which is not derived from or based on this library[. ]'
743             . 'If you modify this library, '
744             . 'you may extend this exception to your version of the library, '
745             . 'but you are not obligated to do so[. ]'
746             . 'If you do not wish to do so, '
747             . 'delete this exception statement from your version[.]',
748             };
749              
750             =item * except_ecos_2
751              
752             I
753              
754             =cut
755              
756             $RE{except_ecos_2} = {
757             name => 'eCos-exception-2.0',
758             'name.alt.org.spdx.since.date_20150513' => 'eCos-exception-2.0',
759             caption => 'eCos exception 2.0',
760             description => <<'END',
761             Identical to Macros and Inline Functions Exception, except...
762             * drop explicit permission to use without restriction
763             * replace "files" and "excecutable" with "works"
764             * add reference to GPL section 3
765             END
766             iri => 'http://sources.redhat.com/ecos/ecos-license/',
767             tags => [
768             'family:gnu:gpl',
769             'type:trait:exception',
770             ],
771              
772             'pat.alt.subject.trait.scope.sentence.part.part1' =>
773             'if other files instantiate templates or use macros or inline functions from this file, '
774             . 'or you compile this file and link it with other works',
775             'pat.alt.subject.trait.scope.line.scope.sentence.part.part2' =>
776             'However the source code for this file must still be made available',
777             'pat.alt.subject.trait.scope.line.scope.sentence.part.part3' =>
778             'This exception does not invalidate any other reasons why',
779             };
780              
781             =item * except_epl
782              
783             =cut
784              
785             $RE{except_epl} = {
786             name => 'EPL-library',
787             caption => 'EPL-library exception',
788             tags => [
789             'family:gnu:gpl',
790             'type:trait:exception',
791             ],
792              
793             'pat.alt.subject.trait.scope.sentence' =>
794             'you have the permission to link the code of this program '
795             . 'with any library released under the EPL license '
796             . 'and distribute linked combinations including the two[.]',
797             'pat.alt.subject.trait.scope.paragraph.part.all' =>
798             'you have the permission to link the code of this program '
799             . 'with any library released under the EPL license '
800             . 'and distribute linked combinations including the two[. ]'
801             . 'If you modify this file, '
802             . 'you may extend this exception to your version of the file, '
803             . 'but you are not obligated to do so[. ]'
804             . 'If you do not wish to do so, '
805             . 'delete this exception statement from your version[.]',
806             };
807              
808             =item * except_epl_mpl
809              
810             =cut
811              
812             $RE{except_epl_mpl} = {
813             name => 'EPL-MPL-library',
814             caption => 'EPL-MPL-library exception',
815             tags => [
816             'family:gnu:gpl',
817             'type:trait:exception',
818             ],
819              
820             'pat.alt.subject.trait.scope.sentence' =>
821             'you have the permission to link the code of this program '
822             . 'with any library released under the EPL license '
823             . 'and distribute linked combinations including the two[;] '
824             . 'the MPL [(]Mozilla Public License[)], '
825             . 'which EPL [(]Erlang Public License[)] is based on, '
826             . 'is included in this exception.',
827             };
828              
829             =item * except_faust
830              
831             I
832              
833             =cut
834              
835             $RE{except_faust} = {
836             name => 'FAUST',
837             caption => 'FAUST exception',
838             tags => [
839             'family:gnu:gpl',
840             'type:trait:exception',
841             ],
842              
843             'pat.alt.subject.trait.scope.sentence' =>
844             'you may create a larger work that contains '
845             . 'this FAUST architecture section',
846             'pat.alt.subject.trait.scope.multisection.part.all' =>
847             'you may create a larger work that contains '
848             . 'this FAUST architecture section '
849             . 'and distribute that work under terms of your choice, '
850             . 'so long as this FAUST architecture section is not modified[.]',
851             };
852              
853             =item * except_font_2
854              
855             I
856              
857             =cut
858              
859             $RE{except_font_2} = {
860             name => 'Font-exception-2.0',
861             'name.alt.org.spdx.until.date_20150513' => 'GPL-2.0-with-font-exception',
862             'name.alt.org.spdx.since.date_20150513' => 'Font-exception-2.0',
863             'name.alt.org.wikidata.synth.nogrant' => 'Q5514182',
864             caption => 'Font exception 2.0',
865             'caption.alt.org.fedora' => 'font embedding exception',
866             'caption.alt.org.spdx.until.date_20150513' =>
867             'GNU General Public License v2.0 w/Font exception',
868             'caption.alt.org.spdx.since.date_20150513' => 'Font exception 2.0',
869             'caption.alt.org.wikidata' => 'GPL font exception',
870             tags => [
871             'family:gnu:gpl',
872             'type:trait:exception',
873             ],
874              
875             'pat.alt.subject.trait.scope.sentence' =>
876             'if you create a document which uses this font, ',
877             'pat.alt.subject.trait.scope.multisection.part.all' =>
878             'if you create a document which uses this font, '
879             . 'and embed this font or unaltered portions of this font into the document, '
880             . 'this font does not by itself cause the resulting document '
881             . 'to be covered by the GNU General Public License' . '[. ]'
882             . 'This exception does not however invalidate any other reasons why '
883             . 'the document might be covered by the GNU General Public License'
884             . '[. ]'
885             . 'If you modify this font, '
886             . 'you may extend this exception to your version of the font, '
887             . 'but you are not obligated to do so' . '[. ]'
888             . 'If you do not wish to do so, delete this exception statement from your version[.]',
889             };
890              
891             =item * except_gcc_2
892              
893             I
894              
895             =item * except_gcc_3_1
896              
897             I
898              
899             =cut
900              
901             $RE{except_gcc_2} = {
902             name => 'GCC-exception-2.0',
903             'name.alt.org.spdx.until.date_20150513' => 'GPL-2.0-with-GCC-exception',
904             'name.alt.org.spdx.since.date_20150513' => 'GCC-exception-2.0',
905             'name.alt.org.wikidata.synth.nogrant' => 'Q89706542',
906             caption => 'GCC Runtime Library exception 2.0',
907             'caption.alt.org.spdx.until.date_20150513' =>
908             'GNU General Public License v2.0 w/GCC Runtime Library exception',
909             'caption.alt.org.spdx.since.date_20150513' =>
910             'GCC Runtime Library exception 2.0',
911             'caption.alt.org.wikidata' =>
912             'GNU General Public License, version 2.0 or later with library exception',
913             tags => [
914             'family:gnu:gpl',
915             'type:trait:exception',
916             ],
917              
918             'pat.alt.subject.trait.scope.sentence' =>
919             'the Free Software Foundation gives you unlimited permission '
920             . 'to link the compiled version of this file into combinations with other programs',
921             };
922              
923             $RE{except_gcc_3_1} = {
924             name => 'GCC-exception-3.1',
925             'name.alt.org.spdx.until.date_20150513' => 'GPL-3.0-with-GCC-exception',
926             'name.alt.org.spdx.since.date_20150513' => 'GCC-exception-3.1',
927             caption => 'GCC Runtime Library exception 3.1',
928             'caption.alt.org.spdx.until.date_20150513' =>
929             'GNU General Public License v3.0 w/GCC Runtime Library exception',
930             'caption.alt.org.spdx.since.date_20150513' =>
931             'GCC Runtime Library exception 3.1',
932             tags => [
933             'family:gnu:gpl',
934             'type:trait:exception',
935             ],
936              
937             'pat.alt.subject.trait.scope.sentence' =>
938             'You have permission to propagate a work of Target Code formed',
939             };
940              
941             =item * except_gstreamer
942              
943             =cut
944              
945             $RE{except_gstreamer} = {
946             name => 'GStreamer',
947             caption => 'GStreamer exception',
948             tags => [
949             'family:gnu:gpl',
950             'type:trait:exception',
951             ],
952              
953             'pat.alt.subject.trait.scope.multisection.part.all' =>
954             'The[ word]{1,3} project hereby grant permission '
955             . 'for non-gpl compatible GStreamer plugins '
956             . 'to be used and distributed together with GStreamer and[ word]{1,3}[. ]'
957             . 'This permission are above and beyond '
958             . 'the permissions granted by the GPL license[ word]{1,3} is covered by[.]',
959             };
960              
961             =item * except_libtool
962              
963             =cut
964              
965             $RE{except_libtool} = {
966             name => 'Libtool-exception',
967             'name.alt.org.debian' => 'Libtool',
968             'name.alt.org.spdx.since.date_20150730' => 'Libtool-exception',
969             caption => 'Libtool Exception',
970             tags => [
971             'family:gnu:gpl',
972             'type:trait:exception',
973             ],
974              
975             'pat.alt.subject.trait.scope.sentence' =>
976             'if you distribute this file as part of a program or library '
977             . 'that is built using GNU Libtool, '
978             . 'you may include this file under the same distribution terms '
979             . 'that you use for the rest of that program[.]',
980             };
981              
982             =item * except_mif
983              
984             =cut
985              
986             $RE{except_mif} = {
987             name => 'mif-exception',
988             'name.alt.org.debian' => 'mif',
989             'name.alt.org.spdx.since.date_20150730' => 'mif-exception',
990             caption => 'Macros and Inline Functions Exception',
991             tags => [
992             'family:gnu:gpl',
993             'type:trait:exception',
994             ],
995              
996             'pat.alt.subject.trait.scope.multisection.part.first' =>
997             'you may use this file '
998             . 'as part of a free software library without restriction[. ]'
999             . 'Specifically, if other files instantiate templates ',
1000             'pat.alt.subject.trait.scope.multisection.part.all' =>
1001             'you may use this file '
1002             . 'as part of a free software library without restriction[. ]'
1003             . 'Specifically, if other files instantiate templates '
1004             . 'or use macros or inline functions from this file, '
1005             . 'or you compile this file and link it with other files '
1006             . 'to produce an executable, '
1007             . 'this file does not by itself cause the resulting executable '
1008             . 'to be covered by the GNU General Public License[. ]'
1009             . 'This exception does not however invalidate any other reasons '
1010             . 'why the executable file might be covered '
1011             . 'by the GNU General Public License[.]',
1012             };
1013              
1014             =item * except_openssl
1015              
1016             I
1017              
1018             =cut
1019              
1020             $RE{except_openssl} = {
1021             name => 'OpenSSL-exception',
1022             'name.alt.org.debian' => 'OpenSSL',
1023             caption => 'OpenSSL exception',
1024             tags => [
1025             'family:gnu',
1026             'type:trait:exception',
1027             ],
1028              
1029             'pat.alt.subject.trait.scope.sentence' =>
1030             'SSLeay licenses, (?:the (?:author|copyright holder|licensors|Free Software)|you are granted)',
1031             'pat.alt.subject.trait.scope.multisection.part.all' =>
1032             'If you modify (?:the|this) program, or any covered work, '
1033             . 'by linking or combining it '
1034             . 'with the OpenSSL project[\']s ["]OpenSSL["] library '
1035             . '[(]or a modified version of that library[)], '
1036             . 'containing parts covered '
1037             . 'by the terms of the OpenSSL or SSLeay licenses, '
1038             . '(?:the authors of[ word]{1,8} grant you'
1039             . '|the (?:copyright holder|licensors|Free Software Foundation) grants? you'
1040             . '|you are granted) '
1041             . 'additional permission to convey the resulting work[. ]'
1042             . 'Corresponding Source for a non-source form '
1043             . 'of such a combination '
1044             . 'shall include the source code for the parts of OpenSSL used '
1045             . 'as well as that of the covered work[.]'
1046             };
1047              
1048             =item * except_ocaml-lgpl
1049              
1050             =cut
1051              
1052             $RE{except_ocaml_lgpl} = {
1053             name => 'OCaml-LGPL-linking-exception',
1054             'name.alt.org.debian' => 'OCaml-LGPL-linking',
1055             caption => 'OCaml LGPL Linking Exception',
1056             tags => [
1057             'family:gnu:lgpl',
1058             'type:trait:exception',
1059             ],
1060              
1061             'pat.alt.subject.trait.scope.multisection.part.all' =>
1062             'you may link, statically or dynamically, '
1063             . 'a ["]work that uses the Library["] '
1064             . 'with a publicly distributed version of the Library '
1065             . 'to produce an executable file '
1066             . 'containing portions of the Library, '
1067             . 'and distribute that executable file '
1068             . 'under terms of your choice, '
1069             . 'without any of the additional requirements '
1070             . 'listed in clause 6 of the GNU Library General Public License[.]',
1071             };
1072              
1073             =item * except_openssl-lgpl
1074              
1075             I
1076              
1077             =item * except_openssl_s3
1078              
1079             I
1080              
1081             =cut
1082              
1083             $RE{except_openssl_lgpl} = {
1084             name => 'OpenSSL~LGPL-exception',
1085             'name.alt.org.debian' => 'OpenSSL~LGPL',
1086             caption => 'OpenSSL~LGPL exception',
1087             tags => [
1088             'family:gnu:lgpl',
1089             'type:trait:exception',
1090             ],
1091              
1092             'pat.alt.subject.trait.scope.multisection.part.all' =>
1093             'the copyright holders give permission '
1094             . 'to link the code of portions of this program '
1095             . 'with the OpenSSL library '
1096             . 'under certain conditions as described '
1097             . 'in each individual source file, '
1098             . 'and distribute linked combinations including the two[.][ ]'
1099             . 'You must obey the GNU Lesser General Public License '
1100             . 'in all respects '
1101             . 'for all of the code used other than OpenSSL[.]'
1102             };
1103              
1104             $RE{except_openssl_s3} = {
1105             name => 'OpenSSL~s3-exception',
1106             'name.alt.org.debian' => 'OpenSSL~s3',
1107             caption => 'OpenSSL~s3 exception',
1108             tags => [
1109             'family:gnu',
1110             'type:trait:exception',
1111             ],
1112              
1113             'pat.alt.subject.trait.scope.sentence' =>
1114             'link the code of this library and its programs with the OpenSSL library',
1115             'pat.alt.subject.trait.scope.multisection.part.all' =>
1116             'the copyright holders give permission '
1117             . 'to link the code of portions of this program '
1118             . 'with the OpenSSL project[\']s ["]OpenSSL["] library '
1119             . '[(]or with modified versions of it '
1120             . 'that use the same license as the ["]OpenSSL["] library'
1121             . '[ - ]see [http://]www.openssl.org/[)], '
1122             . 'and distribute linked combinations including the two[.]'
1123             };
1124              
1125             =item * except_prefix_agpl
1126              
1127             I
1128              
1129             =item * except_prefix_generic
1130              
1131             I
1132              
1133             =item * except_prefix_gpl
1134              
1135             I
1136              
1137             =item * except_prefix_gpl_clisp
1138              
1139             I
1140              
1141             =item * except_prefix_lgpl
1142              
1143             I
1144              
1145             =cut
1146              
1147             $RE{except_prefix_agpl} = {
1148             caption => 'AGPL exception prefix',
1149             tags => [
1150             'family:gnu:agpl',
1151             'type:trait:exception:prefix',
1152             ],
1153              
1154             'pat.alt.subject.trait.target.generic' =>
1155             'In addition to the permissions in the GNU General Public License, ',
1156             'pat.alt.subject.trait.target.agpl_3' => 'Additional permissions? under '
1157             . "$the?(?:GNU )?A(?:ffero )?GPL(?: version 3|v3) section 7"
1158             };
1159              
1160             $RE{except_prefix_generic} = {
1161             caption => 'generic exception prefix',
1162             tags => [
1163             'type:trait:exception:prefix',
1164             ],
1165              
1166             'pat.alt.subject.trait.scope.sentence' =>
1167             '(?:In addition, as a special exception, '
1168             . '|As a special exception, )',
1169             'pat.alt.subject.trait.scope.paragraph' =>
1170             '(?:In addition, as a special exception, '
1171             . '|(?:Exception [*)]FIXME[ ])?'
1172             . 'As a special exception, '
1173             . '|Grant of Additional Permission[. ])',
1174             };
1175              
1176             $RE{except_prefix_gpl} = {
1177             caption => 'GPL exception prefix',
1178             tags => [
1179             'family:gnu:gpl',
1180             'type:trait:exception:prefix',
1181             ],
1182              
1183             'pat.alt.subject.trait.target.generic' =>
1184             'In addition to the permissions in the GNU General Public License, ',
1185             'pat.alt.subject.trait.target.gpl_3' =>
1186             '(?:the file is governed by GPLv3 along with this Exception'
1187             . '|Additional permissions? under '
1188             . "$the?(?:GNU )?GPL(?: version 3|v3) section 7)"
1189             };
1190              
1191             $RE{except_prefix_gpl_clisp} = {
1192             caption => 'CLISP exception prefix',
1193             tags => [
1194             'family:gnu:gpl',
1195             'type:trait:exception:prefix',
1196             ],
1197              
1198             'pat.alt.subject.trait.scope.sentence' => 'Note[:"][ ]'
1199             . 'This copyright does NOT cover user programs '
1200             . 'that run in CLISP and third-party packages not part of CLISP, '
1201             . "if [*)]$clisp_they_only_ref_clisp, "
1202             . '[ie] if they don[\']t rely on CLISP internals '
1203             . 'and would as well run in any other Common Lisp implementation[. ]'
1204             . "Or [*)]$clisp_they_only_ref_clisp "
1205             . 'and some external, not CLISP specific, symbols '
1206             . 'in third[-]party packages '
1207             . 'that are released with source code under a GPL compatible license '
1208             . 'and that run in a great number of Common Lisp implementations, '
1209             . '[ie] if they rely on CLISP internals only to the extent needed '
1210             . 'for gaining some functionality also available '
1211             . 'in a great number of Common Lisp implementations[. ]'
1212             . 'Such user programs are not covered '
1213             . 'by the term ["]derived work["] used in the GNU GPL[. ]'
1214             . 'Neither is their compiled code, '
1215             . '[ie] the result of compiling them '
1216             . 'by use of the function COMPILE-FILE[. ]'
1217             . 'We refer to such user programs '
1218             . 'as ["]independent work["][.][ ]',
1219             };
1220              
1221             $RE{except_prefix_lgpl} = {
1222             caption => 'LGPL exception prefix',
1223             tags => [
1224             'family:gnu:lgpl',
1225             'type:trait:exception:prefix',
1226             ],
1227              
1228             'pat.alt.subject.trait.scope.sentence' =>
1229             'In addition to the permissions in '
1230             . 'the GNU (?:Lesser|Library) General Public License, '
1231             };
1232              
1233             =item * except_proguard
1234              
1235             I
1236              
1237             =cut
1238              
1239             $RE{except_proguard} = {
1240             name => 'Proguard',
1241             caption => 'Proguard exception',
1242             tags => [
1243             'family:gnu:gpl',
1244             'type:trait:exception',
1245             ],
1246              
1247             'pat.alt.subject.trait.scope.sentence' =>
1248             'this program with the following stand-alone applications',
1249             'pat.alt.subject.trait.scope.multisection.part.part1' =>
1250             '(?:Eric Lafortune|Guardsquare NV) gives permission '
1251             . 'to link the code of this program '
1252             . 'with the following stand[-]alone applications[:]?'
1253             };
1254              
1255             =item * except_qt_gpl_1
1256              
1257             I
1258              
1259             =item * except_qt_gpl_eclipse
1260              
1261             I
1262              
1263             =item * except_qt_gpl_openssl
1264              
1265             I
1266              
1267             =cut
1268              
1269             $RE{except_qt_gpl_1} = {
1270             name => 'Qt-GPL-exception-1.0',
1271             'name.alt.org.debian' => 'Qt-GPL-1.0',
1272             caption => 'Qt GPL exception 1.0',
1273             tags => [
1274             'family:gnu:gpl',
1275             'type:trait:exception',
1276             ],
1277              
1278             'pat.alt.subject.trait.scope.sentence.part.part1' =>
1279             'you may create a larger work which contains '
1280             . 'the output of this application '
1281             . 'and distribute that work under terms of your choice, '
1282             . 'so long as the work is not otherwise derived from or based on this application '
1283             . 'and so long as the work does not in itself generate output '
1284             . 'that contains the output from this application in its original or modified form',
1285             'pat.alt.subject.trait.scope.paragraph.part.part2' =>
1286             'you have permission to combine this application with Plugins '
1287             . 'licensed under the terms of your choice, '
1288             . 'to produce an executable, and to copy and distribute the resulting executable '
1289             . 'under the terms of your choice[. ]'
1290             . 'However, the executable must be accompanied by a prominent notice '
1291             . 'offering all users of the executable the entire source code to this application, '
1292             . 'excluding the source code of the independent modules, '
1293             . 'but including any changes you have made to this application, '
1294             . 'under the terms of this license[.]',
1295             };
1296              
1297             $RE{except_qt_gpl_eclipse} = {
1298             name => 'Qt-GPL-Eclipse',
1299             caption => 'Qt GPL Eclipse exception',
1300             tags => [
1301             'family:gnu:gpl',
1302             'type:trait:exception',
1303             ],
1304              
1305             'pat.alt.subject.trait.scope.sentence' =>
1306             'Qt Designer, grants users of the Qt/Eclipse',
1307             'pat.alt.subject.trait.scope.paragraph.part.part1' =>
1308             'Trolltech, as the sole copyright holder for Qt Designer, '
1309             . 'grants users of the Qt[/]Eclipse Integration plug-in '
1310             . 'the right for the Qt[/]Eclipse Integration to link '
1311             . 'to functionality provided by Qt Designer '
1312             . 'and its related libraries[.][ ]'
1313             };
1314              
1315             $RE{except_qt_gpl_openssl} = {
1316             name => 'Qt-GPL-OpenSSL',
1317             caption => 'Qt GPL OpenSSL exception',
1318             tags => [
1319             'family:gnu:gpl',
1320             'type:trait:exception',
1321             ],
1322              
1323             'pat.alt.subject.trait.scope.sentence' =>
1324             'its release of Qt with the OpenSSL',
1325             'pat.alt.subject.trait.scope.paragraph.part.part1' =>
1326             'Nokia gives permission to link the code of its release of Qt '
1327             . 'with the OpenSSL project[\']s ["]OpenSSL["] library '
1328             . '[(]or modified versions of the ["]OpenSSL["] library '
1329             . 'that use the same license as the original version[)], '
1330             . 'and distribute the linked executables[.][ ]',
1331             'pat.alt.subject.trait.scope.paragraph.part.part2' =>
1332             ' You must comply with the GNU General Public License version 2 '
1333             . 'in all respects for all of the code used '
1334             . 'other than the ["]OpenSSL["] code[. ]'
1335             . 'If you modify this file, '
1336             . 'you may extend this exception to your version of the file, '
1337             . 'but you are not obligated to do so[. ]'
1338             . 'If you do not wish to do so, '
1339             . 'delete this exception statement '
1340             . 'from your version of this file[.]'
1341             };
1342              
1343             =item * except_qt_kernel
1344              
1345             I
1346              
1347             =cut
1348              
1349             $RE{except_qt_kernel} = {
1350             name => 'Qt-kernel',
1351             caption => 'Qt-kernel exception',
1352             tags => [
1353             'family:gnu',
1354             'type:trait:exception',
1355             ],
1356              
1357             'pat.alt.subject.trait.scope.sentence' =>
1358             'Permission is also granted to link this program with the Qt library, '
1359             . 'treating Qt like a library that normally accompanies the operating system kernel, '
1360             . 'whether or not that is in fact the case',
1361             };
1362              
1363             =item * except_qt_lgpl_1_1
1364              
1365             I
1366              
1367             =cut
1368              
1369             $RE{except_qt_lgpl_1_1} = {
1370             name => 'Qt-LGPL-exception-1.1',
1371             'name.alt.org.debian' => 'Qt-LGPL-1.1',
1372             caption => 'Qt LGPL exception 1.1',
1373             tags => [
1374             'family:gnu:lgpl',
1375             'type:trait:exception',
1376             ],
1377              
1378             'pat.alt.subject.trait.type.reference' =>
1379             '(?:Digia|Nokia|The Qt Company) gives you certain',
1380             'pat.alt.subject.trait.scope.sentence.type.reference' =>
1381             '(?:Digia|Nokia|The Qt Company) gives you certain additional rights[. ]'
1382             . 'These rights are described '
1383             . 'in The (?:Digia Qt|Nokia Qt|Qt Company) LGPL Exception version 1\.1, '
1384             . 'included in the file [word] in this package'
1385             };
1386              
1387             =item * except_qt_nosource
1388              
1389             I
1390              
1391             =cut
1392              
1393             $RE{except_qt_nosource} = {
1394             name => 'Qt-no-source',
1395             caption => 'Qt-no-source exception',
1396             tags => [
1397             'family:gnu',
1398             'type:trait:exception',
1399             ],
1400              
1401             'pat.alt.subject.trait.scope.sentence' =>
1402             'permission is given to link this program with any edition of Qt, '
1403             . 'and distribute the resulting executable, '
1404             . 'without including the source code for Qt in the source distribution',
1405             };
1406              
1407             =item * except_sdc
1408              
1409             I
1410              
1411             =cut
1412              
1413             $RE{except_sdc} = {
1414             name => 'SDC',
1415             caption => 'SDC exception',
1416             tags => [
1417             'family:gnu:lgpl',
1418             'type:trait:exception',
1419             ],
1420              
1421             'pat.alt.subject.trait.scope.sentence' =>
1422             'you may create a larger work that contains '
1423             . 'code generated by the Shared Data Compiler',
1424             'pat.alt.subject.trait.scope.multisection.part.part1' =>
1425             'you may create a larger work that contains '
1426             . 'code generated by the Shared Data Compiler'
1427             . 'and distribute that work under terms of '
1428             . 'the GNU Lesser General Public License [(]LGPL[)]'
1429             . 'by the Free Software Foundation; '
1430             . 'either version 2\.1 of the License, '
1431             . 'or [(]at your option[)] any later version '
1432             . 'or under terms that are fully compatible with these licenses[.][ ]',
1433             'pat.alt.subject.trait.scope.multisection.part.part2' =>
1434             'Alternatively, if you modify or redistribute '
1435             . 'the Shared Data Compiler tool itself, '
1436             . 'you may [(]at your option[)] remove this special exception, '
1437             . 'which will cause the resulting generted source code files '
1438             . 'to be licensed under the GNU General Public License '
1439             . '[(]either version 2 of the License, '
1440             . 'or at your option under any later version[)] '
1441             . 'without this special exception[.][ ]',
1442             'pat.alt.subject.trait.scope.multisection.part.part3' =>
1443             'This special exception was added by Jaros[l-]aw Staniek[. ]'
1444             . 'Contact him for more licensing options, '
1445             . '[eg] using in non-Open Source projects[.]',
1446             };
1447              
1448             =item * except_sollya_4_1
1449              
1450             I
1451              
1452             =cut
1453              
1454             $RE{except_sollya_4_1} = {
1455             name => 'Sollya-exception-4.1',
1456             'name.alt.org.debian' => 'Sollya-4.1',
1457             caption => 'Sollya exception 4.1',
1458             tags => [
1459             'family:cecill',
1460             'type:trait:exception',
1461             ],
1462              
1463             'pat.alt.subject.trait.scope.sentence' =>
1464             'you may create a larger work that contains '
1465             . 'part or all of this software generated using Sollya',
1466             'pat.alt.subject.trait.scope.multisection.part.part1' =>
1467             'you may create a larger work that contains '
1468             . 'part or all of this software generated using Sollya'
1469             . 'and distribute that work under terms of your choice, '
1470             . 'so long as that work isn[\']t itself a numerical code generator '
1471             . 'using the skeleton of this code or a modified version thereof '
1472             . 'as a code skeleton[.]'
1473             . 'Alternatively, if you modify or redistribute this code itself, '
1474             . 'or its skeleton, '
1475             . 'you may [(]at your option[)] remove this special exception, '
1476             . 'which will cause this generated code and its skeleton '
1477             . 'and the resulting Sollya output files'
1478             . 'to be licensed under the CeCILL-C License '
1479             . 'without this special exception[.][ ]',
1480             'pat.alt.subject.trait.scope.multisection.part.part2' =>
1481             'This special exception was added by the Sollya copyright holders '
1482             . 'in version 4\.1 of Sollya[.]'
1483             };
1484              
1485             =item * except_warzone
1486              
1487             I
1488              
1489             =cut
1490              
1491             $RE{except_warzone} = {
1492             name => 'Warzone',
1493             caption => 'Warzone exception',
1494             tags => [
1495             'family:gnu:gpl',
1496             'type:trait:exception',
1497             ],
1498              
1499             'pat.alt.subject.trait.scope.sentence' =>
1500             'the copyright holders of Warzone 2100 '
1501             . 'give you permission to combine',
1502             'pat.alt.subject.trait.scope.multisection.part.part1' =>
1503             'the copyright holders of Warzone 2100 '
1504             . 'give you permission to combine Warzone 2100 '
1505             . 'with code included in the standard release of libraries '
1506             . 'that are accessible, redistributable and linkable '
1507             . 'free of charge[. ]'
1508             . 'You may copy and distribute such a system '
1509             . 'following the terms of the GNU GPL '
1510             . 'for Warzone 2100 '
1511             . 'and the licenses of the other code concerned[.][ ]',
1512             'pat.alt.subject.trait.scope.multisection.part.part2' =>
1513             'Note that people who make modified versions of Warzone 2100 '
1514             . 'are not obligated to grant this special exception '
1515             . 'for their modified versions; '
1516             . 'it is their choice whether to do so[. ]'
1517             . 'The GNU General Public License gives permission '
1518             . 'to release a modified version without this exception; '
1519             . 'this exception also makes it possible '
1520             . 'to release a modified version '
1521             . 'which carries forward this exception[.]'
1522             };
1523              
1524             =item * except_wxwindows
1525              
1526             I
1527              
1528             =cut
1529              
1530             $RE{except_wxwindows} = {
1531             name => 'WxWindows-exception-3.1',
1532             'name.alt.org.debian' => 'WxWindows-3.1',
1533             'name.alt.org.osi' => 'WXwindows',
1534             'name.alt.org.osi.iri.stem.until.date_20110430' => 'wxwindows',
1535             'name.alt.org.spdx.until.date_20150513' => 'WXwindows',
1536             'name.alt.org.spdx.since.date_20150513' => 'WxWindows-exception-3.1',
1537             'name.alt.org.wikidata.synth.nogrant' => 'Q38347878',
1538             caption => 'WxWindows Library Exception 3.1',
1539             'caption.alt.org.osi' => 'The wxWindows Library Licence',
1540             'caption.alt.org.osi.misc.list' => 'wxWindows Library License',
1541             'caption.alt.org.spdx.until.date_20150513' => 'wxWindows Library License',
1542             'caption.alt.org.spdx.since.date_20150513' =>
1543             'WxWindows Library Exception 3.1',
1544             'caption.alt.org.tldr' => 'wxWindows Library License (WXwindows)',
1545             'caption.alt.org.wikidata' => 'wxWindows Library License',
1546             tags => [
1547             'family:gnu:gpl',
1548             'type:trait:exception',
1549             ],
1550              
1551             'pat.alt.subject.trait.scope.sentence' =>
1552             'the copyright holders of this library give permission '
1553             . 'for additional uses of the text '
1554             . 'contained in this release of the library '
1555             . 'as licenced under the wxWindows Library Licence',
1556             'pat.alt.subject.trait.scope.multisection.part.part1' =>
1557             'the copyright holders of this library give permission '
1558             . 'for additional uses of the text '
1559             . 'contained in this release of the library '
1560             . 'as licenced under the wxWindows Library Licence, '
1561             . 'applying either version 3\.1 of the Licence, '
1562             . 'or [(]at your option[)] any later version of the Licence '
1563             . 'as published by the copyright holders '
1564             . 'of version 3\.1 of the Licence document[.][ ]',
1565             'pat.alt.subject.trait.scope.multisection.part.part2' =>
1566             '[*)]The exception is that you may use, copy, link, modify and distribute '
1567             . 'under your own terms, '
1568             . 'binary object code versions of works based on the Library[.][ ]',
1569             'pat.alt.subject.trait.scope.multisection.part.part3' =>
1570             '[*)]If you copy code from files '
1571             . 'distributed under the terms of the GNU General Public Licence '
1572             . 'or the GNU Library General Public Licence '
1573             . 'into a copy of this library, as this licence permits, '
1574             . 'the exception does not apply to the code that you add in this way[. ]'
1575             . 'To avoid misleading anyone as to the status of such modified files, '
1576             . 'you must delete this exception notice from such code '
1577             . 'and[/]or adjust the licensing conditions notice accordingly[.][ ]',
1578             'pat.alt.subject.trait.scope.multisection.part.part4' =>
1579             '[*)]If you write modifications of your own for this library, '
1580             . 'it is your choice whether to permit this exception '
1581             . 'to apply to your modifications[. ]'
1582             . 'If you do not wish that, '
1583             . 'you must delete the exception notice from such code '
1584             . 'and[/]or adjust the licensing conditions notice accordingly[.]',
1585             };
1586              
1587             =item * except_xerces
1588              
1589             I
1590              
1591             =cut
1592              
1593             $RE{except_xerces} = {
1594             name => 'Xerces-exception',
1595             'name.alt.org.debian' => 'Xerces',
1596             caption => 'Xerces exception',
1597             tags => [
1598             'family:gnu:gpl',
1599             'type:trait:exception',
1600             ],
1601              
1602             'pat.alt.subject.trait.scope.sentence' =>
1603             'Code Synthesis Tools CC gives permission '
1604             . 'to link this program with the Xerces-C\+\+ library ',
1605             'pat.alt.subject.trait.scope.multisection.part.part1' =>
1606             'Code Synthesis Tools CC gives permission '
1607             . 'to link this program with the Xerces-C\+\+ library '
1608             . '[(]or with modified versions of Xerces-C\+\+ '
1609             . 'that use the same license as Xerces-C\+\+[)], '
1610             . 'and distribute linked combinations including the two[. ]'
1611             . 'You must obey the GNU General Public License version 2 '
1612             . 'in all respects '
1613             . 'for all of the code used other than Xerces-C\+\+[. ]'
1614             . 'If you modify this copy of the program, '
1615             . 'you may extend this exception '
1616             . 'to your version of the program, '
1617             . 'but you are not obligated to do so[. ]'
1618             . 'If you do not wish to do so, '
1619             . 'delete this exception statement from your version[.][ ]',
1620             'pat.alt.subject.trait.scope.multisection.part.part2' =>
1621             'Furthermore, Code Synthesis Tools CC makes a special exception '
1622             . 'for the Free[/]Libre and Open Source Software [(]FLOSS[)] '
1623             . 'which is described in the accompanying FLOSSE file[. ]'
1624             };
1625              
1626             =item * fsf_unlimited
1627              
1628             =item * fsf_unlimited_retention
1629              
1630             =cut
1631              
1632             $RE{fsf_unlimited} = {
1633             tags => [
1634             'type:trait',
1635             ],
1636              
1637             'pat.alt.subject.trait.scope.sentence' => $fsf_ul,
1638             };
1639              
1640             $RE{fsf_unlimited_retention} = {
1641             tags => [
1642             'type:trait',
1643             ],
1644              
1645             'pat.alt.subject.trait.scope.sentence' => $fsf_ullr,
1646             };
1647              
1648             =item * generated
1649              
1650             I
1651              
1652             =cut
1653              
1654             $RE{generated} = {
1655             name => 'generated',
1656             caption => 'generated file',
1657             tags => [
1658             'type:trait:flaw',
1659             ],
1660              
1661             '_pat.alt.subject.trait.scope.sentence' => [
1662             'this is (?:a )?generated (?:file|manifest)',
1663             'This file (?:has been|is|was) (?:[*]{1,3})?(?:auto(?:matically |[-])|tool[-])?generated(?:[*]{1,3})?',
1664             'All changes made in this file will be lost',
1665             'generated file(?:[.] |[ - ])do not (?:edit|modify)[!.]',
1666             'DO NOT (?:EDIT|MODIFY) THIS FILE',
1667             'generated by[ word](?: [(][word][ word]{0,2}[)])?[ ]'
1668             . '(?:Please )?DO NOT delete this file[!]',
1669              
1670             # weak, but seems to catch no false positives at end of line
1671             'Generated by running[:]$',
1672              
1673             # too weak: does not mention file explicitly, so may reflect only a subset
1674             # 'Generated (?:automatically|by|from|data|with)',
1675             # 'generated (?:by|from|using)(?: the)?[ word]{1,2}(?: compiler)?[. ]'
1676             # . '(please )?Do not (edit|modify)',
1677             # 'Machine generated[. ](please )?Do not (edit|modify)',
1678             # 'Do not (edit|modify)[. ]Generated (?:by|from|using)',
1679             # '(?:created with|trained by)[ word][. ](please )?Do not edit',
1680             ],
1681             '_pat.alt.subject.trait.scope.sentence.target.autotools' => [
1682             'Makefile\.in generated by automake [#.]+ from Makefile\.am[.]',
1683             'generated automatically by aclocal [#.]+ -\*?- Autoconf',
1684             'Generated(?: from[ word])? by GNU Autoconf',
1685             '(?:Attempt to guess a canonical system name|Configuration validation subroutine script)[. ]'
1686             . 'Copyright[c] [#-,]+Free Software Foundation',
1687             'Calling this script install[-]sh is preferred over install[.]sh, to prevent',
1688             'depcomp - compile a program generating dependencies as side-effects[ ]'
1689             . 'scriptversion',
1690             'Common wrapper for a few potentially missing GNU programs[.][ ]'
1691             . 'scriptversion',
1692             'DO NOT EDIT[!] GENERATED AUTOMATICALLY[!][ ]'
1693             . 'Process this file with automake to produce Makefile\.in',
1694             'This file is maintained in Automake, ',
1695             ],
1696             };
1697              
1698             =item * license_label
1699              
1700             =item * license_label_spdx
1701              
1702             I
1703              
1704             =item * license_label_trove
1705              
1706             I
1707              
1708             =cut
1709              
1710             $RE{license_label} = {
1711             caption => 'license grant "License:" phrase',
1712             tags => [
1713             'type:trait:grant:prefix',
1714             ],
1715              
1716             'pat.alt.subject.trait' => '(?P<_license_label>[Ll]i[cz]en[scz]e) ?[:"]',
1717             };
1718              
1719             $RE{license_label_spdx} = {
1720             caption => 'license grant "SPDX-License-Identifier:" phrase',
1721             tags => [
1722             'type:trait:grant:prefix',
1723             ],
1724              
1725             'pat.alt.subject.trait' =>
1726             '(?P<_license_label_spdx>SPDX[-]License[-]Identifier[:] )',
1727             };
1728              
1729             $RE{license_label_trove} = {
1730             caption => 'license grant "License:" phrase',
1731             tags => [
1732             'type:trait:grant:prefix',
1733             ],
1734              
1735             'pat.alt.subject.trait' =>
1736             '(?P<_license_label_trove>License(?: ::)? OSI Approved(?: ::)? )',
1737             };
1738              
1739             =item * licensed_under
1740              
1741             I
1742              
1743             =cut
1744              
1745             $RE{licensed_under} = {
1746             caption => 'license grant "licensed under" phrase',
1747             tags => [
1748             'type:trait:grant:prefix',
1749             ],
1750              
1751             'pat.alt.subject.trait' => '(?P<_licensed_under>'
1752             . '(?:(?:[Ll]icen[sc]ed(?: for use)?|available|[Dd]istribut(?:able|ed)|[Ff]or distribution|permitted|provided|[Pp]ublished|[Rr]eleased) under'
1753             . '|[Ll]icen[sc]ed using'
1754             . '|(?:in form of source code|may be copied|placed their code|to [Yy]ou) under'
1755             . '|(?:[Tt]his|[Mm]y) (?:software|file|work) is under' # vague preposition prepended by object
1756             . '|(?:are|is) release under' # vague preposition prepended by verb and vague object/action
1757             . '|which I release under' # vague preposition prepended by actor and vague action
1758             . '|distribute(?: it)?(?: and[/]or modify)? it under' # vague preposition prepended by action and vague object
1759             . '|(?:according|[Ss]ubject) to|in accordance with'
1760             . '|[Ss]ubject to'
1761             . '|(?:[Cc]overed|governed) by)'
1762             . '(?: (?:either )?(?:the )?(?:conditions|terms(?: and conditions)?|provisions) (?:described in|of))?' # terms optionally appended
1763             . '|[Uu]nder (?:either )?(?:the )?(?:terms|(?:terms and )?conditions) (?:described in|of)(?: either)?' # vague preposition + terms
1764             . ')[:]? ',
1765             };
1766              
1767             =item * usage_rfn
1768              
1769             I
1770              
1771             =cut
1772              
1773             $RE{usage_rfn} = {
1774             caption => 'license usage "with Reserved Font Name" phrase',
1775             tags => [
1776             'type:trait:usage:rfn',
1777             ],
1778              
1779             'pat.alt.subject.trait' => '(?P<_usage_rfn>with Reserved Font Name)',
1780             };
1781              
1782             =item * version
1783              
1784             Optionally provides the following numbered and named captures:
1785              
1786             "Under GPL, v2 or later of the license."
1787             [ ] # -> $&
1788             I # -> $1, $-{version_number}
1789             [ ] # -> $2, $-{version_later}
1790              
1791             "Under version 2 or 3 only of the GPL."
1792             [ ] # -> $&
1793             I # -> $1, $-{version_number}
1794             I # -> $3, $-{version_number_2}
1795             [ ] # -> $4, $-{version_only}
1796             [] # -> $5, $-{version_of}
1797              
1798             I
1799              
1800             =cut
1801              
1802             $RE{version} = {
1803             tags => [
1804             'type:trait',
1805             ],
1806             };
1807              
1808             =item * version_later
1809              
1810             Optionally provides the following numbered and named captures:
1811              
1812             "Under GPLv2, or later of the license."
1813             [ ] # -> $&
1814             [ ] # -> $1, $-{version_later}
1815              
1816             I
1817              
1818             =cut
1819              
1820             $RE{version_later} = {
1821             caption => 'version "or later"',
1822             tags => [
1823             'type:trait',
1824             ],
1825              
1826             'pat.alt.subject.trait' =>
1827             '(?:[.]?[ ]|,? )?(?P(?:[(] ?)?(?:and|or)(?: '
1828             . $P{at_option}
1829             . ')?(?: any)? (?:later|above|newer|higher)(?: version)?(?: '
1830             . $P{at_option} . ')?)',
1831             };
1832              
1833             =item * version_numberstring
1834              
1835             Optionally provides the following numbered and named captures:
1836              
1837             "Under GPL, v2 or later of the license."
1838             [ ] # -> $&
1839             I # -> $1, $-{version_number}
1840              
1841             "Under version 2 or 3 only of the GPL."
1842             [ ] # -> $&
1843             I # -> $1, $-{version_number}
1844              
1845             I
1846             I
1847              
1848             =cut
1849              
1850             $RE{version_numberstring} = {
1851             caption => 'version numberstring',
1852             tags => [
1853             'type:trait',
1854             ],
1855             };
1856              
1857             =item * version_only
1858              
1859             Optionally provides the following numbered and named captures:
1860              
1861             "Under GPL version 2 only of the license."
1862             [ ] # -> $&
1863             [ ] # -> $1, $-{version_only}
1864              
1865             I
1866              
1867             =cut
1868              
1869             $RE{version_only} = {
1870             caption => 'version "only"',
1871             tags => [
1872             'type:trait',
1873             ],
1874              
1875             'pat.alt.subject.trait' =>
1876             ' ?(?P<_version_only>only|[(]no other versions?(?: is allowed)?!?[)])',
1877             };
1878              
1879             =item * version_prefix
1880              
1881             =cut
1882              
1883             $RE{version_prefix} = {
1884             caption => 'version prefix',
1885             tags => [
1886             'type:trait',
1887             ],
1888              
1889             'pat.alt.subject.trait.scope.line.scope.sentence' =>
1890             '(?:[-]|[;]? ?(?:only |either )?|[ - ])?[(]? ?'
1891             . $P{version_number_prefix},
1892             'pat.alt.subject.trait.scope.paragraph' => '[:]?[ ][(]? ?'
1893             . $P{version_number_prefix},
1894             'pat.alt.subject.trait' =>
1895             '(?:[-]|[;]? ?(?:either|only)? ?|[ - ]|[:]?[ ])?[(]? ?'
1896             . $P{version_number_prefix},
1897             };
1898              
1899             my $version_numberstring_suffix
1900             = '(?P'
1901             . $P{version_number} . ')'
1902             . $P{version_number_suffix};
1903             $RE{version_numberstring}{'pat.alt.subject.trait.scope.line.scope.sentence'}
1904             = $RE{version_prefix}{'pat.alt.subject.trait.scope.line.scope.sentence'}
1905             . $version_numberstring_suffix;
1906             $RE{version_numberstring}{'pat.alt.subject.trait.scope.paragraph'}
1907             = $RE{version_prefix}{'pat.alt.subject.trait.scope.paragraph'}
1908             . $version_numberstring_suffix;
1909             $RE{version_numberstring}{'pat.alt.subject.trait'}
1910             = $RE{version_prefix}{'pat.alt.subject.trait'}
1911             . $version_numberstring_suffix;
1912              
1913             my $version_suffix
1914             = '(?:'
1915             . $RE{version_later}{'pat.alt.subject.trait'} . '|'
1916             . $P{version_plural_infix}
1917             . $P{version_number_prefix}
1918             . '(?P'
1919             . $P{version_number} . ')'
1920             . $P{version_number_suffix} . '(?:'
1921             . $RE{version_only}{'pat.alt.subject.trait'} . ')?'
1922             . $P{version_plural_suffix}
1923             . ')?(?: ?[)])? ?(?P<_version_of>of\b)? ?';
1924             $RE{version}{'pat.alt.subject.trait.scope.line.scope.sentence'}
1925             = $RE{version_numberstring}
1926             {'pat.alt.subject.trait.scope.line.scope.sentence'} . $version_suffix;
1927             $RE{version}{'pat.alt.subject.trait.scope.paragraph'}
1928             = $RE{version_numberstring}{'pat.alt.subject.trait.scope.paragraph'}
1929             . $version_suffix;
1930             $RE{version}{'pat.alt.subject.trait'}
1931             = $RE{version_numberstring}{'pat.alt.subject.trait'} . $version_suffix;
1932              
1933             =back
1934              
1935             =head2 Single licenses
1936              
1937             Patterns each covering a single license.
1938              
1939             Each of these patterns has exactly one of these tags:
1940             B< type:unversioned >
1941             B< type:versioned:decimal >
1942             B< type:singleversion:* >
1943             B< type:usage:*:* >
1944             .
1945              
1946             =over
1947              
1948             =item * aal
1949              
1950             =cut
1951              
1952             $RE{aal} = {
1953             name => 'AAL',
1954             'name.alt.org.fedora' => 'AAL',
1955             'name.alt.org.osi' => 'AAL',
1956             'name.alt.org.osi.iri.stem.until.date_20110430.synth.nogrant' =>
1957             'attribution',
1958             'name.alt.org.spdx' => 'AAL',
1959             'name.alt.org.wikidata.synth.nogrant' => 'Q38364310',
1960             caption => 'Attribution Assurance License',
1961             'caption.alt.org.tldr' => 'Attribution Assurance License (AAL)',
1962             'caption.alt.org.trove' => 'Attribution Assurance License',
1963             tags => [
1964             'license:is:grant',
1965             'type:unversioned',
1966             ],
1967              
1968             'pat.alt.subject.license' =>
1969             'must prominently display this GPG-signed text',
1970             };
1971              
1972             =item * abstyles
1973              
1974             =cut
1975              
1976             $RE{abstyles} = {
1977             name => 'Abstyles',
1978             'name.alt.org.fedora.iri.self' => 'Abstyles',
1979             'name.alt.org.spdx.since.date_20140807' => 'Abstyles',
1980             caption => 'Abstyles License',
1981             'caption.alt.org.tldr' => 'Abstyles License',
1982             tags => [
1983             'license:is:grant',
1984             'type:unversioned',
1985             ],
1986              
1987             'pat.alt.subject.license' =>
1988             'Permission is granted to copy and distribute '
1989             . 'modified versions of this document '
1990             . 'under the conditions for verbatim copying, '
1991             . 'provided that the entire resulting derived work '
1992             . 'is distributed under the terms of a permission notice '
1993             . 'identical to this one[.]',
1994             };
1995              
1996             =item * adobe_2006
1997              
1998             =cut
1999              
2000             $RE{adobe_2006} = {
2001             name => 'Adobe-2006',
2002             'name.alt.misc.scancode' => 'adobe-scl',
2003             'name.alt.org.fedora.synth.nogrant' => 'Adobe',
2004             'name.alt.org.fedora.iri.self' => 'AdobeLicense',
2005             'name.alt.org.spdx.since.date_20140807' => 'Adobe-2006',
2006             'name.alt.org.tldr' =>
2007             'adobe-systems-incorporated-source-code-license-agreement',
2008             caption => 'Adobe Systems Incorporated Source Code License Agreement',
2009             'caption.alt.org.fedora.misc.web.synth.nogrant' => 'Adobe License',
2010             tags => [
2011             'license:is:grant',
2012             'type:unversioned',
2013             ],
2014              
2015             'pat.alt.subject.license' =>
2016             'You agree to indemnify, hold harmless and defend',
2017             };
2018              
2019             =item * adobe_glyph
2020              
2021             =cut
2022              
2023             $RE{adobe_glyph} = {
2024             name => 'Adobe-Glyph',
2025             'name.alt.org.fedora.iri.mit_short' => 'AdobeGlyph',
2026             'name.alt.org.spdx.since.date_20140807' => 'Adobe-Glyph',
2027             caption => 'Adobe Glyph List License',
2028             'caption.alt.org.tldr' => 'Adobe Glyph List License',
2029             'summary.alt.org.fedora.iri.mit' =>
2030             'MIT-style license, Adobe Glyph List Variant',
2031             tags => [
2032             'license:is:grant',
2033             'type:unversioned',
2034             ],
2035              
2036             'pat.alt.subject.license.scope.sentence' =>
2037             'and to permit others to do the same, provided that the derived work is not represented as being a copy',
2038             };
2039              
2040             =item * adsl
2041              
2042             =cut
2043              
2044             $RE{adsl} = {
2045             name => 'ADSL',
2046             'name.alt.org.fedora' => 'ADSL',
2047             'name.alt.org.fedora.iri.self' => 'AmazonDigitalServicesLicense',
2048             'name.alt.org.spdx.since.date_20140807' => 'ADSL',
2049             caption => 'Amazon Digital Services License',
2050             tags => [
2051             'license:is:grant',
2052             'type:unversioned',
2053             ],
2054              
2055             'pat.alt.subject.license.scope.sentence' =>
2056             'Your use of this software code is at your own risk '
2057             . 'and you waive any claim against Amazon Digital Services, Inc[.]',
2058             };
2059              
2060             =item * afl
2061              
2062             =item * afl_1_1
2063              
2064             I
2065              
2066             =item * afl_1_2
2067              
2068             I
2069              
2070             =item * afl_2
2071              
2072             I
2073              
2074             =item * afl_2_1
2075              
2076             I
2077              
2078             =item * afl_3
2079              
2080             I
2081              
2082             =cut
2083              
2084             my $termination_for_patent_including_counterclaim
2085             = '[*)]Termination for Patent Action[. ]'
2086             . 'This License shall terminate automatically '
2087             . 'and You may no longer exercise any of the rights '
2088             . 'granted to You by this License '
2089             . 'as of the date You commence an action, '
2090             . 'including a cross-claim or counterclaim,';
2091              
2092             $RE{afl} = {
2093             name => 'AFL',
2094             'name.alt.org.osi.iri.stem.until.date_20021204' => 'academic',
2095             'name.alt.org.wikidata.synth.nogrant' => 'Q337279',
2096             caption => 'Academic Free License',
2097             'caption.alt.org.trove' => 'Academic Free License (AFL)',
2098             'caption.alt.org.wikipedia' => 'Academic Free License',
2099             tags => [
2100             'type:versioned:decimal',
2101             ],
2102              
2103             # TODO: readd when children cover same region
2104             # 'pat.alt.subject.license.scope.line.scope.paragraph' =>
2105             # 'Exclusions [Ff]rom License Grant[. ]Neither',
2106             };
2107              
2108             $RE{afl_1_1} = {
2109             name => 'AFL-1.1',
2110             'name.alt.org.spdx' => 'AFL-1.1',
2111             'name.alt.misc.fossology_old' => 'AFL_v1.1',
2112             caption => 'Academic Free License v1.1',
2113             'caption.alt.misc.fossology_old' => 'AFL 1.1',
2114             tags => [
2115             'license:contains:grant',
2116             'type:singleversion:afl',
2117             ],
2118             licenseversion => '1.1',
2119              
2120             'pat.alt.subject.license' => 'The Academic Free License applies to',
2121             };
2122              
2123             $RE{afl_1_2} = {
2124             name => 'AFL-1.2',
2125             'name.alt.org.spdx' => 'AFL-1.2',
2126             'name.alt.misc.fossology_old' => 'AFL_v1.2',
2127             caption => 'Academic Free License v1.2',
2128             'caption.alt.misc.fossology_old' => 'AFL 1.2',
2129             tags => [
2130             'license:contains:grant',
2131             'type:singleversion:afl',
2132             ],
2133             licenseversion => '1.2',
2134              
2135             'pat.alt.subject.license' => 'This Academic Free License applies to',
2136             };
2137              
2138             $RE{afl_2} = {
2139             name => 'AFL-2.0',
2140             'name.alt.org.spdx' => 'AFL-2.0',
2141             'name.alt.misc.fossology_old' => 'AFL_v2.0',
2142             caption => 'Academic Free License v2.0',
2143             'caption.alt.misc.fossology_old' => 'AFL 2.0',
2144             tags => [
2145             'license:contains:grant',
2146             'type:singleversion:afl',
2147             ],
2148             licenseversion => '2.0',
2149              
2150             'pat.alt.subject.license.scope.multisection' =>
2151             'its terms and conditions[.][ ]'
2152             . $termination_for_patent_including_counterclaim
2153             . ' for patent infringement',
2154             };
2155              
2156             $RE{afl_2_1} = {
2157             name => 'AFL-2.1',
2158             'name.alt.org.spdx' => 'AFL-2.1',
2159             'name.alt.org.tldr.synth.nogrant' => 'academic-free-license-v.-2.1',
2160             'name.alt.misc.fossology_old' => 'AFL_v2.1',
2161             caption => 'Academic Free License v2.1',
2162             'caption.alt.misc.fossology_old' => 'AFL 2.1',
2163             'caption.alt.org.tldr' => 'Academic Free License 2.1 (AFL-2.1)',
2164             tags => [
2165             'license:contains:grant',
2166             'type:singleversion:afl',
2167             ],
2168             licenseversion => '2.1',
2169              
2170             'pat.alt.subject.license.scope.multisection' =>
2171             'its terms and conditions[.][ ]'
2172             . $termination_for_patent_including_counterclaim
2173             . ' against Licensor or any licensee',
2174             };
2175              
2176             $RE{afl_3} = {
2177             name => 'AFL-3.0',
2178             'name.alt.org.fedora.synth.nogrant' => 'AFL',
2179             'name.alt.org.osi' => 'AFL-3.0',
2180             'name.alt.org.osi.iri.stem.until.date_20110430' => 'afl-3.0',
2181             'name.alt.org.spdx' => 'AFL-3.0',
2182             'name.alt.org.tldr.path.short' => 'afl3',
2183             'name.alt.misc.fossology_old' => 'AFL_v3.0',
2184             caption => 'Academic Free License v3.0',
2185             'caption.alt.org.fedora.synth.nogrant' => 'Academic Free License',
2186             'caption.alt.org.fsf' => 'Academic Free License 3.0',
2187             'caption.alt.org.osi' => 'Academic Free License ("AFL") v. 3.0',
2188             'caption.alt.org.osi.misc.list' => 'Academic Free License 3.0',
2189             'caption.alt.org.tldr' => 'Academic Free License 3.0 (AFL)',
2190             'caption.alt.misc.fossology_old' => 'AFL 3.0',
2191             tags => [
2192             'license:contains:grant',
2193             'type:singleversion:afl',
2194             ],
2195             licenseversion => '3.0',
2196              
2197             'pat.alt.subject.license.scope.multisection.part.part1' =>
2198             'Licensed under the Academic Free License version 3\.0[ ]'
2199             . '[*)]Grant of Copyright License[.]',
2200             };
2201              
2202             =item * afmparse
2203              
2204             =cut
2205              
2206             $RE{afmparse} = {
2207             name => 'Afmparse',
2208             'name.alt.org.fedora.iri.self' => 'Afmparse',
2209             'name.alt.org.spdx.since.date_20140807' => 'Afmparse',
2210             caption => 'Afmparse License',
2211             'caption.alt.org.tldr' => 'Afmparse License',
2212             tags => [
2213             'license:is:grant',
2214             'type:unversioned',
2215             ],
2216              
2217             'pat.alt.subject.license.scope.sentence' =>
2218             'If the file has been modified in any way, '
2219             . 'a notice of such modification is conspicuously indicated[.]',
2220             };
2221              
2222             =item * agpl
2223              
2224             =item * agpl_1
2225              
2226             I
2227              
2228             =item * agpl_1_only
2229              
2230             =item * agpl_1_or_later
2231              
2232             =item * agpl_2
2233              
2234             =item * agpl_3
2235              
2236             =item * agpl_3_only
2237              
2238             =item * agpl_3_or_later
2239              
2240             =cut
2241              
2242             $RE{agpl} = {
2243             name => 'AGPL',
2244             'name.alt.org.fsf' => 'AGPL',
2245             'name.alt.org.wikidata.synth.nogrant' => 'Q1131681',
2246             'name.alt.misc.fossology_old' => 'Affero',
2247             caption => 'GNU Affero General Public License',
2248             'caption.alt.misc.short' => 'Affero GPL',
2249             'caption.alt.misc.informal' => 'Affero License',
2250             'caption.alt.org.fsf' => 'GNU Affero General Public License (AGPL)',
2251             'caption.alt.org.wikipedia' => 'GNU Affero General Public License',
2252             tags => [
2253             'family:gpl',
2254             'license:contains:grant',
2255             'type:versioned:decimal',
2256             ],
2257             };
2258              
2259             $RE{agpl_1} = {
2260             name => 'AGPLv1',
2261             'name.alt.org.debian' => 'AGPL-1',
2262             'name.alt.org.fedora' => 'AGPLv1',
2263             'name.alt.org.spdx.since.date_20130410' => 'AGPL-1.0',
2264             'name.alt.org.wikidata.synth.nogrant' => 'Q27017230',
2265             'name.alt.misc.fossology_old' => 'Affero_v1',
2266             caption => 'Affero General Public License v1.0',
2267             'caption.alt.org.fedora' => 'Affero General Public License 1.0',
2268             'caption.alt.org.spdx.until.date_20140807' =>
2269             'GNU Affero General Public License v1.0',
2270             'caption.alt.org.spdx.since.date_20140807' =>
2271             'Affero General Public License v1.0',
2272             'caption.alt.misc.fossology_old' => 'AGPL 1.0',
2273             'caption.alt.org.wikidata' =>
2274             'Affero General Public License, version 1.0',
2275             iri => 'http://www.affero.org/oagpl.html',
2276             tags => [
2277             'family:gpl',
2278             'type:singleversion:agpl',
2279             ],
2280             licenseversion => '1.0',
2281              
2282             'pat.alt.subject.license.scope.multisection.part.title' =>
2283             'AFFERO GENERAL PUBLIC LICENSE[ ]Version 1',
2284             'pat.alt.subject.license.part.intro' =>
2285             'This license is a modified version of the GNU General Public License',
2286             'pat.alt.subject.license.scope.sentence.part.preamble' =>
2287             'Some other Affero software is covered '
2288             . 'by the GNU Library General Public License instead[.]',
2289             'pat.alt.subject.license.part.part2_d' =>
2290             '[*)]If the Program as you received it is intended to interact',
2291             };
2292              
2293             $RE{agpl_1_only} = {
2294             name => 'AGPL-1.0-only',
2295             caption => 'Affero General Public License v1.0 only',
2296             tags => [
2297             'family:gpl',
2298             'type:usage:agpl_1:only'
2299             ],
2300             };
2301              
2302             $RE{agpl_1_or_later} = {
2303             name => 'AGPL-1.0-or-later',
2304             'name.alt.org.debian' => 'AGPL-1+',
2305             'name.alt.org.spdx.since.date_20180414' => 'AGPL-1-or-later',
2306             'name.alt.org.wikidata.synth.nogrant' => 'Q54571707',
2307             caption => 'Affero General Public License v1.0 or later',
2308             'caption.alt.org.wikidata' =>
2309             'Affero General Public License, version 1.0 or later',
2310             tags => [
2311             'family:gpl',
2312             'type:usage:agpl_1:or_later'
2313             ],
2314             };
2315              
2316             $RE{agpl_2} = {
2317             name => 'AGPLv2',
2318             'name.alt.org.debian' => 'AGPL-2',
2319             'name.alt.org.wikidata.synth.nogrant' => 'Q54365943',
2320             caption => 'Affero General Public License, Version 2',
2321             'caption.alt.org.wikidata' =>
2322             'Affero General Public License, version 2.0',
2323             iri => 'http://www.affero.org/agpl2.html',
2324             tags => [
2325             'family:gpl',
2326             'type:singleversion:agpl'
2327             ],
2328             licenseversion => '2.0',
2329              
2330             'pat.alt.subject.license.part.part1' =>
2331             'This is version 2 of the Affero General Public License[.]',
2332             'pat.alt.subject.license.part.part2' =>
2333             'If the Program was licensed under version 1 of the Affero GPL',
2334             };
2335              
2336             $RE{agpl_3} = {
2337             name => 'AGPLv3',
2338             'name.alt.org.debian' => 'AGPL-3',
2339             'name.alt.org.fsf' => 'AGPLv3.0',
2340             'name.alt.org.fedora' => 'AGPLv3',
2341             'name.alt.org.osi' => 'AGPL-3.0',
2342             'name.alt.org.osi.iri.stem.until.date_20110430' => 'agpl-v3',
2343             'name.alt.org.perl' => 'agpl_3',
2344             'name.alt.org.spdx.until.date_20171228' => 'AGPL-3.0',
2345             'name.alt.org.tldr.path.short' => 'agpl3',
2346             'name.alt.org.wikidata.synth.nogrant' => 'Q27017232',
2347             'name.alt.misc.fossology_old' => 'Affero_v3',
2348             caption => 'GNU Affero General Public License v3.0',
2349             'caption.alt.org.fedora' => 'Affero General Public License 3.0',
2350             'caption.alt.org.fsf' =>
2351             'GNU Affero General Public License (AGPL) version 3',
2352             'caption.alt.org.osi' => 'GNU Affero General Public License version 3',
2353             'caption.alt.org.perl' => 'GNU Affero General Public License, Version 3',
2354             'caption.alt.org.trove' => 'GNU Affero General Public License v3',
2355             'caption.alt.org.tldr' =>
2356             'GNU Affero General Public License v3 (AGPL-3.0)',
2357             'caption.alt.org.wikidata' =>
2358             'GNU Affero General Public License, version 3.0',
2359             'caption.alt.misc.fossology_old' => 'AGPL 3.0',
2360             iri => 'https://www.gnu.org/licenses/agpl',
2361             'iri.alt.format.txt' => 'https://www.gnu.org/licenses/agpl.txt',
2362             'iri.alt.path.fragmented' =>
2363             'https://www.gnu.org/licenses/licenses.html#AGPL',
2364             'iri.alt.path.versioned' => 'http://www.gnu.org/licenses/agpl-3.0.html',
2365             tags => [
2366             'family:gpl',
2367             'license:published:by_fsf',
2368             'type:singleversion:agpl'
2369             ],
2370             licenseversion => '3.0',
2371              
2372             'pat.alt.subject.license.scope.multisection.part.title' =>
2373             'GNU AFFERO GENERAL PUBLIC LICENSE[ ]Version 3',
2374             'pat.alt.subject.license.part.intro' =>
2375             '["]This License["] refers to version 3 of the GNU Affero',
2376             'pat.alt.subject.license.scope.sentence.part.part13_1' =>
2377             'This Corresponding Source shall include '
2378             . 'the Corresponding Source for any work '
2379             . 'covered by '
2380             . 'version 3 of the GNU General Public License',
2381             'pat.alt.subject.license.scope.sentence.part.part13_2_1' =>
2382             'Notwithstanding any other provision of this License, '
2383             . 'you have permission to link or combine any covered work '
2384             . 'with a work licensed under '
2385             . 'version 3 of the GNU General',
2386             'pat.alt.subject.license.scope.sentence.part.part13_2_2' =>
2387             'The terms of this License will continue to apply '
2388             . 'to the part which is the covered work, '
2389             . 'but the work with which it is combined '
2390             . 'will remain governed by '
2391             . 'version 3 of the GNU General',
2392             'pat.alt.subject.license.scope.multisection.part.tail_sample' =>
2393             '[<]?name of author[>]?[ ]'
2394             . 'This program is free software[;]? '
2395             . 'you can redistribute it and[/]or modify it '
2396             . 'under the terms of the GNU Affero General Public License '
2397             . 'as published by the Free Software Foundation[;]? '
2398             . 'either version 3 of the License, or',
2399             };
2400              
2401             #FIXME $RE{agpl_3}{_pat_word} = '(?:AGPL|agpl)[-]?3';
2402              
2403             $RE{agpl_3_only} = {
2404             name => 'AGPL-3.0-only',
2405             'name.alt.org.spdx.since.date_20171228' => 'AGPL-3.0-only',
2406             caption => 'GNU Affero General Public License v3.0 only',
2407             tags => [
2408             'family:gpl',
2409             'license:published:by_fsf',
2410             'type:usage:agpl_3:only',
2411             ],
2412             };
2413              
2414             $RE{agpl_3_or_later} = {
2415             name => 'AGPL-3.0-or-later',
2416             'name.alt.org.debian' => 'AGPL-3+',
2417             'name.alt.org.fedora' => 'AGPLv3+',
2418             'name.alt.org.spdx.since.date_20171228' => 'AGPL-3.0-or-later',
2419             'name.alt.org.trove' => 'AGPLv3+',
2420             'name.alt.org.wikidata.synth.nogrant' => 'Q27020062',
2421             'name.alt.misc.fossology_old' => 'Affero_v3+',
2422             caption => 'GNU Affero General Public License v3.0 or later',
2423             'caption.alt.org.fedora' => 'Affero General Public License 3.0 or later',
2424             'caption.alt.org.trove' =>
2425             'GNU Affero General Public License v3 or later (AGPLv3+)',
2426             'caption.alt.org.wikidata' =>
2427             'GNU Affero General Public License, version 3.0 or later',
2428             tags => [
2429             'family:gpl',
2430             'license:published:by_fsf',
2431             'type:usage:agpl_3:or_later',
2432             ],
2433             };
2434              
2435             =item * aladdin
2436              
2437             =item * aladdin_8
2438              
2439             I
2440              
2441             =item * aladdin_9
2442              
2443             I
2444              
2445             =cut
2446              
2447             $RE{aladdin} = {
2448             name => 'Aladdin',
2449             'name.alt.org.trove' => 'AFPL',
2450             'name.alt.org.wikidata.synth.nogrant' => 'Q979794',
2451             caption => 'Aladdin Free Public License',
2452             'caption.alt.org.fedora' => 'Aladdin Free Public License',
2453             'caption.alt.org.trove' => 'Aladdin Free Public License (AFPL)',
2454             tags => [
2455             'type:versioned:decimal',
2456             ],
2457             };
2458              
2459             $RE{aladdin_8} = {
2460             name => 'Aladdin-8',
2461             'name.alt.org.scancode' => 'afpl-8',
2462             'name.alt.org.spdx.since.date_20130117.synth.nogrant' => 'Aladdin',
2463             'name.alt.org.debian' => 'Aladdin-8',
2464             caption => 'Aladdin Free Public License, Version 8',
2465             'caption.alt.org.spdx.synth.nogrant' => 'Aladdin Free Public License',
2466             tags => [
2467             'type:singleversion:aladdin',
2468             ],
2469             licenseversion => '8.0',
2470              
2471             'pat.alt.subject.license.scope.multisection' =>
2472             'laws of the appropriate country[.][ ]0[. ]Subject Matter',
2473             };
2474              
2475             $RE{aladdin_9} = {
2476             name => 'Aladdin-9',
2477             'name.alt.org.scancode' => 'afpl-9',
2478             'name.alt.org.tldr.path.short' => 'aladdin',
2479             caption => 'Aladdin Free Public License, Version 9',
2480             'caption.alt.org.tldr' => 'Aladdin Free Public License',
2481             'iri.alt.archive.time_20130804020135' =>
2482             'http://www.artifex.com/downloads/doc/Public.htm',
2483             tags => [
2484             'type:singleversion:aladdin',
2485             ],
2486             licenseversion => '9.0',
2487              
2488             'pat.alt.subject.license' =>
2489             'This License is not an Open Source license[:][ ]among other things',
2490             };
2491              
2492             =item * amdplpa
2493              
2494             =cut
2495              
2496             $RE{amdplpa} = {
2497             name => 'AMDPLPA',
2498             'name.alt.org.fedora' => 'AMDPLPA',
2499             'name.alt.org.spdx.since.date_20140807' => 'AMDPLPA',
2500             caption => 'AMD\'s plpa_map.c License',
2501             'caption.alt.org.fedora.iri.self' => 'AMD plpa map License',
2502             'caption.alt.org.spdx.since.date_20140807.until.date_20201125' =>
2503             'AMD\'s plpa_map.c License',
2504             'caption.alt.org.spdx.since.date_20201125.until.date_20210307' =>
2505             'AMDs plpa_map.c License',
2506             'caption.alt.org.spdx.since.date_20210307' => 'AMD\'s plpa_map.c License',
2507             tags => [
2508             'license:is:grant',
2509             'type:unversioned',
2510             ],
2511              
2512             'pat.alt.subject.license' =>
2513             'Neither the names nor trademarks of Advanced Micro Devices, Inc\.',
2514             };
2515              
2516             =item * aml
2517              
2518             =cut
2519              
2520             $RE{aml} = {
2521             name => 'AML',
2522             'name.alt.org.fedora' => 'AML',
2523             'name.alt.org.spdx.since.date_20140807' => 'AML',
2524             caption => 'Apple MIT License',
2525             'caption.alt.org.fedora.iri.self' => 'Apple MIT License',
2526             'caption.alt.org.tldr' => 'Apple MIT License (AML)',
2527             tags => [
2528             'family:mit',
2529             'license:is:grant',
2530             'type:unversioned',
2531             ],
2532              
2533             'pat.alt.subject.license' =>
2534             'Apple grants you a personal, non-exclusive license',
2535             };
2536              
2537             =item * ampas
2538              
2539             =cut
2540              
2541             $RE{ampas} = {
2542             name => 'AMPAS',
2543             'name.alt.org.fedora.iri.bsd' => 'AMPASBSD',
2544             'name.alt.org.spdx.since.date_20140807' => 'AMPAS',
2545             caption => 'Academy of Motion Picture Arts and Sciences BSD',
2546             'caption.alt.org.fedora.misc.short' => 'AMPAS BSD',
2547             'caption.alt.org.tldr' =>
2548             'Academy of Motion Picture Arts and Sciences BSD',
2549             'summary.alt.org.fedora' =>
2550             'Academy of Motion Picture Arts and Sciences BSD Variant',
2551             tags => [
2552             'family:bsd',
2553             'license:is:grant',
2554             'type:unversioned',
2555             ],
2556              
2557             'pat.alt.subject.license.scope.multisection' =>
2558             $P{retain_notice_cond_discl_warr}
2559             . '[.][ ]'
2560             . $P{repro_copr_cond_discl_warr}
2561             . '[.][ ]'
2562             . $P{nopromo_nothing_deemed},
2563             };
2564              
2565             =item * antlr_pd
2566              
2567             =cut
2568              
2569             $RE{antlr_pd} = {
2570             name => 'ANTLR-PD',
2571             'name.alt.org.fedora.iri.self' => 'ANTLR-PD',
2572             'name.alt.org.spdx' => 'ANTLR-PD',
2573             caption => 'ANTLR Software Rights Notice',
2574             'caption.alt.org.tldr' => 'ANTLR Software Rights Notice (ANTLR-PD)',
2575             tags => [
2576             'license:is:grant',
2577             'type:unversioned',
2578             ],
2579              
2580             'pat.alt.subject.license' =>
2581             'We reserve no legal rights to the ANTLR[--]?it is fully in the public domain[.]',
2582             };
2583              
2584             =item * apache
2585              
2586             =item * apache_1
2587              
2588             I
2589              
2590             =item * apache_1_1
2591              
2592             I
2593              
2594             =item * apache_2
2595              
2596             I
2597              
2598             =cut
2599              
2600             $RE{apache} = {
2601             name => 'Apache',
2602             'name.alt.org.osi.iri.stem_only.until.date_20080202' => 'apachepl',
2603             'name.alt.org.wikidata.synth.nogrant' => 'Q616526',
2604             caption => 'Apache License',
2605             'caption.alt.org.trove' => 'Apache Software License',
2606             'caption.alt.org.wikipedia' => 'Apache License',
2607             'caption.alt.misc.public' => 'Apache Public License',
2608             iri => 'https://www.apache.org/licenses/LICENSE-2.0',
2609             tags => [
2610             'type:versioned:decimal',
2611             ],
2612             };
2613              
2614             $RE{apache_1} = {
2615             name => 'Apache-1.0',
2616             'name.alt.org.fedora' => 'Apache-1.0',
2617             'name.alt.org.spdx' => 'Apache-1.0',
2618             'name.alt.org.wikidata.synth.nogrant' => 'Q26897902',
2619             'name.alt.misc.fossology_old' => 'Apache_v1.0',
2620             caption => 'Apache License 1.0',
2621             'caption.alt.org.fedora' => 'Apache Software License 1.0',
2622             'caption.alt.org.fedora.misc.short' => 'ASL 1.0',
2623             'caption.alt.org.tldr' => 'Apache License 1.0 (Apache-1.0)',
2624             'caption.alt.org.wikidata' => 'Apache Software License, Version 1.0',
2625             description => <<'END',
2626             Identical to BSD (4 clause), except...
2627             * extend advertising clause to also require advertising purpose
2628             * extend non-endorsement clause to include contact info
2629             * add derivatives-must-rename clause
2630             * add redistribution-acknowledgement clause
2631             END
2632             iri => 'https://www.apache.org/licenses/LICENSE-1.0',
2633             tags => [
2634             'license:contains:license:bsd_4_clause',
2635             'license:is:grant',
2636             'type:singleversion:apache',
2637             ],
2638             licenseversion => '1.0',
2639              
2640             'pat.alt.subject.license.scope.sentence' => $P{redist_ack_this},
2641             'pat.alt.subject.license.scope.multisection.part.head' =>
2642             $P{repro_copr_cond_discl}
2643             . '[.][ ]' . '[*)]?'
2644             . $P{ad_mat_ack_this}
2645             . '[word][ word]{0,14}'
2646             . '[.][ ][*)]?'
2647             . $P{nopromo_neither}
2648             . '[. ]For written permission, please contact [word]'
2649             . '[.][ ]' . '[*)]?'
2650             . 'Products derived from this software may not be called'
2651             };
2652              
2653             $RE{apache_1_1} = {
2654             name => 'Apache-1.1',
2655             'name.alt.org.osi' => 'Apache-1.1',
2656             'name.alt.org.osi.iri.stem.until.date_20110430' => 'apachepl-1.1',
2657             'name.alt.org.perl' => 'apache_1_1',
2658             'name.alt.org.spdx' => 'Apache-1.1',
2659             'name.alt.org.tldr' => 'apache-license-1.1',
2660             'name.alt.org.wikidata.synth.nogrant' => 'Q17817999',
2661             'name.alt.misc.fossology_old' => 'Apache_v1.1',
2662             caption => 'Apache License 1.1',
2663             'caption.alt.org.fedora' => 'Apache Software License 1.1',
2664             'caption.alt.org.fedora.misc.short' => 'ASL 1.1',
2665             'caption.alt.org.osi' => 'Apache Software License, version 1.1',
2666             'caption.alt.org.osi.misc.list' => 'Apache Software License 1.1',
2667             'caption.alt.org.perl' => 'Apache Software License, Version 1.1',
2668             'caption.alt.org.tldr' => 'Apache License 1.1 (Apache-1.1)',
2669             'caption.alt.org.wikidata' => 'Apache Software License, Version 1.1',
2670             'caption.alt.misc.fossology_old' => 'Apache 1.1',
2671             'caption.alt.misc.software' => 'Apache Software License 1.1',
2672             description => <<'END',
2673             Identical to BSD (3 clause), except...
2674             * add documentation-acknowledgement clause (as 3rd clause similar to BSD-4-clause advertising clause)
2675             * extend non-endorsement clause to include contact info
2676             * add derivatives-must-rename clause
2677             END
2678             iri => 'https://www.apache.org/licenses/LICENSE-1.1',
2679             'iri.alt.org.wikipedia' =>
2680             'https://en.wikipedia.org/wiki/Apache_License#Version_1.1',
2681             tags => [
2682             'license:contains:license:bsd_3_clause',
2683             'license:is:grant',
2684             'license:published:by_apache',
2685             'type:singleversion:apache',
2686             ],
2687             licenseversion => '1.1',
2688              
2689             'pat.alt.subject.license.scope.multisection' =>
2690             'without prior written permission of[ word]{1,5}[.][ ]'
2691             . 'THIS SOFTWARE IS PROVIDED',
2692             'pat.alt.subject.license.scope.multisection.part.head' =>
2693             '(?:Apache License 1\.1[ ]'
2694             . 'Copyright[c] 2000 The Apache Software Foundation[.]'
2695             . ' All rights reserved[.][ ])?'
2696             . $P{repro_copr_cond_discl}
2697             . '[.][ ]'
2698             . '[*)]?The end-user documentation included',
2699             };
2700              
2701             $RE{apache_2} = {
2702             name => 'Apache-2.0',
2703             'name.alt.org.osi' => 'Apache-2.0',
2704             'name.alt.org.osi.iri.stem.until.date_20110430' => 'apache2.0',
2705             'name.alt.org.perl' => 'apache_2_0',
2706             'name.alt.org.spdx' => 'Apache-2.0',
2707             'name.alt.org.tldr.path.short' => 'apache2',
2708             'name.alt.org.wikidata.synth.nogrant' => 'Q13785927',
2709             'name.alt.misc.fossology_old' => 'Apache_v2.0',
2710             'name.alt.misc.fossology_old_short' => 'Apache2.0',
2711             caption => 'Apache License 2.0',
2712             'caption.alt.org.fedora' => 'Apache Software License 2.0',
2713             'caption.alt.org.fedora.misc.short' => 'ASL 2.0',
2714             'caption.alt.org.osi' => 'Apache License, Version 2.0',
2715             'caption.alt.org.osi.misc.list' => 'Apache License 2.0',
2716             'caption.alt.org.perl' => 'Apache License, Version 2.0',
2717             'caption.alt.org.tldr' => 'Apache License 2.0 (Apache-2.0)',
2718             'caption.alt.org.wikidata' => 'Apache Software License, Version 2.0',
2719             'caption.alt.misc.public' => 'Apache Public License 2.0',
2720             'caption.alt.misc.software' => 'Apache Software License 2.0',
2721             iri => 'https://www.apache.org/licenses/LICENSE-2.0',
2722             'iri.alt.org.wikipedia' =>
2723             'https://en.wikipedia.org/wiki/Apache_License#Version_2.0',
2724             tags => [
2725             'license:contains:grant',
2726             'license:published:by_apache',
2727             'type:singleversion:apache',
2728             ],
2729             licenseversion => '2.0',
2730              
2731             'pat.alt.subject.grant.misc.extra' =>
2732             'Apache Software License, Version 2\.0',
2733             'pat.alt.subject.license.part.appendix' =>
2734             'How to apply the Apache License to your work',
2735             'pat.alt.subject.license.scope.multisection' => 'Apache License[ ]'
2736             . 'Version 2\.0, January 2004[ ]',
2737             };
2738              
2739             =item * apafml
2740              
2741             =cut
2742              
2743             $RE{apafml} = {
2744             name => 'APAFML',
2745             'name.alt.org.fedora' => 'APAFML',
2746             'name.alt.org.fedora.iri.self' => 'AdobePostscriptAFM',
2747             'name.alt.org.spdx.since.date_20140807' => 'APAFML',
2748             'name.alt.misc.fossology' => 'AdobeAFM',
2749             'name.alt.misc.fossology_old' => 'Adobe-AFM',
2750             caption => 'Adobe Postscript AFM License',
2751             'caption.alt.org.tldr' => 'Adobe Postscript AFM License',
2752             tags => [
2753             'type:unversioned',
2754             ],
2755              
2756             '_pat.alt.subject.license' => [
2757             'AFM files it accompanies may be used',
2758             'that the AFM files are not distributed',
2759             ],
2760             };
2761              
2762             =item * apl
2763              
2764             =item * apl_1
2765              
2766             =cut
2767              
2768             $RE{apl} = {
2769             name => 'APL',
2770             'name.alt.org.wikidata.synth.nogrant' => 'Q4680711',
2771             'name.alt.misc.fossology_old' => 'Adaptive',
2772             caption => 'Adaptive Public License',
2773             tags => [
2774             'type:versioned:decimal',
2775             ],
2776             };
2777              
2778             $RE{apl_1} = {
2779             name => 'APL-1.0',
2780             'name.alt.org.osi' => 'APL-1.0',
2781             'name.alt.org.osi.iri.stem.until.date_20110430' => 'apl-1.0',
2782             'name.alt.org.spdx' => 'APL-1.0',
2783             caption => 'Adaptive Public License 1.0',
2784             'caption.alt.org.osi.misc.list.synth.nogrant' =>
2785             'Adaptive Public License',
2786             'caption.alt.org.tldr' => 'Adaptive Public License 1.0 (APL-1.0)',
2787             'caption.alt.misc.fossology_old' => 'Adaptive v1.0',
2788             tags => [
2789             'type:singleversion:apl',
2790             ],
2791             licenseversion => '1.0',
2792              
2793             'pat.alt.subject.license' =>
2794             'THE LICENSED WORK IS PROVIDED UNDER THE TERMS OF THIS ADAPTIVE PUBLIC LICENSE',
2795             };
2796              
2797             =item * apsl
2798              
2799             =item * apsl_1
2800              
2801             =item * apsl_1_1
2802              
2803             =item * apsl_1_2
2804              
2805             =item * apsl_2
2806              
2807             =cut
2808              
2809             $RE{apsl} = {
2810             name => 'APSL',
2811             'name.alt.org.wikidata.synth.nogrant' => 'Q621330',
2812             caption => 'Apple Public Source License',
2813             'caption.alt.org.trove' => 'Apple Public Source License',
2814             'caption.alt.org.wikipedia' => 'Apple Public Source License',
2815             tags => [
2816             'type:versioned:decimal',
2817             ],
2818             };
2819              
2820             $RE{apsl_1} = {
2821             name => 'APSL-1.0',
2822             'name.alt.org.spdx' => 'APSL-1.0',
2823             'name.alt.misc.fossology_old' => 'APSL_v1.0',
2824             'name.alt.misc.fossology_old_short' => 'APSL1.0',
2825             'name.alt.misc.fossology_old_vague.synth.nogrant' => 'Apple',
2826             caption => 'Apple Public Source License 1.0',
2827             'caption.alt.org.fedora.iri.self' => 'Apple Public Source License 1.0',
2828             tags => [
2829             'type:singleversion:apsl',
2830             ],
2831             licenseversion => '1.0',
2832              
2833             'pat.alt.subject.license.scope.multisection.part.header' =>
2834             '(?:APPLE PUBLIC SOURCE LICENSE|Apple Public Source License)[ ]'
2835             . 'Ver(?:sion|\.) 1\.0(?:[ - ]March 16, ?1999)?[ ]'
2836             . '(?:Please read this License carefully|[*)]General[;] Definitions[.])',
2837             'pat.alt.subject.license.scope.sentence.part.part1' =>
2838             'subject to the terms of this Apple Public Source License version 1\.0 ',
2839             };
2840              
2841             $RE{apsl_1_1} = {
2842             name => 'APSL-1.1',
2843             'name.alt.org.spdx' => 'APSL-1.1',
2844             'name.alt.misc.fossology_old' => 'APSL_v1.',
2845             'name.alt.misc.fossology_old_short' => 'APSL1.1',
2846             caption => 'Apple Public Source License 1.1',
2847             'caption.alt.org.fedora.iri.self' => 'Apple Public Source License 1.1',
2848             tags => [
2849             'type:singleversion:apsl',
2850             ],
2851             licenseversion => '1.1',
2852              
2853             'pat.alt.subject.license.scope.multisection.part.header' =>
2854             '(?:APPLE PUBLIC SOURCE LICENSE|Apple Public Source License)[ ]'
2855             . 'Ver(?:sion|\.) 1\.1(?:[ - ]April 19, ?1999)?[ ]'
2856             . '(?:Please read this License carefully|[*)]General[;] Definitions[.])',
2857             'pat.alt.subject.license.scope.sentence.part.part1' =>
2858             'subject to the terms of this Apple Public Source License version 1\.1 ',
2859             };
2860              
2861             $RE{apsl_1_2} = {
2862             name => 'APSL-1.2',
2863             'name.alt.org.spdx' => 'APSL-1.2',
2864             'name.alt.misc.fossology_old' => 'APSL_v1.2',
2865             'name.alt.misc.fossology_old_short' => 'APSL1.2',
2866             caption => 'Apple Public Source License 1.2',
2867             'caption.alt.org.fedora.iri.self' => 'Apple Public Source License 1.2',
2868             tags => [
2869             'type:singleversion:apsl',
2870             ],
2871             licenseversion => '1.2',
2872              
2873             'pat.alt.subject.license.scope.multisection.part.header' =>
2874             '(?:APPLE PUBLIC SOURCE LICENSE|Apple Public Source License)[ ]'
2875             . ' Ver(?:sion|\.) 1\.2(?:[ - ]January 4, ?2001)?[ ]'
2876             . '(?:Please read this License carefully|[*)]General[;] Definitions[.])',
2877             'pat.alt.subject.license.scope.sentence.part.part1' =>
2878             'subject to the terms of this Apple Public Source License version 1\.2 ',
2879             };
2880              
2881             $RE{apsl_2} = {
2882             name => 'APSL-2.0',
2883             'name.alt.org.osi' => 'APSL-2.0',
2884             'name.alt.org.osi.iri.stem.until.date_20110430' => 'apsl-2.0',
2885             'name.alt.org.spdx' => 'APSL-2.0',
2886             'name.alt.org.tldr.path.short.synth.nogrant' => 'aspl2',
2887             'name.alt.misc.fossology_old' => 'APSL_v2.0',
2888             caption => 'Apple Public Source License 2.0',
2889             'caption.alt.org.fedora' => 'Apple Public Source License 2.0',
2890             'caption.alt.org.fedora.misc.short' => 'APSL 2.0',
2891             'caption.alt.org.tldr' => 'Apple Public Source License 2.0 (APSL)',
2892             'caption.alt.org.osi.misc.cat_list.synth.nogrant' =>
2893             'Apple Public Source License',
2894             tags => [
2895             'type:singleversion:apsl',
2896             ],
2897             licenseversion => '2.0',
2898              
2899             'pat.alt.subject.license.scope.multisection.part.header' =>
2900             '(?:APPLE PUBLIC SOURCE LICENSE|Apple Public Source License)[ ]'
2901             . 'Ver(?:sion|\.) 2\.0(?:[ - ]August 6, ?2003)?[ ]'
2902             . '(?:Please read this License carefully|[*)]General[;] Definitions[.])',
2903             'pat.alt.subject.license.scope.sentence.part.part1' =>
2904             'subject to the terms of this Apple Public Source License version 2\.0 ',
2905             };
2906              
2907             =item * artistic
2908              
2909             =item * artistic_1
2910              
2911             I
2912              
2913             =item * artistic_1_cl8
2914              
2915             I
2916              
2917             =item * artistic_1_perl
2918              
2919             I
2920              
2921             =item * artistic_2
2922              
2923             =cut
2924              
2925             $RE{artistic} = {
2926             name => 'Artistic',
2927             'name.alt.org.osi.iri.stem.until.date_20080202' => 'artistic-license',
2928             'name.alt.org.wikidata.synth.nogrant' => 'Q713244',
2929             caption => 'Artistic License',
2930             'caption.alt.org.trove' => 'Artistic License',
2931             'caption.alt.org.wikipedia' => 'Artistic License',
2932             tags => [
2933             'type:versioned:complex',
2934             ],
2935             };
2936              
2937             $RE{artistic_1} = {
2938             name => 'Artistic-1.0',
2939             'name.alt.org.osi' => 'Artistic-1.0',
2940             'name.alt.org.osi.iri.stem.until.date_20090218' => 'artistic-license-1.0',
2941             'name.alt.org.spdx' => 'Artistic-1.0',
2942             'name.alt.org.wikidata.synth.nogrant' => 'Q14624823',
2943             'name.alt.misc.fossology_old' => 'Artistic1.0',
2944             caption => 'Artistic License 1.0',
2945             'caption.alt.org.osi.misc.list' => 'Artistic license 1.0',
2946             'caption.alt.org.osi.misc.do_not_use_list' =>
2947             'Artistic license, version 1.0',
2948             'caption.alt.org.wikipedia' => 'Artistic License 1.0',
2949             'iri.alt.old.osi' =>
2950             'https://opensource.org/licenses/artistic-license-1.0',
2951             'iri.alt.org.wikipedia' =>
2952             'https://en.wikipedia.org/wiki/Artistic_License#Artistic_License_1.0',
2953             tags => [
2954             'type:singleversion:artistic',
2955             ],
2956             licenseversion => '1.0',
2957              
2958             'pat.alt.subject.license.scope.multisection' =>
2959             '[*)]C or perl subroutines supplied by you and linked into this Package shall not be considered part of this Package[.][ ]'
2960             . '[*)]The name of the Copyright Holder',
2961             };
2962              
2963             $RE{artistic_1_cl8} = {
2964             name => 'Artistic-1.0-cl8',
2965             'name.alt.org.spdx.since.date_20130912' => 'Artistic-1.0-cl8',
2966             summary => 'Artistic License 1.0 w/clause 8',
2967             'caption.alt.org.tldr.synth.nogrant' => 'Artistic License 1.0',
2968             tags => [
2969             'type:singleversion:artistic',
2970             ],
2971             licenseversion => '1.0-cl8',
2972              
2973             'pat.alt.subject.license.scope.multisection' => 'this Package[.][ ]'
2974             . '[*)]Aggregation of this Package',
2975             };
2976              
2977             $RE{artistic_1_clarified} = {
2978             name => 'Artistic-1.0-clarified',
2979             'name.alt.org.fedora.iri.self' => 'ArtisticClarified',
2980             'name.alt.org.spdx' => 'ClArtistic',
2981             caption => 'Clarified Artistic License',
2982             'caption.alt.org.fedora' => 'Artistic (clarified)',
2983             'caption.alt.org.fedora.misc.short' => 'Artistic clarified',
2984             'caption.alt.org.spdx' => 'Clarified Artistic License',
2985             'caption.alt.org.tldr' => 'Clarified Artistic License',
2986             iri =>
2987             'http://gianluca.dellavedova.org/2011/01/03/clarified-artistic-license/',
2988             tags => [
2989             'type:singleversion:artistic',
2990             ],
2991             licenseversion => '1.0-clarified',
2992              
2993             'pat.alt.subject.license' =>
2994             'Aggregation of the Standard Version of the Package',
2995             };
2996              
2997             $RE{artistic_1_perl} = {
2998             name => 'Artistic-1.0-Perl',
2999             'name.alt.org.perl.synth.nogrant' => 'artistic_1',
3000             'name.alt.org.osi' => 'Artistic-1.0-Perl',
3001             'name.alt.org.spdx.since.date_20130912' => 'Artistic-1.0-Perl',
3002             caption => 'Artistic License 1.0 (Perl)',
3003             'caption.alt.org.fedora' => 'Artistic 1.0 (original)',
3004             'caption.alt.org.osi' => 'Artistic License 1.0 (Perl)',
3005             'caption.alt.org.perl.synth.nogrant' => 'Artistic License, (Version 1)',
3006             'caption.alt.org.spdx' => 'Artistic License 1.0 (Perl)',
3007             iri => 'http://dev.perl.org/licenses/artistic.html',
3008             'iri.alt.old.perl' =>
3009             'http://www.perl.com/pub/a/language/misc/Artistic.html',
3010             tags => [
3011             'type:singleversion:artistic',
3012             ],
3013             licenseversion => '1.0-Perl',
3014              
3015             'pat.alt.subject.license.scope.multisection' => 'the language[.][ ]'
3016             . '[*)]Aggregation of this Package',
3017             };
3018              
3019             $RE{artistic_2} = {
3020             name => 'Artistic-2.0',
3021             'name.alt.org.osi' => 'Artistic-2.0',
3022             'name.alt.org.osi.iri.stem.until.date_20110430' => 'artistic-license-2.0',
3023             'name.alt.org.perl' => 'artistic_2',
3024             'name.alt.org.spdx' => 'Artistic-2.0',
3025             'name.alt.org.tldr' => 'artistic-license-2.0-(artistic)',
3026             'name.alt.org.tldr.path.short.synth.nogrant' => 'artistic',
3027             'name.alt.org.wikidata.synth.nogrant' => 'Q14624826',
3028             'name.alt.misc.fossology_old' => 'Artistic_v2.0',
3029             'name.alt.misc.fossology_old_short' => 'Artistic2.0',
3030             caption => 'Artistic License 2.0',
3031             'caption.alt.org.fedora' => 'Artistic 2.0',
3032             'caption.alt.org.osi.misc.cat_list' => 'Artistic license 2.0',
3033             'caption.alt.org.perl' => 'Artistic License, Version 2.0',
3034             'caption.alt.org.tldr' => 'Artistic License 2.0 (Artistic-2.0)',
3035             'caption.alt.org.wikipedia' => 'Artistic License 2.0',
3036             iri => 'http://www.perlfoundation.org/artistic_license_2_0',
3037             'iri.alt.org.wikipedia' =>
3038             'https://en.wikipedia.org/wiki/Artistic_License#Artistic_License_2.0',
3039             tags => [
3040             'type:singleversion:artistic',
3041             ],
3042             licenseversion => '2.0',
3043              
3044             'pat.alt.subject.license' => 'is governed by this Artistic License[.]',
3045             };
3046              
3047             =item * bahyph
3048              
3049             =cut
3050              
3051             $RE{bahyph} = {
3052             name => 'Bahyph',
3053             'name.alt.org.fedora.iri.self' => 'Bahyph',
3054             'name.alt.org.spdx.since.date_20140807' => 'Bahyph',
3055             caption => 'Bahyph License',
3056             'caption.alt.org.tldr' => 'Bahyph License',
3057             tags => [
3058             'license:is:grant',
3059             'type:unversioned',
3060             ],
3061              
3062             'pat.alt.subject.license' =>
3063             'These patterns were developed for internal GMV use and are made public',
3064             };
3065              
3066             =item * barr
3067              
3068             =cut
3069              
3070             $RE{barr} = {
3071             name => 'Barr',
3072             'name.alt.org.fedora.iri.self' => 'Barr',
3073             'name.alt.org.spdx.since.date_20140807' => 'Barr',
3074             caption => 'Barr License',
3075             'caption.alt.org.tldr' => 'Barr License',
3076             tags => [
3077             'license:is:grant',
3078             'type:unversioned',
3079             ],
3080              
3081             'pat.alt.subject.license' =>
3082             'This is a package of commutative diagram macros built on top of Xy[-]pic',
3083             };
3084              
3085             =item * bdwgc
3086              
3087             I
3088              
3089             =cut
3090              
3091             $RE{bdwgc} = {
3092             'name.alt.org.debian' => 'MIT~Boehm',
3093             caption => 'Boehm GC License',
3094             'summary.alt.org.fedora.iri.mit' =>
3095             'MIT-style license, Another Minimal variant (found in libatomic_ops)',
3096             description => <<'END',
3097             Origin: Possibly Boehm-Demers-Weiser conservative C/C++ Garbage Collector (libgc, bdwgc, boehm-gc).
3098             END
3099             iri => 'http://www.hboehm.info/gc/license.txt',
3100             tags => [
3101             'license:is:grant',
3102             'type:unversioned',
3103             ],
3104              
3105             'pat.alt.subject.license.scope.paragraph' => $P{perm_granted}
3106             . $P{to_copy_prg}
3107             . $P{any_purpose}
3108             . $P{retain_notices_all} . '[. ]'
3109             . $P{perm_dist_mod}
3110             . $P{granted}
3111             . $P{retain_notices}
3112             . $P{note_mod_inc_with_copr} . '[.]',
3113             };
3114              
3115             =item * bdwgc_matlab
3116              
3117             I
3118              
3119             =cut
3120              
3121             $RE{bdwgc_matlab} = {
3122             name => 'bdwgc-matlab',
3123             description => <<'END',
3124             Origin: Possibly Boehm-Demers-Weiser conservative C/C++ Garbage Collector (libgc, bdwgc, boehm-gc).
3125             END
3126             tags => [
3127             'license:is:grant',
3128             'type:unversioned',
3129             ],
3130              
3131             'pat.alt.subject.license.scope.paragraph' => $P{perm_granted}
3132             . $P{to_copy_prg}
3133             . $P{any_purpose}
3134             . $P{retain_notices_all} . '[. ]'
3135             . $P{repro_code_cite_authors_copr}
3136             . $P{and_used_by_perm} . '[". ]'
3137             . $P{repro_matlab_cite_authors} . '[. ]'
3138             . $P{perm_dist_mod}
3139             . $P{granted}
3140             . $P{retain_notices}
3141             . $P{note_mod_inc_with_copr} . '[. ]'
3142             . $P{retain_you_avail_orig} . '[.]',
3143             'pat.alt.subject.license.part.credit' => 'must cite the Authors',
3144             };
3145              
3146             =item * beerware
3147              
3148             =cut
3149              
3150             $RE{beerware} = {
3151             name => 'Beerware',
3152             'name.alt.misc.dash' => 'Beer-ware',
3153             'name.alt.org.fedora.iri.self' => 'Beerware',
3154             'name.alt.org.spdx.since.date_20140807' => 'Beerware',
3155             'name.alt.org.tldr.path.short' => 'beerware',
3156             'name.alt.org.wikidata.synth.nogrant' => 'Q10249',
3157             caption => 'Beerware License',
3158             'caption.alt.org.tldr' => 'Beerware License',
3159             'caption.alt.org.wikidata' => 'Beerware',
3160             'caption.alt.org.wikipedia' => 'Beerware',
3161             iri => 'https://people.freebsd.org/~phk/',
3162             tags => [
3163             'license:is:grant',
3164             'type:unversioned',
3165             ],
3166              
3167             'pat.alt.subject.license' => 'you can buy me a beer in return',
3168              
3169             #<<< do not let perltidy touch this (keep long regex on one line)
3170             examples => [
3171             { summary => 'pattern with subject "license" matches canonical license',
3172             gen_args => { subject => 'license' },
3173             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.',
3174             matches => 1,
3175             },
3176             { summary => 'pattern with subject "grant" doesn\'t match canonical license',
3177             gen_args => { subject => 'grant' },
3178             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.',
3179             matches => 0,
3180             },
3181             { summary => 'pattern with subject "grant" matches a license grant',
3182             gen_args => { subject => 'grant' },
3183             str => 'Licensed under the Beerware License.',
3184             matches => 1,
3185             },
3186             { summary => 'pattern with subject "name" matches canonical license',
3187             gen_args => { subject => 'name' },
3188             str => 'Beerware License',
3189             matches => 1,
3190             },
3191             { summary => 'pattern with subject "name" doesn\'t match canonical license',
3192             gen_args => { subject => 'name' },
3193             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.',
3194             matches => 0,
3195             },
3196             { summary => 'pattern with subject "name" matches a license grant',
3197             gen_args => { subject => 'name' },
3198             str => 'Licensed under the Beerware License.',
3199             matches => 1,
3200             },
3201             { summary => 'pattern with subject "name" doesn\'t match canonical license IRI',
3202             gen_args => { subject => 'name' },
3203             str => 'https://people.freebsd.org/~phk/',
3204             matches => 0,
3205             },
3206             { summary => 'pattern with subject "iri" doesn\'t match original license',
3207             gen_args => { subject => 'iri' },
3208             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.',
3209             matches => 0,
3210             },
3211             { summary => 'pattern with subject "iri" doesn\'t match canonical license name',
3212             gen_args => { subject => 'iri' },
3213             str => 'Beerware License',
3214             matches => 0,
3215             },
3216             { summary => 'pattern with subject "iri" doesn\'t match a license shortname',
3217             gen_args => { subject => 'iri' },
3218             str => 'Beerware',
3219             matches => 0,
3220             },
3221             ],
3222             #>>>
3223              
3224             };
3225              
3226             =item * bittorrent
3227              
3228             =item * bittorrent_1
3229              
3230             =item * bittorrent_1_1
3231              
3232             =cut
3233              
3234             $RE{bittorrent} = {
3235             name => 'BitTorrent',
3236             'name.alt.misc.fossology_old' => 'Bittorrent',
3237             'name.alt.org.wikidata.synth.nogrant' => 'Q4918693',
3238             caption => 'BitTorrent Open Source License',
3239             'caption.alt.org.fedora' => 'BitTorrent License',
3240             'caption.alt.org.fedora.iri.self' => 'BitTorrent Open Source License',
3241             tags => [
3242             'type:versioned:decimal',
3243             ],
3244             };
3245              
3246             $RE{bittorrent_1} = {
3247             name => 'BitTorrent-1.0',
3248             'name.alt.org.spdx.since.date_20130117' => 'BitTorrent-1.0',
3249             'name.alt.misc.fossology_old' => 'Bittorrent1.0',
3250             caption => 'BitTorrent Open Source License v1.0',
3251             description => <<'END',
3252             Identical to Jabber Open Source License, except...
3253             * drop description-of-modifications clause
3254             * drop retain-copyright-notices clause
3255             * replace references, e.g. "Jabber Server" -> "BitTorrent client"
3256             * document that license is derived from Jabber Open Source License
3257             END
3258             tags => [
3259             'license:contains:grant',
3260             'type:singleversion:bittorrent',
3261             ],
3262             licenseversion => '1.0',
3263              
3264             'pat.alt.subject.license.scope.multisection.part.header' =>
3265             'BitTorrent Open Source License[ ]'
3266             . 'Version 1\.0[ ]'
3267             . 'This BitTorrent Open Source License',
3268             'pat.alt.subject.license.scope.multisection.part.part4' =>
3269             ' has been made available'
3270             . '[. ]You are responsible for ensuring'
3271             . ' that the Source Code version remains available'
3272             . ' even if the Electronic Distribution Mechanism is maintained by a third party'
3273             . '[.][ ][*)]'
3274             . 'Intellectual Property Matters[.]',
3275             };
3276              
3277             $RE{bittorrent_1_1} = {
3278             name => 'BitTorrent-1.1',
3279             'name.alt.org.spdx.since.date_20130117' => 'BitTorrent-1.1',
3280             'name.alt.misc.fossology_old' => 'Bittorrent_v1.1',
3281             caption => 'BitTorrent Open Source License v1.1',
3282             'caption.alt.org.tldr' =>
3283             'BitTorrent Open Source License v1.1 (BitTorrent-1.1)',
3284             tags => [
3285             'license:contains:grant:bittorrent_1',
3286             'type:singleversion:bittorrent',
3287             ],
3288             licenseversion => '1.1',
3289              
3290             'pat.alt.subject.license.scope.multisection.part.header' =>
3291             'BitTorrent Open Source License[ ]'
3292             . 'Version 1\.1[ ]'
3293             . 'This BitTorrent Open Source License',
3294             'pat.alt.subject.license.scope.multisection.part.part4' =>
3295             ' is distributed by you'
3296             . '[. ]You are responsible for ensuring'
3297             . ' that the Source Code version remains available'
3298             . ' even if the Electronic Distribution Mechanism is maintained by a third party'
3299             . '[.][ ][*)]'
3300             . 'Intellectual Property Matters[.]',
3301             };
3302              
3303             =item * borceux
3304              
3305             =cut
3306              
3307             $RE{borceux} = {
3308             name => 'Borceux',
3309             'name.alt.org.fedora.iri.self' => 'Borceux',
3310             'name.alt.org.spdx.since.date_20140807' => 'Borceux',
3311             caption => 'Borceux license',
3312             'caption.alt.org.tldr' => 'Borceux license',
3313             tags => [
3314             'license:is:grant',
3315             'type:unversioned',
3316             ],
3317              
3318             'pat.alt.subject.license' =>
3319             'distribute each of the files in this package',
3320             };
3321              
3322             =item * bsd_0_clause
3323              
3324             I
3325              
3326             =cut
3327              
3328             $RE{bsd_0_clause} = {
3329             name => '0BSD',
3330             'name.alt.org.fedora' => '0BSD',
3331             'name.alt.org.fedora.iri.self' => 'ZeroClauseBSD',
3332             'name.alt.org.osi' => '0BSD',
3333             'name.alt.org.osi.misc.free' => 'FPL-1.0.0',
3334             'name.alt.org.spdx.since.date_20150930' => '0BSD',
3335             'name.alt.org.tldr' => 'bsd-0-clause-license',
3336             'name.alt.org.wikidata.synth.nogrant' => 'Q48271011',
3337             caption => 'BSD 0-Clause License',
3338             'caption.alt.org.fedora' => 'Zero-Clause BSD',
3339             'caption.alt.org.osi' => 'Zero-Clause BSD',
3340             'caption.alt.org.osi.misc.old' =>
3341             'Zero-Clause BSD / Free Public License 1.0.0',
3342             'caption.alt.org.osi.misc.list' => '0-clause BSD License',
3343             'caption.alt.org.osi.misc.list_bsd' => '0-clause BSD license',
3344             'caption.alt.org.osi.misc.list_free' => 'Free Public License 1.0.0',
3345             'caption.alt.org.spdx' => 'BSD Zero Clause License',
3346             'caption.alt.org.tldr' => 'BSD 0-Clause License (0BSD)',
3347             'caption.alt.org.wikidata' => 'Zero-clause BSD License',
3348             'caption.alt.misc.parens' => 'BSD (0 clause)',
3349             description => <<'END',
3350             Identical to ISC, except...
3351             * Redistribution of source need not retain any legal text
3352             * omit requirement of notices appearing in copies
3353              
3354             Origin: By Rob Landley in 2013 for toybox.
3355             Details at .
3356             END
3357             'iri.alt.misc.origin' =>
3358             'https://github.com/landley/toybox/blob/master/LICENSE',
3359             tags => [
3360             'family:mit',
3361             'license:is:grant',
3362             'type:unversioned',
3363             ],
3364              
3365             'pat.alt.subject.name.misc.free' => '(?:Free Public License|FPL)'
3366             . '(?:'
3367             . $RE{version_prefix}
3368             {'pat.alt.subject.trait.scope.line.scope.sentence'}
3369             . '1(?:\.0){0,2})?',
3370             'pat.alt.subject.license.scope.multisection' => $P{granted}
3371             . '[.][ ]'
3372             . $P{asis_sw_name_discl},
3373             };
3374              
3375             =item * bsd_1_clause
3376              
3377             I
3378              
3379             =cut
3380              
3381             $RE{bsd_1_clause} = {
3382             name => 'BSD-1-Clause',
3383             'name.alt.org.osi' => 'BSD-1-Clause',
3384             'name.alt.org.spdx.since.date_20171228' => 'BSD-1-Clause',
3385             'name.alt.org.wikidata.synth.nogrant' => 'Q19292556',
3386             caption => 'BSD 1-Clause License',
3387             'caption.alt.org.osi' => '1-clause BSD License',
3388             'caption.alt.org.wikidata' => '1-clause BSD License',
3389             'caption.alt.misc.parens' => 'BSD (1 clause)',
3390             tags => [
3391             'family:bsd',
3392             'license:is:grant',
3393             'type:unversioned',
3394             ],
3395              
3396             'pat.alt.subject.license.scope.multisection' =>
3397             $P{retain_notice_cond_discl} . '[.][ ]' . $P{asis_sw_by},
3398             };
3399              
3400             =item * bsd_2_clause
3401              
3402             =cut
3403              
3404             $RE{bsd_2_clause} = {
3405             name => 'BSD-2-Clause',
3406             'name.alt.org.debian' => 'BSD-2-clause',
3407             'name.alt.org.osi' => 'BSD-2-Clause',
3408             'name.alt.org.perl' => 'freebsd',
3409             'name.alt.org.spdx' => 'BSD-2-Clause',
3410             'name.alt.org.tldr' => 'bsd-2-clause-license-(freebsd)',
3411             'name.alt.org.tldr.path.short' => 'freebsd',
3412             'name.alt.org.wikidata.synth.nogrant' => 'Q18517294',
3413             'name.alt.misc.clauses' => '2-clause-BSD',
3414             'name.alt.misc.freebsd' => 'FreeBSD',
3415             'name.alt.misc.simplified' => 'Simplified-BSD',
3416             caption => 'BSD 2-Clause License',
3417             'caption.alt.org.fedora.misc.cc' => 'Creative Commons BSD',
3418             'caption.alt.org.osi' => 'The 2-Clause BSD License',
3419             'caption.alt.org.osi.misc.list' => '2-clause BSD License',
3420             'caption.alt.org.osi.misc.cat_list' => '2-clause BSD license',
3421             'caption.alt.org.perl' => 'FreeBSD License (two-clause)',
3422             'caption.alt.org.spdx.until.date_20171228' =>
3423             'BSD 2-clause "Simplified" License',
3424             'caption.alt.org.spdx.since.date_20171228' =>
3425             'BSD 2-Clause "Simplified" License',
3426             'caption.alt.org.tldr' => 'BSD 2-Clause License (FreeBSD/Simplified)',
3427             'caption.alt.org.wikidata' => '2-clause BSD License',
3428             'caption.alt.org.wikipedia.iri.bsd' =>
3429             '2-clause license ("Simplified BSD License" or "FreeBSD License")',
3430             'caption.alt.misc.parens' => 'BSD (2 clause)',
3431             'caption.alt.misc.ruby' => '2-clause BSDL',
3432             'caption.alt.misc.simplified' => 'Simplified BSD License',
3433             'caption.alt.misc.qemu' =>
3434             'BSD Licence (without advertising or endorsement clauses)',
3435             'iri.alt.org.cc.archive.time_20110401183132.until.date_20110401' =>
3436             'http://creativecommons.org/licenses/BSD/', # TODO: find official date
3437             tags => [
3438             'family:bsd',
3439             'license:is:grant',
3440             'type:unversioned',
3441             ],
3442              
3443             'pat.alt.subject.license.scope.multisection' =>
3444             $P{retain_notice_cond_discl}
3445             . '[.][ ]'
3446             . $P{repro_copr_cond_discl}
3447             . '[.][ ]'
3448             . $P{asis_sw_by},
3449             };
3450              
3451             =item * bsd_2_clause_freebsd
3452              
3453             I
3454              
3455             =cut
3456              
3457             $RE{bsd_2_clause_freebsd} = {
3458             name => 'BSD-2-Clause-FreeBSD',
3459             'name.alt.org.fedora.iri.bsd_short' => '2ClauseBSD',
3460             'name.alt.org.spdx.until.date_20200803' => 'BSD-2-Clause-FreeBSD',
3461             'name.alt.org.wikidata.synth.nogrant' => 'Q90408476',
3462             caption => 'BSD 2-clause FreeBSD License',
3463             'caption.alt.org.fedora' => 'BSD License (two clause)',
3464             'caption.alt.org.steward' => 'FreeBSD License',
3465             'caption.alt.org.spdx.until.date_20130117' =>
3466             'BSD 2-clause "FreeBSD" License',
3467             'caption.alt.org.spdx.since.date_20130117.until.date_20171228' =>
3468             'BSD 2-clause FreeBSD License',
3469             'caption.alt.org.spdx.since.date_20171228' =>
3470             'BSD 2-Clause FreeBSD License',
3471             'caption.alt.org.wikidata' => 'FreeBSD license',
3472             'summary.alt.org.fedora.iri.bsd' => 'FreeBSD BSD Variant (2 clause BSD)',
3473             tags => [
3474             'family:bsd',
3475             'license:contains:license:bsd_2_clause_views',
3476             'license:is:grant',
3477             'type:unversioned',
3478             ],
3479              
3480             'pat.alt.subject.license.scope.multisection' =>
3481             $P{retain_notice_cond_discl}
3482             . '[.][ ]'
3483             . $P{repro_copr_cond_discl}
3484             . '[.][ ]'
3485             . $P{discl_warranties} . '[. ]'
3486             . $P{discl_liability}
3487             . '[.][ ]'
3488             . 'The views and conclusions contained in the software and documentation '
3489             . 'are those of the authors and should not be interpreted '
3490             . 'as representing official policies, either expressed or implied, '
3491             . 'of the FreeBSD Project[.]',
3492             'pat.alt.subject.license.scope.line.scope.sentence.part.last' =>
3493             'expressed or implied, of the FreeBSD Project',
3494             };
3495              
3496             =item * bsd_2_clause_netbsd
3497              
3498             I
3499              
3500             =cut
3501              
3502             $RE{bsd_2_clause_netbsd} = {
3503             name => 'BSD-2-Clause-NetBSD',
3504             'name.alt.org.spdx.until.date_20200515' => 'BSD-2-Clause-NetBSD',
3505             caption => 'BSD 2-clause NetBSD License',
3506             'caption.alt.org.spdx.until.date_20130117' =>
3507             'BSD 2-clause "NetBSD" License',
3508             'caption.alt.org.spdx.since.date_20130117.until.date_20171228' =>
3509             'BSD 2-clause NetBSD License',
3510             'caption.alt.org.spdx.since.date_20171228' =>
3511             'BSD 2-Clause NetBSD License',
3512             tags => [
3513             'family:bsd',
3514             'license:contains:license:bsd_2_clause',
3515             'license:is:grant',
3516             'type:unversioned',
3517             ],
3518              
3519             'pat.alt.subject.license.scope.line.scope.sentence.part.first' =>
3520             'This code is derived from software contributed to The NetBSD Foundation by',
3521             'pat.alt.subject.license.scope.multisection' =>
3522             'This code is derived from software contributed to The NetBSD Foundation by[ word]{0,15}'
3523             . '[ ]'
3524             . $P{retain_notice_cond_discl}
3525             . '[.][ ]'
3526             . $P{repro_copr_cond_discl},
3527             };
3528              
3529             =item * bsd_2_clause_patent
3530              
3531             I
3532              
3533             =cut
3534              
3535             $RE{bsd_2_clause_patent} = {
3536             name => 'BSD+Patent',
3537             'name.alt.org.fedora' => 'BSD-2-Clause-Patent',
3538             'name.alt.org.fedora.iri.self' => 'BSD-2-Clause-Patent',
3539             'name.alt.org.osi' => 'BSDplusPatent',
3540             'name.alt.org.osi.misc.shortname' => 'BSD-2-Clause-Patent',
3541             'name.alt.org.spdx.since.date_20171228' => 'BSD-2-Clause-Patent',
3542             caption => 'BSD 2-Clause Plus Patent License',
3543             'caption.alt.org.fedora' => 'BSD + Patent',
3544             'caption.alt.org.spdx.since.date_20171228' =>
3545             'BSD 2-Clause Plus Patent License',
3546             'caption.alt.org.spdx.since.date_20171228' =>
3547             'BSD-2-Clause Plus Patent License',
3548             'caption.alt.org.osi' => 'BSD+Patent',
3549             tags => [
3550             'family:bsd',
3551             'license:contains:license:bsd_2_clause',
3552             'license:is:grant',
3553             'type:unversioned',
3554             ],
3555              
3556             'pat.alt.subject.license.scope.line.scope.sentence.part.last_but_disclaimers'
3557             => 'Except as expressly stated above, no rights or licenses',
3558             'pat.alt.subject.license.scope.multisection' =>
3559             $P{retain_notice_cond_discl}
3560             . '[.][ ]'
3561             . $P{repro_copr_cond_discl}
3562             . '[.][ ]'
3563             . 'Subject to the terms and conditions of this license, '
3564             . 'each copyright holder and contributor hereby grants',
3565             };
3566              
3567             =item * bsd_2_clause_views
3568              
3569             =cut
3570              
3571             $RE{bsd_2_clause_views} = {
3572             name => 'BSD-2-Clause-Views',
3573             'iri.alt.org.spdx.since.date_20200803' => 'BSD-2-Clause-Views',
3574             caption => 'BSD 2-Clause with views sentence',
3575             'caption.alt.misc.freebsd' => 'FreeBSD License',
3576             tags => [
3577             'family:bsd',
3578             'license:contains:license:bsd_2_clause',
3579             'license:is:grant',
3580             'type:unversioned',
3581             ],
3582              
3583             'pat.alt.subject.license.scope.multisection' =>
3584             $P{retain_notice_cond_discl}
3585             . '[.][ ]'
3586             . $P{repro_copr_cond_discl}
3587             . '[.][ ]'
3588             . $P{discl_warranties} . '[. ]'
3589             . $P{discl_liability}
3590             . '[.][ ]'
3591             . 'The views and conclusions contained in the software and documentation '
3592             . 'are those of the authors and should not be interpreted '
3593             . 'as representing official policies, either expressed or implied, '
3594             . 'of',
3595             };
3596              
3597             =item * bsd_3_clause
3598              
3599             =cut
3600              
3601             $RE{bsd_3_clause} = {
3602             name => 'BSD-3-Clause',
3603             'name.alt.org.debian' => 'BSD-3-clause',
3604             'name.alt.org.fedora.iri.bsd' => '3ClauseBSD',
3605             'name.alt.org.osi' => 'BSD-3-Clause',
3606             'name.alt.org.perl.synth.nogrant' => 'bsd',
3607             'name.alt.org.spdx' => 'BSD-3-Clause',
3608             'name.alt.org.tldr.path.short' => 'bsd3',
3609             'name.alt.org.wikidata.synth.nogrant' => 'Q18491847',
3610             'name.alt.misc.clauses' => '3-clause-BSD',
3611             'name.alt.misc.modified' => 'Modified-BSD',
3612             caption => 'BSD 3-Clause License',
3613             'caption.alt.org.fedora' => 'New BSD',
3614             'caption.alt.org.osi' => 'The 3-Clause BSD License',
3615             'caption.alt.org.osi.misc.list' => '3-clause BSD License',
3616             'caption.alt.org.osi.misc.list_lower' => '3-clause BSD license',
3617             'caption.alt.org.perl' => 'BSD License (three-clause)',
3618             'caption.alt.org.spdx.until.date_20171228' =>
3619             'BSD 3-clause "New" or "Revised" License',
3620             'caption.alt.org.spdx.since.date_20171228' =>
3621             'BSD 3-Clause "New" or "Revised" License',
3622             'caption.alt.org.tldr' => 'BSD 3-Clause License (Revised)',
3623             'caption.alt.org.wikidata' => '3-clause BSD License',
3624             'caption.alt.org.wikipedia.iri.bsd' =>
3625             '3-clause license ("BSD License 2.0", "Revised BSD License", "New BSD License", or "Modified BSD License")',
3626             'caption.alt.misc.modified' => 'Modified BSD License',
3627             'caption.alt.misc.new_lower' => 'new BSD License',
3628             'caption.alt.misc.new_parens' => '(new) BSD License',
3629             'caption.alt.misc.no_license' => '3-clause BSD',
3630             'caption.alt.misc.parens' => 'BSD (3 clause)',
3631             'caption.alt.misc.qemu' => 'BSD Licence (without advertising clause)',
3632             'summary.alt.org.fedora' => 'BSD License (no advertising)',
3633             'summary.alt.org.fedora.misc.new_bsd' =>
3634             'New BSD (no advertising, 3 clause)',
3635             tags => [
3636             'family:bsd',
3637             'license:contains:license:bsd_2_clause',
3638             'license:is:grant',
3639             'type:unversioned',
3640             ],
3641              
3642             'pat.alt.subject.license.scope.multisection' => $P{repro_copr_cond_discl}
3643             . '[.]?[ ]'
3644             . '(?:[*)]\[?(?:rescinded 22 July 1999'
3645             . '|This condition was removed[.])\]?)?' . '[*)]'
3646             . $P{nopromo_neither},
3647             };
3648              
3649             =item * bsd_3_clause_attribution
3650              
3651             I
3652              
3653             =cut
3654              
3655             $RE{bsd_3_clause_attribution} = {
3656             name => 'BSD-3-Clause-Attribution',
3657             'name.alt.org.spdx.since.date_20140807' => 'BSD-3-Clause-Attribution',
3658             caption => 'BSD with attribution',
3659             'caption.alt.org.fedora.iri.self' => 'BSD with attribution',
3660              
3661             # has word "Attribution title-cased, unlike caption
3662             'iri.alt.org.fedora.iri.self' =>
3663             'https://fedoraproject.org/wiki/Licensing/BSD_with_Attribution',
3664             tags => [
3665             'family:bsd',
3666             'license:contains:license:bsd_3_clause',
3667             'license:is:grant',
3668             'type:unversioned',
3669             ],
3670              
3671             'pat.alt.subject.license.scope.multisection.part.second_half' =>
3672             $P{nopromo_neither} . '[.][ ][*)]' . $P{redist_ack_this},
3673             };
3674              
3675             =item * bsd_3_clause_clear
3676              
3677             I
3678              
3679             =cut
3680              
3681             $RE{bsd_3_clause_clear} = {
3682             name => 'BSD-3-Clause-Clear',
3683             'name.alt.org.spdx.since.date_20130117' => 'BSD-3-Clause-Clear',
3684             caption => 'BSD 3-Clause Clear License',
3685             'caption.alt.org.spdx.until.date_20130410' =>
3686             'BSD 2-clause "Clear" License',
3687             'caption.alt.org.spdx.since.date_20130410.until.date_20171228' =>
3688             'BSD 3-clause Clear License',
3689             'caption.alt.org.spdx.since.date_20171228' =>
3690             'BSD 3-Clause Clear License',
3691             tags => [
3692             'family:bsd',
3693             'license:contains:license:bsd_3_clause',
3694             'license:is:grant',
3695             'type:unversioned',
3696             ],
3697              
3698             'pat.alt.subject.license.scope.multisection.part.second_half' =>
3699             $P{nopromo_neither}
3700             . '[.][ ]'
3701             . 'NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY[\']S PATENT RIGHTS ARE GRANTED BY THIS LICENSE'
3702             . '[. ]'
3703             . $P{discl_warranties},
3704             };
3705              
3706             =item * bsd_3_clause_eclipse
3707              
3708             I
3709              
3710             =cut
3711              
3712             # license scheme is unversioned, despite versioned name
3713             $RE{bsd_3_clause_eclipse} = {
3714             name => 'EDL-1.0',
3715             'name.alt.org.debian' => 'BSD-3-clause~Eclipse',
3716             'name.alt.org.steward' => 'EDL-1.0',
3717             'name.alt.org.wikidata.synth.nogrant' => 'Q26245522',
3718             caption => 'Eclipse Distribution License 1.0',
3719             'caption.alt.org.fedora' => 'Eclipse Distribution License 1.0',
3720             'caption.alt.org.steward' => 'Eclipse Distribution License - v 1.0',
3721             'caption.alt.org.wikidata' => 'Eclipse Distribution License',
3722             description => <<'END',
3723             Specific instance of BSD 3-Clause License,
3724             tied to "Eclipse Foundation, Inc.".
3725             END
3726             iri => 'http://www.eclipse.org/org/documents/edl-v10.php',
3727             tags => [
3728             'family:bsd',
3729             'license:contains:license:bsd_3_clause',
3730             'license:is:grant',
3731             'type:unversioned',
3732             ],
3733             licenseversion => '1.0',
3734              
3735             'pat.alt.subject.license.scope.line.scope.sentence.part.clause_3' =>
3736             'Neither the name of the Eclipse Foundation, Inc\. nor',
3737             };
3738              
3739             =item * bsd_3_clause_lbnl
3740              
3741             I
3742              
3743             =cut
3744              
3745             $RE{bsd_3_clause_lbnl} = {
3746             name => 'BSD-3-Clause-LBNL',
3747             'name.alt.org.fedora.iri.self' => 'LBNLBSD',
3748             'name.alt.org.osi' => 'BSD-3-Clause-LBNL',
3749             'name.alt.org.spdx.since.date_20140807' => 'BSD-3-Clause-LBNL',
3750             caption => 'Lawrence Berkeley National Labs BSD variant license',
3751             'caption.alt.org.fedora.misc.short' => 'LBNL BSD',
3752             'caption.alt.org.osi' =>
3753             'Lawrence Berkeley National Labs BSD Variant License',
3754             'caption.alt.org.osi.misc.list_bsd' => 'BSD-3-Clause-LBNL',
3755             tags => [
3756             'family:bsd',
3757             'license:is:grant',
3758             'type:unversioned',
3759             ],
3760             'pat.alt.subject.license.scope.multisection.part.second_half' =>
3761             $P{nopromo_neither}
3762             . '[.][ ]'
3763             . 'NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY[\']S PATENT RIGHTS ARE GRANTED BY THIS LICENSE'
3764             . '[. ]'
3765             . $P{discl_warranties} . '[. ]'
3766             . $P{discl_liability}
3767             . '[.][ ]'
3768             . 'You are under no obligation whatsoever to provide any bug fixes',
3769             'pat.alt.subject.license.scope.line.scope.sentence.part.last_disclaimer'
3770             => 'You are under no obligation whatsoever to provide any bug fixes',
3771             };
3772              
3773             =item * bsd_3_clause_modification
3774              
3775             =cut
3776              
3777             $RE{bsd_3_clause_modification} = {
3778             name => 'BSD-3-Clause-Modification',
3779             'name.alt.org.spdx.since.date_20210307' => 'BSD-3-Clause-Modification',
3780             caption => 'BSD 3-Clause Modification',
3781             tags => [
3782             'family:bsd',
3783             'license:contains:license:bsd_3_clause',
3784             'license:is:grant',
3785             'type:unversioned',
3786             ],
3787              
3788             'pat.alt.subject.license.scope.multisection.part.second_half' =>
3789             $P{nopromo_neither}
3790             . ' from the copyright holders'
3791             . '[.][ ]'
3792             . '[*)]If any files are modified'
3793             . ', you must cause the modified files to carry prominent notices'
3794             . ' stating that you changed the files and the date of any change',
3795             };
3796              
3797             =item * bsd_3_clause_no_military_license
3798              
3799             I
3800              
3801             =cut
3802              
3803             $RE{bsd_3_clause_no_military_license} = {
3804             name => 'BSD-3-Clause-No-Military-License',
3805             'name.alt.org.spdx.since.date_20210520' =>
3806             'BSD-3-Clause-No-Military-License',
3807             caption => 'BSD 3-Clause No Military License',
3808             tags => [
3809             'family:bsd',
3810             'license:contains:license:bsd_3_clause',
3811             'license:is:grant',
3812             'type:unversioned',
3813             ],
3814              
3815             'pat.alt.subject.license.scope.multisection.part.second_half' =>
3816             $P{nopromo_neither}
3817             . '[.][ ]'
3818             . $P{discl_warranties} . '[. ]'
3819             . $P{discl_liability}
3820             . '[.][ ]'
3821             . 'YOU ACKNOWLEDGE THAT THIS SOFTWARE'
3822             . ' IS NOT DESIGNED, LICENSED OR INTENDED'
3823             . ' FOR USE IN THE DESIGN, CONSTRUCTION, OPERATION OR MAINTENANCE'
3824             . ' OF ANY MILITARY FACILITY[.]',
3825             };
3826              
3827             =item * bsd_3_clause_no_nuclear_license
3828              
3829             I
3830              
3831             =cut
3832              
3833             $RE{bsd_3_clause_no_nuclear_license} = {
3834             name => 'BSD-3-Clause-No-Nuclear-License',
3835             'name.alt.org.spdx.since.date_20160721' =>
3836             'BSD-3-Clause-No-Nuclear-License',
3837             caption => 'BSD 3-Clause No Nuclear License',
3838             tags => [
3839             'family:bsd',
3840             'license:contains:license:bsd_3_clause',
3841             'license:is:grant',
3842             'type:unversioned',
3843             ],
3844              
3845             'pat.alt.subject.license.scope.multisection.part.second_half' =>
3846             $P{nopromo_neither}
3847             . '[.][ ]'
3848             . $P{discl_warranties_any_kind} . '[. ]'
3849             . $P{discl_warranties_excluded} . '[. ]'
3850             . $P{discl_liability_suffered} . '[. ]'
3851             . $P{discl_liability_revenue}
3852             . '[.][ ]'
3853             . 'You acknowledge that this software'
3854             . ' is not designed, licensed or intended for use'
3855             . ' in the design, construction, operation or maintenance'
3856             . ' of any nuclear facility[.]',
3857             };
3858              
3859             =item * bsd_3_clause_no_nuclear_license_2014
3860              
3861             I
3862              
3863             =cut
3864              
3865             $RE{bsd_3_clause_no_nuclear_license_2014} = {
3866             name => 'BSD-3-Clause-No-Nuclear-License-2014',
3867             'name.alt.org.spdx.since.date_20160721' =>
3868             'BSD-3-Clause-No-Nuclear-License-2014',
3869             caption => 'BSD 3-Clause No Nuclear License 2014',
3870             tags => [
3871             'family:bsd',
3872             'license:contains:license:bsd_3_clause',
3873             'license:is:grant',
3874             'type:unversioned',
3875             ],
3876              
3877             'pat.alt.subject.license.scope.multisection.part.second_half' =>
3878             $P{nopromo_neither}
3879             . '[.][ ]'
3880             . $P{discl_warranties} . '[. ]'
3881             . $P{discl_liability}
3882             . '[.][ ]'
3883             . 'You acknowledge that this software'
3884             . ' is not designed, licensed or intended for use'
3885             . ' in the design, construction, operation or maintenance'
3886             . ' of any nuclear facility[.]',
3887             };
3888              
3889             =item * bsd_3_clause_no_nuclear_warranty
3890              
3891             I
3892              
3893             =cut
3894              
3895             $RE{bsd_3_clause_no_nuclear_warranty} = {
3896             name => 'BSD-3-Clause-No-Nuclear-Warranty',
3897             'name.alt.org.spdx.since.date_20160721' =>
3898             'BSD-3-Clause-No-Nuclear-Warranty',
3899             caption => 'BSD 3-Clause No Nuclear Warranty',
3900             tags => [
3901             'family:bsd',
3902             'type:unversioned',
3903             ],
3904             tags => [
3905             'family:bsd',
3906             'license:contains:license:bsd_3_clause',
3907             'license:is:grant',
3908             'type:unversioned',
3909             ],
3910              
3911             'pat.alt.subject.license.scope.multisection.part.second_half' =>
3912             $P{nopromo_neither}
3913             . '[.][ ]'
3914             . $P{discl_warranties_any_kind} . '[. ]'
3915             . $P{discl_warranties_excluded} . '[. ]'
3916             . $P{discl_liability_suffered} . '[. ]'
3917             . $P{discl_liability_revenue}
3918             . '[.][ ]'
3919             . 'You acknowledge that this software'
3920             . ' is not designed or intended for use'
3921             . ' in the design, construction, operation or maintenance'
3922             . ' of any nuclear facility[.]',
3923             };
3924              
3925             =item * bsd_3_clause_refractions
3926              
3927             I
3928              
3929             =cut
3930              
3931             # license scheme is unversioned, despite versioned name
3932             $RE{bsd_3_clause_refractions} = {
3933             'name.alt.org.debian' => 'BSD-3-clause~Refractions',
3934             caption => 'Refractions BSD License v1.0',
3935             'caption.alt.org.steward' =>
3936             'Refractions BSD 3 Clause License (BSD) - v 1.0',
3937             description => <<'END',
3938             Specific instance of BSD 3-Clause License,
3939             tied to "Refractions Research".
3940             END
3941             iri => 'http://udig.refractions.net/files/bsd3-v10.html',
3942             tags => [
3943             'family:bsd',
3944             'license:contains:license:bsd_3_clause',
3945             'license:is:grant',
3946             'type:unversioned',
3947             ],
3948             licenseversion => '1.0',
3949              
3950             'pat.alt.subject.license.scope.line.scope.sentence.part.clause_3' =>
3951             'Neither the name of the Refractions Research nor',
3952             };
3953              
3954             =item * bsd_4_clause
3955              
3956             =cut
3957              
3958             $RE{bsd_4_clause} = {
3959             name => 'BSD-4-Clause',
3960             'name.alt.org.debian' => 'BSD-4-clause',
3961             'name.alt.org.fedora.iri.bsd_short' => 'BSDwithAdvertising',
3962             'name.alt.org.spdx' => 'BSD-4-Clause',
3963             'name.alt.org.tldr' => '4-clause-bsd',
3964             'name.alt.org.wikidata.synth.nogrant' => 'Q21503790',
3965             'name.alt.misc.clauses' => '4-clause-BSD',
3966             caption => 'BSD 4-Clause License',
3967             'caption.alt.org.fedora' => 'BSD License (original)',
3968             'caption.alt.org.fedora.misc.summary' => 'Original BSD License',
3969             'caption.alt.org.spdx.until.date_20171228' =>
3970             'BSD 4-clause "Original" or "Old" License',
3971             'caption.alt.org.spdx.since.date_20171228' =>
3972             'BSD 4-Clause "Original" or "Old" License',
3973             'caption.alt.org.tldr' => '4-Clause BSD',
3974             'caption.alt.org.wikidata' => '4-clause BSD License',
3975             'caption.alt.org.wikipedia.iri.bsd' =>
3976             '4-clause license (original "BSD License")',
3977             'caption.alt.misc.qemu' => 'BSD Licence (with advertising clause)',
3978             'caption.alt.misc.parens' => 'BSD (4 clause)',
3979             'summary.alt.org.fedora.iri.bsd' =>
3980             'Original BSD License (BSD with advertising)',
3981             tags => [
3982             'family:bsd',
3983             'license:contains:license:bsd_3_clause',
3984             'license:is:grant',
3985             'type:unversioned',
3986             ],
3987              
3988             'pat.alt.subject.license.scope.sentence' => $P{ad_mat_ack_this},
3989              
3990             # TODO: enable when possible to skip based on dependency graph
3991             # 'pat.alt.subject.license.scope.multisection.part.head' =>
3992             # $P{repro_copr_cond_discl} . '[.][ ]' . '[*)]?' . $P{ad_mat_ack_this},
3993             'pat.alt.subject.license.scope.multisection.part.tail' => '[*)]?'
3994             . $P{ad_mat_ack_this}
3995             . '[word][ word]{0,14}'
3996             . '[.][ ]' . '[*)]?'
3997             . $P{nopromo_neither},
3998             'pat.alt.subject.license.scope.multisection.part.most' =>
3999             $P{repro_copr_cond_discl}
4000             . '[.][ ][*)]?'
4001             . $P{ad_mat_ack_this}
4002             . '[word][ word]{0,14}'
4003             . '[.][ ][*)]?'
4004             . $P{nopromo_neither},
4005             };
4006              
4007             =item * bsd_4_clause_uc
4008              
4009             I
4010              
4011             =cut
4012              
4013             $RE{bsd_4_clause_uc} = {
4014             name => 'BSD-4-Clause-UC',
4015             'name.alt.org.spdx' => 'BSD-4-Clause-UC',
4016             caption => 'BSD-4-Clause (University of California-Specific)',
4017             description => <<'END',
4018             Specific instance of BSD 4-Clause License,
4019             tied to "University of California, Berkeley".
4020             END
4021             tags => [
4022             'family:bsd',
4023             'license:contains:license:bsd_4_clause',
4024             'license:is:grant',
4025             'type:unversioned',
4026             ],
4027              
4028             'pat.alt.subject.license.scope.multisection.part.tail' => '[*)]?'
4029             . $P{ad_mat_ack_this}
4030             . 'the University of California, Berkeley and its contributors'
4031             . '[.][ ]' . '[*)]?'
4032             . $P{nopromo_university},
4033             'pat.alt.subject.license.scope.multisection.part.most' =>
4034             $P{repro_copr_cond_discl}
4035             . '[.][ ][*)]?'
4036             . $P{ad_mat_ack_this}
4037             . 'the University of California, Berkeley and its contributors'
4038             . '[.][ ][*)]?'
4039             . $P{nopromo_university},
4040             };
4041              
4042             =item * bsd_protection
4043              
4044             I
4045              
4046             =cut
4047              
4048             $RE{bsd_protection} = {
4049             name => 'BSD-Protection',
4050             'name.alt.org.spdx.since.date_20140807' => 'BSD-Protection',
4051             caption => 'BSD Protection License',
4052             'caption.alt.org.fedora.iri.self' => 'BSD Protection License',
4053             'caption.alt.org.fedora.misc.short' => 'BSD Protection',
4054             tags => [
4055             'type:unversioned',
4056             ],
4057              
4058             'pat.alt.subject.license.scope.line.scope.sentence.part.section1' =>
4059             'This license governs the copying, distribution, and modification',
4060             };
4061              
4062             =item * bsl
4063              
4064             I
4065              
4066             =item * bsl_1
4067              
4068             I
4069              
4070             =cut
4071              
4072             $RE{bsl} = {
4073             name => 'BSL',
4074             'name.alt.misc.fossology_old' => 'Boost',
4075             'name.alt.org.wikidata.synth.nogrant' => 'Q2353141',
4076             caption => 'Boost Software License',
4077             'caption.alt.misc.mixedcase' => 'boost Software License',
4078             'iri.alt.org.wikipedia' =>
4079             'https://en.wikipedia.org/wiki/Boost_Software_License#License',
4080             tags => [
4081             'type:versioned:decimal',
4082             ],
4083             };
4084              
4085             $RE{bsl_1} = {
4086             name => 'BSL-1.0',
4087             'name.alt.org.osi' => 'BSL-1.0',
4088             'name.alt.org.fedora.synth.nogrant' => 'Boost',
4089             'name.alt.org.osi.iri.stem.until.date_20110430' => 'bsl1.0',
4090             'name.alt.org.spdx' => 'BSL-1.0',
4091             'name.alt.org.tldr' => 'boost-software-license-1.0-explained',
4092             'name.alt.org.tldr.path.short.synth.nogrant' => 'boost',
4093             'name.alt.misc.fossology_old' => 'Boost_v1.0',
4094             caption => 'Boost Software License 1.0',
4095             'caption.alt.org.fedora.synth.nogrant' => 'Boost Software License',
4096             'caption.alt.misc.mixedcase' => 'boost Software License, Version 1.0',
4097             'caption.alt.org.osi.misc.list.synth.nogrant' => 'Boost Software License',
4098             'caption.alt.org.tldr' => 'Boost Software License 1.0 (BSL-1.0)',
4099             'caption.alt.org.trove' => 'Boost Software License 1.0 (BSL-1.0)',
4100             iri => 'http://www.boost.org/LICENSE_1_0.txt',
4101             tags => [
4102             'license:is:grant',
4103             'type:singleversion:bsl',
4104             ],
4105             licenseversion => '1.0',
4106              
4107             'pat.alt.subject.license' =>
4108             'this license [(]the ["]Software["][)] to use, reproduce',
4109             };
4110              
4111             =item * bzip2
4112              
4113             =item * bzip2_1_0_5
4114              
4115             =item * bzip2_1_0_6
4116              
4117             =cut
4118              
4119             $RE{bzip2} = {
4120             name => 'bzip2',
4121             caption => 'bzip2 and libbzip2 License',
4122             tags => [
4123             'type:versioned:decimal',
4124             ],
4125              
4126             'pat.alt.subject.license' =>
4127             '[*)]Redistributions of source code must retain '
4128             . 'the above copyright notice, this list of conditions '
4129             . 'and the following disclaimer[.][ ]'
4130             . '[*)]The origin of this software must not be misrepresented[;] '
4131             . 'you must not claim that you wrote the original software[. ]'
4132             . 'If you use this software in a product, '
4133             . 'an acknowledgment in the product documentation '
4134             . 'would be appreciated but is not required[.][ ]'
4135             . '[*)]Altered source versions must be plainly marked as such, '
4136             . 'and must not be misrepresented as being the original software[.][ ]'
4137             . '[*)]The name of the author may not be used '
4138             . 'to endorse or promote products derived from this software '
4139             . 'without specific prior written permission[.]',
4140             };
4141              
4142             $RE{bzip2_1_0_5} = {
4143             name => 'bzip2-1.0.5',
4144             'name.alt.org.spdx.since.date_20140807' => 'bzip2-1.0.5',
4145             caption => 'bzip2 and libbzip2 License v1.0.5',
4146             tags => [
4147             'license:is:grant',
4148             'type:singleversion:bzip2',
4149             ],
4150             licenseversion => '1.0.5',
4151              
4152             'pat.alt.subject.license' =>
4153             'This program, ["]?bzip2["]?(?: and|, the) associated library ["]?libbzip2["]?, '
4154             . '(?:and all documentation, )?'
4155             . 'are copyright[c] 1996[-]2007',
4156             };
4157              
4158             $RE{bzip2_1_0_6} = {
4159             name => 'bzip2-1.0.6',
4160             'name.alt.org.spdx.since.date_20140807' => 'bzip2-1.0.6',
4161             'name.alt.org.tldr.synth.nogrant' => 'bzip2',
4162             caption => 'bzip2 and libbzip2 License v1.0.6',
4163             'caption.alt.org.tldr.synth.nogrant' => 'bzip2 (original)',
4164             tags => [
4165             'license:is:grant',
4166             'type:singleversion:bzip2',
4167             ],
4168             licenseversion => '1.0.6',
4169              
4170             'pat.alt.subject.license' =>
4171             'This program, ["]?bzip2["]?(?: and|, the) associated library ["]?libbzip2["]?, '
4172             . '(?:and all documentation, )?'
4173             . 'are copyright[c] 1996[-]2010',
4174             };
4175              
4176             =item * cal
4177              
4178             I
4179              
4180             =item * cal_1
4181              
4182             I
4183              
4184             =cut
4185              
4186             $RE{cal} = {
4187             name => 'CAL',
4188             caption => 'Cryptographic Autonomy License',
4189             tags => [
4190             'type:versioned:decimal',
4191             ],
4192             };
4193              
4194             $RE{cal_1} = {
4195             name => 'CAL-1.0',
4196             'name.alt.org.osi' => 'CAL-1.0',
4197             'name.alt.org.spdx.since.date_20200515' => 'CAL-1.0',
4198             caption => 'Cryptographic Autonomy License 1.0',
4199             'caption.alt.org.osi' => 'Cryptographic Autonomy License version 1.0',
4200             'caption.alt.org.osi.misc.list' => 'Cryptographic Autonomy License v.1.0',
4201             'caption.alt.misc.legal' => 'The Cryptographic Autonomy License, v. 1.0',
4202             'iri.alt.misc.github' =>
4203             'https://github.com/holochain/cryptographic-autonomy-license',
4204             tags => [
4205             'type:singleversion:cal',
4206             ],
4207             licenseversion => '1.0',
4208              
4209             'pat.alt.subject.license' =>
4210             'This Cryptographic Autonomy License [(]the ["]License["][)] '
4211             . 'applies to any Work '
4212             . 'whose owner has marked it',
4213             };
4214              
4215             =item * caldera
4216              
4217             =cut
4218              
4219             $RE{caldera} = {
4220             name => 'Caldera',
4221             'name.alt.org.spdx.since.date_20140807' => 'Caldera',
4222             caption => 'Caldera License',
4223             'caption.alt.org.tldr' => 'Caldera License',
4224             tags => [
4225             'license:is:grant',
4226             'type:unversioned',
4227             ],
4228              
4229             'pat.alt.subject.license' =>
4230             'Caldera International, Inc\. hereby grants a fee free license',
4231             };
4232              
4233             =item * catosl
4234              
4235             =item * catosl_1_1
4236              
4237             =cut
4238              
4239             $RE{catosl} = {
4240             name => 'CATOSL',
4241             caption => 'Computer Associates Trusted Open Source License',
4242             tags => [
4243             'type:versioned:decimal',
4244             ],
4245             };
4246              
4247             $RE{catosl_1_1} = {
4248             name => 'CATOSL-1.1',
4249             'name.alt.org.fedora.synth.nogrant' => 'CATOSL',
4250             'name.alt.org.osi' => 'CATOSL-1.1',
4251             'name.alt.org.osi.iri.stem.until.date_20110430' => 'ca-tosl1.0',
4252             'name.alt.org.spdx' => 'CATOSL-1.1',
4253             'name.alt.org.wikidata.synth.nogrant' => 'Q38365570',
4254             'name.alt.misc.fossology_old' => 'CA1.1',
4255             caption => 'Computer Associates Trusted Open Source License 1.1',
4256             'caption.alt.org.tldr' =>
4257             'Computer Associates Trusted Open Source License 1.1 (CATOSL-1.1)',
4258             'caption.alt.org.wikidata' =>
4259             'Computer Associates Trusted Open Source License, Version 1.1',
4260             tags => [
4261             'type:singleversion:catosl',
4262             ],
4263             licenseversion => '1.1',
4264              
4265             'pat.alt.subject.license' =>
4266             'Contribution means[*)]in the case of CA, the Original Program',
4267             };
4268              
4269             =item * cc_by
4270              
4271             =item * cc_by_1
4272              
4273             I
4274              
4275             =item * cc_by_2
4276              
4277             I
4278              
4279             =item * cc_by_2_5
4280              
4281             I
4282              
4283             =item * cc_by_3
4284              
4285             I
4286              
4287             =item * cc_by_4
4288              
4289             I
4290              
4291             =cut
4292              
4293             # sources of introduction and expiry dates:
4294             #
4295             #
4296             #
4297              
4298             my $if_dist_work_or_works_keep_intact_notices
4299             = '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';
4300             my $if_dist_work_or_collections_keep_intact_notices
4301             = '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';
4302             my $credit_author_if_supplied
4303             = ' 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;';
4304             my $credit_author_or_designated_party
4305             = ' provide, reasonable to the medium or means You are utilizing[:]?'
4306             . ' [*)] the name of the Original Author [(]or pseudonym, if applicable[)] if supplied, and[/]or'
4307             . ' [*)] if the Original Author and[/]or Licensor designate another party or parties'
4308             . ' [(][eg] a sponsor institute, publishing entity, journal[)]'
4309             . ' for attribution in Licensor[\']?s copyright notice, terms of service or by other reasonable means,'
4310             . ' the name of such party or parties;';
4311              
4312             #" 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;";
4313             #' [*)] the title of the Work if supplied;';
4314             my $to_extend_URI
4315             = ' to the extent reasonably practicable, the Uniform Resource Identifier, if any, that Licensor specifies to be associated with the Work,'
4316             . ' unless such URI does not refer to the copyright notice or licensing information for the Work; and';
4317              
4318             # ' (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'
4319             #" (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.
4320              
4321             $RE{cc_by} = {
4322             name => 'CC-BY',
4323             'name.alt.org.fedora' => 'CC-BY',
4324             'name.alt.org.cc' => 'CC-BY',
4325             'name.alt.org.wikidata.synth.nogrant' => 'Q6905323',
4326             'name.alt.misc.fossology_old_vague.synth.nogrant' => 'CCPL',
4327             'name.alt.misc.fossology_old_vague_short.synth.nogrant' => 'CCA',
4328             caption => 'Creative Commons Attribution',
4329             'caption.alt.org.fedora' => 'Creative Commons Attribution license',
4330             tags => [
4331             'family:cc:standard',
4332             'type:versioned:decimal',
4333             ],
4334              
4335             'pat.alt.subject.name' => '(?:'
4336             . $P{cc}
4337             . '[- ](?:'
4338             . $P{cc_by} . '|BY|'
4339             . $P{cc_url} . 'by))',
4340             };
4341              
4342             $RE{cc_by_1} = {
4343             name => 'CC-BY-1.0',
4344             'name.alt.org.cc' => 'CC-BY-1.0',
4345             'name.alt.org.spdx' => 'CC-BY-1.0',
4346             'name.alt.org.wikidata.synth.nogrant' => 'Q30942811',
4347             'name.alt.misc.fossology_old_vague.synth.nogrant' => 'CCA1.0',
4348             caption => 'Creative Commons Attribution 1.0 Generic',
4349             'caption.alt.org.cc' =>
4350             'Creative Commons Attribution 1.0 Generic License',
4351             'caption.alt.org.cc.misc.legal.synth.nogrant' => 'Attribution 1.0',
4352             'caption.alt.org.cc.misc.shortname' => 'CC BY 1.0',
4353             'caption.alt.org.cc.misc.deed' => 'Attribution 1.0 Generic (CC BY 1.0)',
4354             'caption.alt.org.spdx.until.date_20150513' =>
4355             'Creative Commons Attribution 1.0',
4356             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
4357             'Creative Commons Attribution 1.0 Generic',
4358             'caption.alt.org.spdx.since.date_20150730' =>
4359             'Creative Commons Attribution 1.0',
4360             'caption.alt.org.wikidata' => 'Creative Commons Attribution 1.0 Generic',
4361             iri => 'https://creativecommons.org/licenses/by/1.0/',
4362             tags => [
4363             'family:cc:standard',
4364             'type:singleversion:cc_by',
4365             ],
4366             licenseversion => '1.0',
4367              
4368             'pat.alt.subject.license.scope.multisection.part.intro' =>
4369             'Creative Commons Attribution 1.0[ ]' . $cc_intro_1,
4370             'pat.alt.subject.license.scope.multisection.part.part4' =>
4371             'as requested[. ]' . '[*)]?'
4372             . $if_dist_work_or_works_keep_intact_notices
4373             . $credit_author_if_supplied
4374             . ' the title of the Work if supplied;'
4375             . ' in the case of a Derivative',
4376             };
4377              
4378             $RE{cc_by_2} = {
4379             name => 'CC-BY-2.0',
4380             'name.alt.org.cc.since.date_20040525' => 'CC-BY-2.0',
4381             'name.alt.org.spdx' => 'CC-BY-2.0',
4382             'name.alt.org.wikidata.synth.nogrant' => 'Q19125117',
4383             'name.alt.misc.fossology_old_vague.synth.nogrant' => 'CCPL_v2.0',
4384             caption => 'Creative Commons Attribution 2.0',
4385             'caption.alt.org.cc' =>
4386             'Creative Commons Attribution 2.0 Generic License',
4387             'caption.alt.org.cc.misc.legal.synth.nogrant' => 'Attribution 2.0',
4388             'caption.alt.org.cc.misc.shortname' => 'CC BY 2.0',
4389             'caption.alt.org.cc.misc.deed' => 'Attribution 2.0 Generic (CC BY 2.0)',
4390             'caption.alt.org.spdx.until.date_20150513' =>
4391             'Creative Commons Attribution 2.0',
4392             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
4393             'Creative Commons Attribution 2.0 Generic',
4394             'caption.alt.org.spdx.since.date_20150730' =>
4395             'Creative Commons Attribution 2.0',
4396             'caption.alt.org.wikidata' => 'Creative Commons Attribution 2.0 Generic',
4397             iri => 'https://creativecommons.org/licenses/by/2.0/',
4398             tags => [
4399             'family:cc:standard',
4400             'type:singleversion:cc_by',
4401             ],
4402             licenseversion => '2.0',
4403              
4404             'pat.alt.subject.license.scope.multisection.part.intro' =>
4405             'Creative Commons Attribution 2.0[ ]' . $cc_intro,
4406             'pat.alt.subject.license.scope.multisection.part.part4' =>
4407             'as requested[. ]' . '[*)]?'
4408             . $if_dist_work_or_works_keep_intact_notices
4409             . $credit_author_if_supplied
4410             . ' the title of the Work if supplied;'
4411             . $to_extend_URI
4412             . ' in the case of a Derivative',
4413             };
4414              
4415             $RE{cc_by_2_5} = {
4416             name => 'CC-BY-2.5',
4417             'name.alt.org.cc.since.date_20050600' => 'CC-BY-2.5',
4418             'name.alt.org.spdx' => 'CC-BY-2.5',
4419             'name.alt.org.wikidata.synth.nogrant' => 'Q18810333',
4420             'name.alt.misc.fossology_old_vague.synth.nogrant' => 'CCPL_v2.5',
4421             'name.alt.misc.fossology_old_vague_short.synth.nogrant' => 'CCA_v2.5',
4422             'name.alt.misc.fossology_old_vague_shorter.synth.nogrant' => 'CCA2.5',
4423             caption => 'Creative Commons Attribution 2.5',
4424             'caption.alt.org.cc' =>
4425             'Creative Commons Attribution 2.5 Generic License',
4426             'caption.alt.org.cc.misc.legal.synth.nogrant' => 'Attribution 2.5',
4427             'caption.alt.org.cc.misc.shortname' => 'CC BY 2.5',
4428             'caption.alt.org.cc.misc.deed' => 'Attribution 2.5 Generic (CC BY 2.5)',
4429             'caption.alt.org.spdx.until.date_20150513' =>
4430             'Creative Commons Attribution 2.5',
4431             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
4432             'Creative Commons Attribution 2.5 Generic',
4433             'caption.alt.org.spdx.since.date_20150730' =>
4434             'Creative Commons Attribution 2.5',
4435             'caption.alt.org.wikidata' => 'Creative Commons Attribution 2.5 Generic',
4436             iri => 'https://creativecommons.org/licenses/by/2.5/',
4437             tags => [
4438             'family:cc:standard',
4439             'type:singleversion:cc_by',
4440             ],
4441             licenseversion => '2.5',
4442              
4443             'pat.alt.subject.license.scope.multisection.part.intro' =>
4444             'Creative Commons Attribution 2.5[ ]' . $cc_intro,
4445             'pat.alt.subject.license.scope.multisection.part.part4' =>
4446             'as requested[. ]' . '[*)]?'
4447             . $if_dist_work_or_works_keep_intact_notices
4448             . $credit_author_or_designated_party
4449             . ' the title of the Work if supplied;'
4450             . $to_extend_URI
4451             . ' in the case of a Derivative',
4452             };
4453              
4454             $RE{cc_by_3} = {
4455             name => 'CC-BY-3.0',
4456             'name.alt.org.cc.since.date_20070223' => 'CC-BY-3.0',
4457             'name.alt.org.spdx' => 'CC-BY-3.0',
4458             'name.alt.org.tldr.synth.nogrant' => 'creative-commons-attribution-(cc)',
4459             'name.alt.org.wikidata.synth.nogrant' => 'Q14947546',
4460             'name.alt.misc.fossology_old_vague.synth.nogrant' => 'CCPL_v3.0',
4461             'name.alt.misc.fossology_old_vague_short.synth.nogrant' => 'CCA3.0',
4462             caption => 'Creative Commons Attribution 3.0',
4463             'caption.alt.org.cc' =>
4464             'Creative Commons Attribution 3.0 Unported License',
4465             'caption.alt.org.cc.misc.modern' =>
4466             'Creative Commons Attribution 3.0 International License',
4467             'caption.alt.org.cc.misc.legal' => 'Attribution 3.0 Unported',
4468             'caption.alt.org.cc.misc.shortname' => 'CC BY 3.0',
4469             'caption.alt.org.cc.misc.deed' => 'Attribution 3.0 Unported (CC BY 3.0)',
4470             'caption.alt.org.spdx.until.date_20150513' =>
4471             'Creative Commons Attribution 3.0',
4472             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
4473             'Creative Commons Attribution 3.0 Unported',
4474             'caption.alt.org.spdx.since.date_20150730' =>
4475             'Creative Commons Attribution 3.0',
4476             'caption.alt.org.tldr' =>
4477             'Creative Commons Attribution 3.0 Unported (CC-BY)',
4478             'caption.alt.org.wikidata' => 'Creative Commons Attribution 3.0 Unported',
4479             iri => 'https://creativecommons.org/licenses/by/3.0/',
4480             tags => [
4481             'family:cc:standard',
4482             'type:singleversion:cc_by',
4483             ],
4484             licenseversion => '3.0',
4485              
4486             'pat.alt.subject.license.scope.multisection.part.intro' =>
4487             'Creative Commons Attribution 3.0 Unported[ ]' . $cc_intro,
4488             'pat.alt.subject.license.scope.multisection.part.part4' =>
4489             'as requested[. ]' . '[*)]?'
4490             . $if_dist_work_or_collections_keep_intact_notices
4491              
4492             # . $credit_author_or_designated_party
4493             # . ' the title of the Work if supplied;'
4494             # . ' 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'
4495             # . ' in the case of a Derivative',
4496             };
4497              
4498             $RE{cc_by_4} = {
4499             name => 'CC-BY-4.0',
4500             'name.alt.org.cc.since.date_20131125' => 'CC-BY-4.0',
4501             'name.alt.org.spdx.since.date_20140807' => 'CC-BY-4.0',
4502             'name.alt.org.tldr' =>
4503             'creative-commons-attribution-4.0-international-(cc-by-4)',
4504             'name.alt.org.tldr.path.short' => 'ccby4',
4505             'name.alt.org.wikidata.synth.nogrant' => 'Q20007257',
4506             caption => 'Creative Commons Attribution 4.0',
4507             'caption.alt.org.cc' =>
4508             'Creative Commons Attribution 4.0 International License',
4509             'caption.alt.org.cc.misc.legal.synth.nogrant' =>
4510             'Attribution 4.0 International',
4511             'caption.alt.org.cc.misc.shortname' => 'CC BY 4.0',
4512             'caption.alt.org.cc.misc.deed' =>
4513             'Attribution 4.0 International (CC BY 4.0)',
4514             'caption.alt.org.spdx.until.date_20150513' =>
4515             'Creative Commons Attribution 4.0',
4516             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
4517             'Creative Commons Attribution 4.0 International',
4518             'caption.alt.org.spdx.since.date_20150730' =>
4519             'Creative Commons Attribution 4.0',
4520             'caption.alt.org.tldr' =>
4521             'Creative Commons Attribution 4.0 International (CC BY 4.0)',
4522             'caption.alt.org.wikidata' =>
4523             'Creative Commons Attribution 4.0 International',
4524             iri => 'https://creativecommons.org/licenses/by/4.0/',
4525             tags => [
4526             'family:cc:standard',
4527             'type:singleversion:cc_by',
4528             ],
4529             licenseversion => '4.0',
4530              
4531             'pat.alt.subject.license.scope.sentence.part.intro' =>
4532             $cc_by_exercising_you_accept_this
4533             . 'Creative Commons Attribution 4.0',
4534             };
4535              
4536             =item * cc_by_nc
4537              
4538             =item * cc_by_nc_1
4539              
4540             I
4541              
4542             =item * cc_by_nc_2
4543              
4544             I
4545              
4546             =item * cc_by_nc_2_5
4547              
4548             I
4549              
4550             =item * cc_by_nc_3
4551              
4552             I
4553              
4554             =item * cc_by_nc_4
4555              
4556             I
4557              
4558             =cut
4559              
4560             $RE{cc_by_nc} = {
4561             name => 'CC-BY-NC',
4562             'name.alt.org.cc' => 'CC-BY-NC',
4563             'name.alt.org.wikidata.synth.nogrant' => 'Q6936496',
4564             caption => 'Creative Commons Attribution-NonCommercial',
4565             'caption.alt.org.fedora' => 'Creative Commons Attribution-NonCommercial',
4566             tags => [
4567             'family:cc:standard',
4568             'type:versioned:decimal',
4569             ],
4570              
4571             'pat.alt.subject.name' => '(?:'
4572             . $P{cc}
4573             . '[- ](?:'
4574             . $P{cc_by} . '[- ]'
4575             . $P{cc_nc}
4576             . '|BY[- ]NC|'
4577             . $P{cc_url}
4578             . 'by-nc))',
4579             };
4580              
4581             $RE{cc_by_nc_1} = {
4582             name => 'CC-BY-NC-1.0',
4583             'name.alt.org.cc' => 'CC-BY-NC-1.0',
4584             'name.alt.org.spdx' => 'CC-BY-NC-1.0',
4585             'name.alt.org.wikidata.synth.nogrant' => 'Q44283370',
4586             caption => 'Creative Commons Attribution-NonCommercial 1.0',
4587             'caption.alt.org.cc' =>
4588             'Creative Commons Attribution-NonCommercial 1.0 Generic License',
4589             'caption.alt.org.cc.misc.legal' => 'Attribution-NonCommercial 1.0',
4590             'caption.alt.org.cc.misc.shortname' => 'CC BY-NC 1.0',
4591             'caption.alt.org.cc.misc.deed' =>
4592             'Attribution-NonCommercial 1.0 Generic (CC BY-NC 1.0)',
4593             'caption.alt.org.spdx.until.date_20150513' =>
4594             'Creative Commons Attribution Non Commercial 1.0',
4595             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
4596             'Creative Commons Attribution Non Commercial 1.0 Generic',
4597             'caption.alt.org.spdx.since.date_20150730' =>
4598             'Creative Commons Attribution Non Commercial 1.0',
4599             'caption.alt.org.wikidata' =>
4600             'Creative Commons Attribution-NonCommercial 1.0 Generic',
4601             iri => 'https://creativecommons.org/licenses/by-nc/1.0/',
4602             tags => [
4603             'family:cc:standard',
4604             'type:singleversion:cc_by_nc',
4605             ],
4606             licenseversion => '1.0',
4607              
4608             'pat.alt.subject.license.scope.multisection.part.intro' =>
4609             'Creative Commons Attribution-NonCommercial 1.0[ ]' . $cc_intro_1,
4610             };
4611              
4612             $RE{cc_by_nc_2} = {
4613             name => 'CC-BY-NC-2.0',
4614             'name.alt.org.cc.since.date_20040525' => 'CC-BY-NC-2.0',
4615             'name.alt.org.spdx' => 'CC-BY-NC-2.0',
4616             'name.alt.org.tldr' => 'creative-commons-public-license-(ccpl)',
4617             'name.alt.org.wikidata.synth.nogrant' => 'Q44128984',
4618             caption => 'Creative Commons Attribution-NonCommercial 2.0',
4619             'caption.alt.org.cc' =>
4620             'Creative Commons Attribution-NonCommercial 2.0 Generic License',
4621             'caption.alt.org.cc.misc.legal' => 'Attribution-NonCommercial 2.0',
4622             'caption.alt.org.cc.misc.shortname' => 'CC BY-NC 2.0',
4623             'caption.alt.org.cc.misc.deed' =>
4624             'Attribution-NonCommercial 2.0 Generic (CC BY-NC 2.0)',
4625             'caption.alt.org.spdx.until.date_20150513' =>
4626             'Creative Commons Attribution Non Commercial 2.0',
4627             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
4628             'Creative Commons Attribution Non Commercial 2.0 Generic',
4629             'caption.alt.org.spdx.since.date_20150730' =>
4630             'Creative Commons Attribution Non Commercial 2.0',
4631             'caption.alt.org.tldr' =>
4632             'Creative Commons Attribution-NonCommercial 2.0 Generic (CC BY-NC 2.0)',
4633             'caption.alt.org.wikidata' =>
4634             'Creative Commons Attribution-NonCommercial 2.0 Generic',
4635             iri => 'https://creativecommons.org/licenses/by-nc/2.0/',
4636             tags => [
4637             'family:cc:standard',
4638             'type:singleversion:cc_by_nc',
4639             ],
4640             licenseversion => '2.0',
4641              
4642             'pat.alt.subject.license.scope.multisection.part.intro' =>
4643             'Creative Commons Attribution-NonCommercial 2.0[ ]' . $cc_intro,
4644             };
4645              
4646             $RE{cc_by_nc_2_5} = {
4647             name => 'CC-BY-NC-2.5',
4648             'name.alt.org.cc.since.date_20050600' => 'CC-BY-NC-2.5',
4649             'name.alt.org.spdx' => 'CC-BY-NC-2.5',
4650             'name.alt.org.wikidata.synth.nogrant' => 'Q19113746',
4651             caption => 'Creative Commons Attribution-NonCommercial 2.5',
4652             'caption.alt.org.cc' =>
4653             'Creative Commons Attribution-NonCommercial 2.5 Generic License',
4654             'caption.alt.org.cc.misc.legal' => 'Attribution-NonCommercial 2.5',
4655             'caption.alt.org.cc.misc.shortname' => 'CC BY-NC 2.5',
4656             'caption.alt.org.cc.misc.deed' =>
4657             'Attribution-NonCommercial 2.5 Generic (CC BY-NC 2.5)',
4658             'caption.alt.org.spdx.until.date_20150513' =>
4659             'Creative Commons Attribution Non Commercial 2.5',
4660             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
4661             'Creative Commons Attribution Non Commercial 2.5 Generic',
4662             'caption.alt.org.spdx.since.date_20150730' =>
4663             'Creative Commons Attribution Non Commercial 2.5',
4664             'caption.alt.org.wikidata' =>
4665             'Creative Commons Attribution-NonCommercial 2.5 Generic',
4666             iri => 'https://creativecommons.org/licenses/by-nc/2.5/',
4667             tags => [
4668             'family:cc:standard',
4669             'type:singleversion:cc_by_nc',
4670             ],
4671             licenseversion => '2.5',
4672              
4673             'pat.alt.subject.license.scope.multisection.part.intro' =>
4674             'Creative Commons Attribution-NonCommercial 2.5[ ]' . $cc_intro,
4675             };
4676              
4677             $RE{cc_by_nc_3} = {
4678             name => 'CC-BY-NC-3.0',
4679             'name.alt.org.cc.since.date_20070223' => 'CC-BY-NC-3.0',
4680             'name.alt.org.spdx' => 'CC-BY-NC-3.0',
4681             'name.alt.org.tldr.synth.nogrant' =>
4682             'creative-commons-attribution-noncommercial-(cc-nc)',
4683             'name.alt.org.wikidata.synth.nogrant' => 'Q18810331',
4684             caption => 'Creative Commons Attribution-NonCommercial 3.0',
4685             'caption.alt.org.cc' =>
4686             'Creative Commons Attribution-NonCommercial 3.0 Unported License',
4687             'caption.alt.org.cc.misc.modern' =>
4688             'Creative Commons Attribution-NonCommercial 3.0 International License',
4689             'caption.alt.org.cc.misc.legal' =>
4690             'Attribution-NonCommercial 3.0 Unported',
4691             'caption.alt.org.cc.misc.shortname' => 'CC BY-NC 3.0',
4692             'caption.alt.org.cc.misc.deed' =>
4693             'Attribution-NonCommercial 3.0 Unported (CC BY-NC 3.0)',
4694             'caption.alt.org.spdx.until.date_20150513' =>
4695             'Creative Commons Attribution Non Commercial 3.0',
4696             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
4697             'Creative Commons Attribution Non Commercial 3.0 Unported',
4698             'caption.alt.org.spdx.since.date_20150730' =>
4699             'Creative Commons Attribution Non Commercial 3.0',
4700             'caption.alt.org.tldr.synth.nogrant' =>
4701             'Creative Commons Attribution NonCommercial (CC-BY-NC)',
4702             'caption.alt.org.wikidata' =>
4703             'Creative Commons Attribution-NonCommercial 3.0 Unported',
4704             iri => 'https://creativecommons.org/licenses/by-nc/3.0/',
4705             tags => [
4706             'family:cc:standard',
4707             'type:singleversion:cc_by_nc',
4708             ],
4709             licenseversion => '3.0',
4710              
4711             'pat.alt.subject.license.scope.multisection.part.intro' =>
4712             'Creative Commons Attribution-NonCommercial 3.0 Unported[ ]'
4713             . $cc_intro,
4714             };
4715              
4716             $RE{cc_by_nc_4} = {
4717             name => 'CC-BY-NC-4.0',
4718             'name.alt.org.cc.since.date_20131125' => 'CC-BY-NC-4.0',
4719             'name.alt.org.spdx.since.date_20140807' => 'CC-BY-NC-4.0',
4720             'name.alt.org.wikidata.synth.nogrant' => 'Q34179348',
4721             caption => 'Creative Commons Attribution-NonCommercial 4.0',
4722             'caption.alt.org.cc' =>
4723             'Creative Commons Attribution-NonCommercial 4.0 International License',
4724             'caption.alt.org.cc.misc.legal' =>
4725             'Attribution-NonCommercial 4.0 International',
4726             'caption.alt.org.cc.misc.shortname' => 'CC BY-NC 4.0',
4727             'caption.alt.org.cc.misc.deed' =>
4728             'Attribution-NonCommercial 4.0 International (CC BY-NC 4.0)',
4729             'caption.alt.org.spdx.until.date_20150513' =>
4730             'Creative Commons Attribution Non Commercial 4.0',
4731             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
4732             'Creative Commons Attribution Non Commercial 4.0 International',
4733             'caption.alt.org.spdx.since.date_20150730' =>
4734             'Creative Commons Attribution Non Commercial 4.0',
4735             'caption.alt.org.tldr' =>
4736             'Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0)',
4737             'caption.alt.org.wikidata' =>
4738             'Creative Commons Attribution-NonCommercial 4.0 International',
4739             iri => 'https://creativecommons.org/licenses/by-nc/4.0/',
4740             tags => [
4741             'family:cc:standard',
4742             'type:singleversion:cc_by_nc',
4743             ],
4744             licenseversion => '4.0',
4745              
4746             'pat.alt.subject.license.scope.sentence.part.intro' =>
4747             $cc_by_exercising_you_accept_this
4748             . 'Creative Commons Attribution-NonCommercial 4.0',
4749             };
4750              
4751             =item * cc_by_nc_nd
4752              
4753             =item * cc_by_nc_nd_1
4754              
4755             I
4756              
4757             =item * cc_by_nc_nd_2
4758              
4759             I
4760              
4761             =item * cc_by_nc_nd_2_5
4762              
4763             I
4764              
4765             =item * cc_by_nc_nd_3
4766              
4767             I
4768              
4769             =item * cc_by_nc_nd_4
4770              
4771             I
4772              
4773             =cut
4774              
4775             $RE{cc_by_nc_nd} = {
4776             name => 'CC-BY-NC-ND',
4777             'name.alt.org.cc' => 'CC-BY-NC-ND',
4778             'name.alt.org.wikidata.synth.nogrant' => 'Q6937225',
4779             caption => 'Creative Commons Attribution-NonCommercial-NoDerivatives',
4780             'caption.alt.org.cc.misc.abbrev' =>
4781             'Creative Commons Attribution-NonCommercial-NoDerivs',
4782             'caption.alt.org.cc.misc.abbrev_flipped' =>
4783             'Creative Commons Attribution-NoDerivs-NonCommercial',
4784             'caption.alt.org.fedora' =>
4785             'Creative Commons Attribution-NonCommercial-NoDerivs',
4786             tags => [
4787             'family:cc:standard',
4788             'type:versioned:decimal',
4789             ],
4790              
4791             'pat.alt.subject.name' => '(?:'
4792             . $P{cc}
4793             . '[- ](?:'
4794             . $P{cc_by}
4795             . '[- ](?:'
4796             . $P{cc_nc} . '[- ]'
4797             . $P{cc_nd} . '|'
4798             . $P{cc_nd} . '[- ]'
4799             . $P{cc_nc}
4800             . ')|BY[- ]NC[- ]ND|'
4801             . $P{cc_url}
4802             . 'by-nc-nd))',
4803             };
4804              
4805             $RE{cc_by_nc_nd_1} = {
4806             name => 'CC-BY-NC-ND-1.0',
4807             'name.alt.org.cc' => 'CC-BY-ND-NC-1.0',
4808             'name.alt.org.spdx' => 'CC-BY-NC-ND-1.0',
4809             'name.alt.org.wikidata.synth.nogrant' => 'Q47008926',
4810             caption => 'Creative Commons Attribution-NoDerivs-NonCommercial 1.0',
4811             'caption.alt.org.cc' =>
4812             'Creative Commons Attribution-NoDerivs-NonCommercial 1.0 Generic License',
4813             'caption.alt.org.cc.misc.legal' =>
4814             'Attribution-NoDerivs-NonCommercial 1.0',
4815             'caption.alt.org.cc.misc.shortname' => 'CC BY-ND-NC 1.0',
4816             'caption.alt.org.cc.misc.deed' =>
4817             'Attribution-NoDerivs-NonCommercial 1.0 Generic (CC BY-ND-NC 1.0)',
4818             'caption.alt.org.spdx.until.date_20150513' =>
4819             'Creative Commons Attribution Non Commercial No Derivatives 1.0',
4820             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
4821             'Creative Commons Attribution Non Commercial No Derivatives 1.0 Generic',
4822             'caption.alt.org.spdx.since.date_20150730' =>
4823             'Creative Commons Attribution Non Commercial No Derivatives 1.0',
4824             'caption.alt.org.wikidata' =>
4825             'Creative Commons Attribution-NonCommercial-NoDerivs 1.0 Generic',
4826             iri => 'https://creativecommons.org/licenses/by-nd-nc/1.0/',
4827             tags => [
4828             'family:cc:standard',
4829             'type:singleversion:cc_by_nc_nd',
4830             ],
4831             licenseversion => '1.0',
4832              
4833             'pat.alt.subject.license.scope.multisection.part.intro' =>
4834             'Creative Commons Attribution-NoDerivs-NonCommercial 1.0[ ]'
4835             . $cc_intro_1,
4836             };
4837              
4838             $RE{cc_by_nc_nd_2} = {
4839             name => 'CC-BY-NC-ND-2.0',
4840             'name.alt.org.cc.since.date_20040525' => 'CC-BY-NC-ND-2.0',
4841             'name.alt.org.spdx' => 'CC-BY-NC-ND-2.0',
4842             'name.alt.org.wikidata.synth.nogrant' => 'Q47008927',
4843             caption => 'Creative Commons Attribution-NonCommercial-NoDerivs 2.0',
4844             'caption.alt.org.cc' =>
4845             'Creative Commons Attribution-NonCommercial-NoDerivs 2.0 Generic License',
4846             'caption.alt.org.cc.misc.legal' =>
4847             'Attribution-NonCommercial-NoDerivs 2.0',
4848             'caption.alt.org.cc.misc.shortname' => 'CC BY-NC-ND 2.0',
4849             'caption.alt.org.cc.misc.deed' =>
4850             'Attribution-NonCommercial-NoDerivs 2.0 Generic (CC BY-NC-ND 2.0)',
4851             'caption.alt.org.spdx.until.date_20150513' =>
4852             'Creative Commons Attribution Non Commercial No Derivatives 2.0',
4853             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
4854             'Creative Commons Attribution Non Commercial No Derivatives 2.0 Generic',
4855             'caption.alt.org.spdx.since.date_20150730' =>
4856             'Creative Commons Attribution Non Commercial No Derivatives 2.0',
4857             'caption.alt.org.wikidata' =>
4858             'Creative Commons Attribution-NonCommercial-NoDerivs 2.0 Generic',
4859             iri => 'https://creativecommons.org/licenses/by-nc-nd/2.0/',
4860             tags => [
4861             'family:cc:standard',
4862             'type:singleversion:cc_by_nc_nd',
4863             ],
4864             licenseversion => '2.0',
4865              
4866             'pat.alt.subject.license.scope.multisection.part.intro' =>
4867             'Creative Commons Attribution-NonCommercial-NoDerivs 2.0[ ]'
4868             . $cc_intro,
4869             };
4870              
4871             $RE{cc_by_nc_nd_2_5} = {
4872             name => 'CC-BY-NC-ND-2.5',
4873             'name.alt.org.cc.since.date_20050600' => 'CC-BY-NC-ND-2.5',
4874             'name.alt.org.spdx' => 'CC-BY-NC-ND-2.5',
4875             'name.alt.org.wikidata.synth.nogrant' => 'Q19068204',
4876             caption => 'Creative Commons Attribution-NonCommercial-NoDerivs 2.5',
4877             'caption.alt.org.cc' =>
4878             'Creative Commons Attribution-NonCommercial-NoDerivs 2.5 Generic License',
4879             'caption.alt.org.cc.misc.legal' =>
4880             'Attribution-NonCommercial-NoDerivs 2.5',
4881             'caption.alt.org.cc.misc.shortname' => 'CC BY-NC-ND 2.5',
4882             'caption.alt.org.cc.misc.deed' =>
4883             'Attribution-NonCommercial-NoDerivs 2.5 Generic (CC BY-NC-ND 2.5)',
4884             'caption.alt.org.spdx.until.date_20150513' =>
4885             'Creative Commons Attribution Non Commercial No Derivatives 2.5',
4886             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
4887             'Creative Commons Attribution Non Commercial No Derivatives 2.5 Generic',
4888             'caption.alt.org.spdx.since.date_20150730' =>
4889             'Creative Commons Attribution Non Commercial No Derivatives 2.5',
4890             'caption.alt.org.wikidata' =>
4891             'Creative Commons Attribution-NonCommercial-NoDerivs 2.5 Generic',
4892             iri => 'https://creativecommons.org/licenses/by-nc-nd/2.5/',
4893             tags => [
4894             'family:cc:standard',
4895             'type:singleversion:cc_by_nc_nd',
4896             ],
4897             licenseversion => '2.5',
4898              
4899             'pat.alt.subject.license.scope.multisection.part.intro' =>
4900             'Creative Commons Attribution-NonCommercial-NoDerivs 2.5[ ]'
4901             . $cc_intro,
4902             };
4903              
4904             $RE{cc_by_nc_nd_3} = {
4905             name => 'CC-BY-NC-ND-3.0',
4906             'name.alt.org.cc.since.date_20070223' => 'CC-BY-NC-ND-3.0',
4907             'name.alt.org.spdx' => 'CC-BY-NC-ND-3.0',
4908             'name.alt.org.wikidata.synth.nogrant' => 'Q19125045',
4909             caption => 'Creative Commons Attribution-NonCommercial-NoDerivs 3.0',
4910             'caption.alt.org.cc' =>
4911             'Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License',
4912             'caption.alt.org.cc.misc.modern' =>
4913             'Creative Commons Attribution-NonCommercial-NoDerivs 3.0 International License',
4914             'caption.alt.org.cc.misc.legal' =>
4915             'Attribution-NonCommercial-NoDerivs 3.0 Unported',
4916             'caption.alt.org.cc.misc.shortname' => 'CC BY-NC-ND 3.0',
4917             'caption.alt.org.cc.misc.deed' =>
4918             'Attribution-NonCommercial-NoDerivs 3.0 Unported (CC BY-NC-ND 3.0)',
4919             'caption.alt.org.spdx.until.date_20150513' =>
4920             'Creative Commons Attribution Non Commercial No Derivatives 3.0',
4921             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
4922             'Creative Commons Attribution Non Commercial No Derivatives 3.0 Unported',
4923             'caption.alt.org.spdx.since.date_20150730' =>
4924             'Creative Commons Attribution Non Commercial No Derivatives 3.0',
4925             'caption.alt.org.tldr.synth.nogrant' =>
4926             'Creative Commons Attribution NonCommercial NoDerivs (CC-NC-ND)',
4927             'caption.alt.org.wikidata' =>
4928             'Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported',
4929             iri => 'https://creativecommons.org/licenses/by-nc-nd/3.0/',
4930             tags => [
4931             'family:cc:standard',
4932             'type:singleversion:cc_by_nc_nd',
4933             ],
4934             licenseversion => '3.0',
4935              
4936             'pat.alt.subject.license.scope.multisection.part.intro' =>
4937             'Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported[ ]'
4938             . $cc_intro,
4939             };
4940              
4941             $RE{cc_by_nc_nd_4} = {
4942             name => 'CC-BY-NC-ND-4.0',
4943             'name.alt.org.cc.since.date_20131125' => 'CC-BY-NC-ND-4.0',
4944             'name.alt.org.spdx.since.date_20140807' => 'CC-BY-NC-ND-4.0',
4945             'name.alt.org.wikidata.synth.nogrant' => 'Q24082749',
4946             caption => 'Creative Commons Attribution-NonCommercial-NoDerivatives 4.0',
4947             'caption.alt.org.cc' =>
4948             'Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License',
4949             'caption.alt.org.cc.misc.legal' =>
4950             'Attribution-NonCommercial-NoDerivatives 4.0 International',
4951             'caption.alt.org.cc.misc.shortname' => 'CC BY-NC-ND 4.0',
4952             'caption.alt.org.cc.misc.deed' =>
4953             'Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0)',
4954             'caption.alt.org.spdx.until.date_20150513' =>
4955             'Creative Commons Attribution Non Commercial No Derivatives 4.0',
4956             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
4957             'Creative Commons Attribution Non Commercial No Derivatives 4.0 International',
4958             'caption.alt.org.spdx.since.date_20150730' =>
4959             'Creative Commons Attribution Non Commercial No Derivatives 4.0',
4960             'caption.alt.org.wikidata' =>
4961             'Creative Commons Attribution-NonCommercial-NoDerivs 4.0 International',
4962             iri => 'https://creativecommons.org/licenses/by-nc-nd/4.0/',
4963             tags => [
4964             'family:cc:standard',
4965             'type:singleversion:cc_by_nc_nd',
4966             ],
4967             licenseversion => '4.0',
4968              
4969             'pat.alt.subject.license.scope.sentence.part.intro' =>
4970             $cc_by_exercising_you_accept_this
4971             . 'Creative Commons Attribution-NonCommercial-NoDerivatives 4.0',
4972             };
4973              
4974             =item * cc_by_nc_sa
4975              
4976             =item * cc_by_nc_sa_1
4977              
4978             I
4979              
4980             =item * cc_by_nc_sa_2
4981              
4982             I
4983              
4984             =item * cc_by_nc_sa_2_5
4985              
4986             I
4987              
4988             =item * cc_by_nc_sa_3
4989              
4990             I
4991              
4992             =item * cc_by_nc_sa_4
4993              
4994             I
4995              
4996             =cut
4997              
4998             $RE{cc_by_nc_sa} = {
4999             name => 'CC-BY-NC-SA',
5000             'name.alt.org.cc' => 'CC-BY-NC-SA',
5001             'name.alt.org.wikidata.synth.nogrant' => 'Q6998997',
5002             caption => 'Creative Commons Attribution-NonCommercial-ShareAlike',
5003             'caption.alt.org.fedora' =>
5004             'Creative Commons Attribution-NonCommercial-ShareAlike',
5005             'caption.alt.org.wikidata.until.date_20210809' =>
5006             'Creative Commons Attribution–NonCommercial-ShareAlike',
5007             'caption.alt.org.wikidata.since.date_20210809' =>
5008             'Creative Commons Attribution-NonCommercial-ShareAlike',
5009             tags => [
5010             'family:cc:standard',
5011             'type:versioned:decimal',
5012             ],
5013              
5014             'pat.alt.subject.name' => '(?:'
5015             . $P{cc}
5016             . '[- ](?:'
5017             . $P{cc_by} . '[- ]'
5018             . $P{cc_nc} . '[- ]'
5019             . $P{cc_sa}
5020             . '|BY[- ]NC[- ]SA|'
5021             . $P{cc_url}
5022             . 'by-nc-sa))',
5023             };
5024              
5025             $RE{cc_by_nc_sa_1} = {
5026             name => 'CC-BY-NC-SA-1.0',
5027             'name.alt.org.cc' => 'CC-BY-NC-SA-1.0',
5028             'name.alt.org.spdx' => 'CC-BY-NC-SA-1.0',
5029             'name.alt.org.wikidata.synth.nogrant' => 'Q47008954',
5030             caption => 'Creative Commons Attribution-NonCommercial-ShareAlike 1.0',
5031             'caption.alt.org.cc' =>
5032             'Creative Commons Attribution-NonCommercial-ShareAlike 1.0 Generic License',
5033             'caption.alt.org.cc.misc.legal' =>
5034             'Attribution-NonCommercial-ShareAlike 1.0',
5035             'caption.alt.org.cc.misc.shortname' => 'CC BY-NC-SA 1.0',
5036             'caption.alt.org.cc.misc.deed' =>
5037             'Attribution-NonCommercial-ShareAlike 1.0 Generic (CC BY-NC-SA 1.0)',
5038             'caption.alt.org.spdx.until.date_20150513' =>
5039             'Creative Commons Attribution Non Commercial Share Alike 1.0',
5040             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
5041             'Creative Commons Attribution Non Commercial Share Alike 1.0 Generic',
5042             'caption.alt.org.spdx.since.date_20150730' =>
5043             'Creative Commons Attribution Non Commercial Share Alike 1.0',
5044             'caption.alt.org.wikidata' =>
5045             'Creative Commons Attribution-NonCommercial-ShareAlike 1.0 Generic',
5046             iri => 'https://creativecommons.org/licenses/by-nc-sa/1.0/',
5047             tags => [
5048             'family:cc:standard',
5049             'type:singleversion:cc_by_nc_sa',
5050             ],
5051             licenseversion => '1.0',
5052              
5053             'pat.alt.subject.license.scope.multisection.part.intro' =>
5054             'Creative Commons Attribution-NonCommercial-ShareAlike 1.0[ ]'
5055             . $cc_intro_1,
5056             };
5057              
5058             $RE{cc_by_nc_sa_2} = {
5059             name => 'CC-BY-NC-SA-2.0',
5060             'name.alt.org.cc.since.date_20040525' => 'CC-BY-NC-SA-2.0',
5061             'name.alt.org.spdx' => 'CC-BY-NC-SA-2.0',
5062             'name.alt.org.wikidata.synth.nogrant' => 'Q28050835',
5063             caption => 'Creative Commons Attribution-NonCommercial-ShareAlike 2.0',
5064             'caption.alt.org.cc' =>
5065             'Creative Commons Attribution-NonCommercial-ShareAlike 2.0 Generic License',
5066             'caption.alt.org.cc.misc.legal' =>
5067             'Attribution-NonCommercial-ShareAlike 2.0',
5068             'caption.alt.org.cc.misc.shortname' => 'CC BY-NC-SA 2.0',
5069             'caption.alt.org.cc.misc.deed' =>
5070             'Attribution-NonCommercial-ShareAlike 2.0 Generic (CC BY-NC-SA 2.0)',
5071             'caption.alt.org.spdx.until.date_20150513' =>
5072             'Creative Commons Attribution Non Commercial Share Alike 2.0',
5073             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
5074             'Creative Commons Attribution Non Commercial Share Alike 2.0 Generic',
5075             'caption.alt.org.spdx.since.date_20150730' =>
5076             'Creative Commons Attribution Non Commercial Share Alike 2.0',
5077             'caption.alt.org.wikidata' =>
5078             'Creative Commons Attribution-NonCommercial-ShareAlike 2.0 Generic',
5079             iri => 'https://creativecommons.org/licenses/by-nc-sa/2.0/',
5080             tags => [
5081             'family:cc:standard',
5082             'type:singleversion:cc_by_nc_sa',
5083             ],
5084             licenseversion => '2.0',
5085              
5086             'pat.alt.subject.license.scope.multisection.part.intro' =>
5087             'Creative Commons Attribution-NonCommercial-ShareAlike 2.0[ ]'
5088             . $cc_intro,
5089             };
5090              
5091             $RE{cc_by_nc_sa_2_5} = {
5092             name => 'CC-BY-NC-SA-2.5',
5093             'name.alt.org.cc.since.date_20050600' => 'CC-BY-NC-SA-2.5',
5094             'name.alt.org.spdx' => 'CC-BY-NC-SA-2.5',
5095             'name.alt.org.wikidata.synth.nogrant' => 'Q19068212',
5096             caption => 'Creative Commons Attribution-NonCommercial-ShareAlike 2.5',
5097             'caption.alt.org.cc' =>
5098             'Creative Commons Attribution-NonCommercial-ShareAlike 2.5 Generic License',
5099             'caption.alt.org.cc.misc.legal' =>
5100             'Attribution-NonCommercial-ShareAlike 2.5',
5101             'caption.alt.org.cc.misc.shortname' => 'CC BY-NC-SA 2.5',
5102             'caption.alt.org.cc.misc.deed' =>
5103             'Attribution-NonCommercial-ShareAlike 2.5 Generic (CC BY-NC-SA 2.5)',
5104             'caption.alt.org.spdx.until.date_20150513' =>
5105             'Creative Commons Attribution Non Commercial Share Alike 2.5',
5106             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
5107             'Creative Commons Attribution Non Commercial Share Alike 2.5 Generic',
5108             'caption.alt.org.spdx.since.date_20150730' =>
5109             'Creative Commons Attribution Non Commercial Share Alike 2.5',
5110             'caption.alt.org.wikidata' =>
5111             'Creative Commons Attribution-NonCommercial-ShareAlike 2.5 Generic',
5112             iri => 'https://creativecommons.org/licenses/by-nc-sa/2.5/',
5113             tags => [
5114             'family:cc:standard',
5115             'type:singleversion:cc_by_nc_sa',
5116             ],
5117             licenseversion => '2.5',
5118              
5119             'pat.alt.subject.license.scope.multisection.part.intro' =>
5120             'Creative Commons Attribution-NonCommercial-ShareAlike 2.5[ ]'
5121             . $cc_intro,
5122             };
5123              
5124             $RE{cc_by_nc_sa_3} = {
5125             name => 'CC-BY-NC-SA-3.0',
5126             'name.alt.org.cc.since.date_20070223' => 'CC-BY-NC-SA-3.0',
5127             'name.alt.org.spdx' => 'CC-BY-NC-SA-3.0',
5128             'name.alt.org.wikidata.synth.nogrant' => 'Q15643954',
5129             caption => 'Creative Commons Attribution-NonCommercial-ShareAlike 3.0',
5130             'caption.alt.org.cc' =>
5131             'Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License',
5132             'caption.alt.org.cc.misc.modern' =>
5133             'Creative Commons Attribution-NonCommercial-ShareAlike 3.0 International License',
5134             'caption.alt.org.cc.misc.legal' =>
5135             'Attribution-NonCommercial-ShareAlike 3.0 Unported',
5136             'caption.alt.org.cc.misc.shortname' => 'CC BY-NC-SA 3.0',
5137             'caption.alt.org.cc.misc.deed' =>
5138             'Attribution-NonCommercial-ShareAlike 3.0 Unported (CC BY-NC-SA 3.0)',
5139             'caption.alt.org.spdx.until.date_20150513' =>
5140             'Creative Commons Attribution Non Commercial Share Alike 3.0',
5141             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
5142             'Creative Commons Attribution Non Commercial Share Alike 3.0 Unported',
5143             'caption.alt.org.spdx.since.date_20150730' =>
5144             'Creative Commons Attribution Non Commercial Share Alike 3.0',
5145             'caption.alt.org.tldr.synth.nogrant' =>
5146             'Creative Commons Attribution NonCommercial ShareAlike (CC-NC-SA)',
5147             'caption.alt.org.wikidata' =>
5148             'Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported',
5149             iri => 'https://creativecommons.org/licenses/by-nc-sa/3.0/',
5150             tags => [
5151             'family:cc:standard',
5152             'type:singleversion:cc_by_nc_sa',
5153             ],
5154             licenseversion => '3.0',
5155              
5156             'pat.alt.subject.license.scope.multisection.part.intro' =>
5157             'Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported[ ]'
5158             . $cc_intro,
5159             };
5160              
5161             $RE{cc_by_nc_sa_4} = {
5162             name => 'CC-BY-NC-SA-4.0',
5163             'name.alt.org.cc.since.date_20131125' => 'CC-BY-NC-SA-4.0',
5164             'name.alt.org.spdx.since.date_20140807' => 'CC-BY-NC-SA-4.0',
5165             'name.alt.org.wikidata.synth.nogrant' => 'Q42553662',
5166             caption => 'Creative Commons Attribution-NonCommercial-ShareAlike 4.0',
5167             'caption.alt.org.cc' =>
5168             'Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License',
5169             'caption.alt.org.cc.misc.legal' =>
5170             'Attribution-NonCommercial-ShareAlike 4.0 International',
5171             'caption.alt.org.cc.misc.shortname' => 'CC BY-NC-SA 4.0',
5172             'caption.alt.org.cc.misc.deed' =>
5173             'Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)',
5174             'caption.alt.org.spdx.until.date_20150513' =>
5175             'Creative Commons Attribution Non Commercial Share Alike 4.0',
5176             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
5177             'Creative Commons Attribution Non Commercial Share Alike 4.0 International',
5178             'caption.alt.org.spdx.since.date_20150730' =>
5179             'Creative Commons Attribution Non Commercial Share Alike 4.0',
5180             'caption.alt.org.tldr' =>
5181             'Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)',
5182             'caption.alt.org.wikidata' =>
5183             'Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International',
5184             iri => 'https://creativecommons.org/licenses/by-nc-sa/4.0/',
5185             tags => [
5186             'family:cc:standard',
5187             'type:singleversion:cc_by_nc_sa',
5188             ],
5189             licenseversion => '4.0',
5190              
5191             'pat.alt.subject.license.scope.sentence.part.intro' =>
5192             $cc_by_exercising_you_accept_this
5193             . 'Creative Commons Attribution-NonCommercial-ShareAlike 4.0',
5194             };
5195              
5196             =item * cc_by_nd
5197              
5198             =item * cc_by_nd_1
5199              
5200             I
5201              
5202             =item * cc_by_nd_2
5203              
5204             I
5205              
5206             =item * cc_by_nd_2_5
5207              
5208             I
5209              
5210             =item * cc_by_nd_3
5211              
5212             I
5213              
5214             =item * cc_by_nd_4
5215              
5216             I
5217              
5218             =cut
5219              
5220             $RE{cc_by_nd} = {
5221             name => 'CC-BY-ND',
5222             'name.alt.org.cc' => 'CC-BY-ND',
5223             'name.alt.org.fedora' => 'CC-BY-ND',
5224             'name.alt.org.wikidata.synth.nogrant' => 'Q6999319',
5225             caption => 'Creative Commons Attribution-NoDerivatives',
5226             'caption.alt.org.cc.misc.abbrev' =>
5227             'Creative Commons Attribution-NoDerivs',
5228             'caption.alt.org.fedora' => 'Creative Commons Attribution-NoDerivs',
5229             'caption.alt.org.wikidata' =>
5230             'Creative Commons Attribution-NoDerivatives',
5231             tags => [
5232             'family:cc:standard',
5233             'type:versioned:decimal',
5234             ],
5235              
5236             'pat.alt.subject.name' => '(?:'
5237             . $P{cc}
5238             . '[- ](?:'
5239             . $P{cc_by} . '[- ]'
5240             . $P{cc_nd}
5241             . '|BY[- ]ND|'
5242             . $P{cc_url}
5243             . 'by-nd))',
5244             };
5245              
5246             $RE{cc_by_nd_1} = {
5247             name => 'CC-BY-ND-1.0',
5248             'name.alt.org.cc' => 'CC-BY-ND-1.0',
5249             'name.alt.org.spdx' => 'CC-BY-ND-1.0',
5250             'name.alt.org.wikidata.synth.nogrant' => 'Q47008966',
5251             caption => 'Creative Commons Attribution-NoDerivs 1.0',
5252             'caption.alt.org.cc' =>
5253             'Creative Commons Attribution-NoDerivs 1.0 Generic License',
5254             'caption.alt.org.cc.misc.legal' => 'Attribution-NoDerivs 1.0',
5255             'caption.alt.org.cc.misc.shortname' => 'CC BY-ND 1.0',
5256             'caption.alt.org.cc.misc.deed' =>
5257             'Attribution-NoDerivs 1.0 Generic (CC BY-ND 1.0)',
5258             'caption.alt.org.spdx.until.date_20150513' =>
5259             'Creative Commons Attribution No Derivatives 1.0',
5260             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
5261             'Creative Commons Attribution No Derivatives 1.0 Generic',
5262             'caption.alt.org.spdx.since.date_20150730' =>
5263             'Creative Commons Attribution No Derivatives 1.0',
5264             'caption.alt.org.wikidata' =>
5265             'Creative Commons Attribution-NoDerivs 1.0 Generic',
5266             iri => 'https://creativecommons.org/licenses/by-nd/1.0/',
5267             tags => [
5268             'family:cc:standard',
5269             'type:singleversion:cc_by_nd',
5270             ],
5271             licenseversion => '1.0',
5272              
5273             'pat.alt.subject.license.scope.multisection.part.intro' =>
5274             'Creative Commons Attribution-NoDerivs 1.0[ ]' . $cc_intro_1,
5275             };
5276              
5277             $RE{cc_by_nd_2} = {
5278             name => 'CC-BY-ND-2.0',
5279             'name.alt.org.cc.since.date_20040525' => 'CC-BY-ND-2.0',
5280             'name.alt.org.spdx' => 'CC-BY-ND-2.0',
5281             'name.alt.org.wikidata.synth.nogrant' => 'Q35254645',
5282             caption => 'Creative Commons Attribution-NoDerivs 2.0',
5283             'caption.alt.org.cc' =>
5284             'Creative Commons Attribution-NoDerivs 2.0 Generic License',
5285             'caption.alt.org.cc.misc.legal' => 'Attribution-NoDerivs 2.0',
5286             'caption.alt.org.cc.misc.shortname' => 'CC BY-ND 2.0',
5287             'caption.alt.org.cc.misc.deed' =>
5288             'Attribution-NoDerivs 2.0 Generic (CC BY-ND 2.0)',
5289             'caption.alt.org.spdx.until.date_20150513' =>
5290             'Creative Commons Attribution No Derivatives 2.0',
5291             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
5292             'Creative Commons Attribution No Derivatives 2.0 Generic',
5293             'caption.alt.org.spdx.since.date_20150730' =>
5294             'Creative Commons Attribution No Derivatives 2.0',
5295             'caption.alt.org.wikidata' =>
5296             'Creative Commons Attribution-NoDerivs 2.0 Generic',
5297             iri => 'https://creativecommons.org/licenses/by-nd/2.0/',
5298             tags => [
5299             'family:cc:standard',
5300             'type:singleversion:cc_by_nd',
5301             ],
5302             licenseversion => '2.0',
5303              
5304             'pat.alt.subject.license.scope.multisection.part.intro' =>
5305             'Creative Commons Attribution-NoDerivs 2.0[ ]' . $cc_intro,
5306             };
5307              
5308             $RE{cc_by_nd_2_5} = {
5309             name => 'CC-BY-ND-2.5',
5310             'name.alt.org.cc.since.date_20050600' => 'CC-BY-ND-2.5',
5311             'name.alt.org.spdx' => 'CC-BY-ND-2.5',
5312             'name.alt.org.wikidata.synth.nogrant' => 'Q18810338',
5313             caption => 'Creative Commons Attribution-NoDerivs 2.5',
5314             'caption.alt.org.cc' =>
5315             'Creative Commons Attribution-NoDerivs 2.5 Generic License',
5316             'caption.alt.org.cc.misc.legal' => 'Attribution-NoDerivs 2.5',
5317             'caption.alt.org.cc.misc.shortname' => 'CC BY-ND 2.5',
5318             'caption.alt.org.cc.misc.deed' =>
5319             'Attribution-NoDerivs 2.5 Generic (CC BY-ND 2.5)',
5320             'caption.alt.org.spdx.until.date_20150513' =>
5321             'Creative Commons Attribution No Derivatives 2.5',
5322             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
5323             'Creative Commons Attribution No Derivatives 2.5 Generic',
5324             'caption.alt.org.spdx.since.date_20150730' =>
5325             'Creative Commons Attribution No Derivatives 2.5',
5326             'caption.alt.org.wikidata' =>
5327             'Creative Commons Attribution-NoDerivs 2.5 Generic',
5328             iri => 'https://creativecommons.org/licenses/by-nd/2.5/',
5329             tags => [
5330             'family:cc:standard',
5331             'type:singleversion:cc_by_nd',
5332             ],
5333             licenseversion => '2.5',
5334              
5335             'pat.alt.subject.license.scope.multisection.part.intro' =>
5336             'Creative Commons Attribution-NoDerivs 2.5[ ]' . $cc_intro,
5337             };
5338              
5339             $RE{cc_by_nd_3} = {
5340             name => 'CC-BY-ND-3.0',
5341             'name.alt.org.cc.since.date_20070223' => 'CC-BY-ND-3.0',
5342             'name.alt.org.spdx' => 'CC-BY-ND-3.0',
5343             'name.alt.org.wikidata.synth.nogrant' => 'Q18810160',
5344             caption => 'Creative Commons Attribution-NoDerivs 3.0',
5345             'caption.alt.org.cc' =>
5346             'Creative Commons Attribution-NoDerivs 3.0 Unported License',
5347             'caption.alt.org.cc.misc.modern' =>
5348             'Creative Commons Attribution-NoDerivs 3.0 International License',
5349             'caption.alt.org.cc.misc.legal' => 'Attribution-NoDerivs 3.0 Unported',
5350             'caption.alt.org.cc.misc.shortname' => 'CC BY-ND 3.0',
5351             'caption.alt.org.cc.misc.deed' =>
5352             'Attribution-NoDerivs 3.0 Unported (CC BY-ND 3.0)',
5353             'caption.alt.org.spdx.until.date_20150513' =>
5354             'Creative Commons Attribution No Derivatives 3.0',
5355             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
5356             'Creative Commons Attribution No Derivatives 3.0 Unported',
5357             'caption.alt.org.spdx.since.date_20150730' =>
5358             'Creative Commons Attribution No Derivatives 3.0',
5359             'caption.alt.org.tldr.synth.nogrant' =>
5360             'Creative Commons Attribution NoDerivs (CC-ND)',
5361             'caption.alt.org.wikidata' =>
5362             'Creative Commons Attribution-NoDerivs 3.0 Unported',
5363             iri => 'https://creativecommons.org/licenses/by-nd/3.0/',
5364             tags => [
5365             'family:cc:standard',
5366             'type:singleversion:cc_by_nd',
5367             ],
5368             licenseversion => '3.0',
5369              
5370             'pat.alt.subject.license.scope.multisection.part.intro' =>
5371             'Creative Commons Attribution-NoDerivs 3.0 Unported[ ]' . $cc_intro,
5372             };
5373              
5374             $RE{cc_by_nd_4} = {
5375             name => 'CC-BY-ND-4.0',
5376             'name.alt.org.cc.since.date_20131125' => 'CC-BY-ND-4.0',
5377             'name.alt.org.spdx.since.date_20140807' => 'CC-BY-ND-4.0',
5378             'name.alt.org.wikidata.synth.nogrant' => 'Q36795408',
5379             caption => 'Creative Commons Attribution-NoDerivatives 4.0',
5380             'caption.alt.org.cc' =>
5381             'Creative Commons Attribution-NoDerivatives 4.0 International License',
5382             'caption.alt.org.cc.misc.legal' =>
5383             'Attribution-NoDerivatives 4.0 International',
5384             'caption.alt.org.cc.misc.shortname' => 'CC BY-ND 4.0',
5385             'caption.alt.org.cc.misc.deed' =>
5386             'Attribution-NoDerivatives 4.0 International (CC BY-ND 4.0)',
5387             'caption.alt.org.spdx.until.date_20150513' =>
5388             'Creative Commons Attribution No Derivatives 4.0',
5389             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
5390             'Creative Commons Attribution No Derivatives 4.0 International',
5391             'caption.alt.org.spdx.since.date_20150730' =>
5392             'Creative Commons Attribution No Derivatives 4.0',
5393             'caption.alt.org.tldr' =>
5394             'Creative Commons Attribution-NoDerivatives 4.0 International (CC BY-ND 4.0)',
5395             'caption.alt.org.wikidata' =>
5396             'Creative Commons Attribution-NoDerivs 4.0 International',
5397             iri => 'https://creativecommons.org/licenses/by-nd/4.0/',
5398             tags => [
5399             'family:cc:standard',
5400             'type:singleversion:cc_by_nd',
5401             ],
5402             licenseversion => '4.0',
5403              
5404             'pat.alt.subject.license.scope.sentence.part.intro' =>
5405             $cc_by_exercising_you_accept_this
5406             . 'Creative Commons Attribution-NoDerivatives 4.0',
5407             };
5408              
5409             =item * cc_by_sa
5410              
5411             =item * cc_by_sa_1
5412              
5413             I
5414              
5415             =item * cc_by_sa_2
5416              
5417             I
5418              
5419             =item * cc_by_sa_2_5
5420              
5421             I
5422              
5423             =item * cc_by_sa_3
5424              
5425             I
5426              
5427             =item * cc_by_sa_4
5428              
5429             I
5430              
5431             =cut
5432              
5433             $RE{cc_by_sa} = {
5434             name => 'CC-BY-SA',
5435             'name.alt.org.cc' => 'CC-BY-SA',
5436             'name.alt.org.fedora' => 'CC-BY-SA',
5437             'name.alt.org.wikidata.synth.nogrant' => 'Q6905942',
5438             'name.alt.misc.fossology_old' => 'CCA_SA',
5439             caption => 'Creative Commons Attribution-ShareAlike',
5440             tags => [
5441             'family:cc:standard',
5442             'type:versioned:decimal',
5443             ],
5444              
5445             'pat.alt.subject.name' => '(?:'
5446             . $P{cc}
5447             . '[- ](?:'
5448             . $P{cc_by} . '[- ]'
5449             . $P{cc_sa}
5450             . '|BY[- ]SA|'
5451             . $P{cc_url}
5452             . 'by-sa))',
5453             };
5454              
5455             $RE{cc_by_sa_1} = {
5456             name => 'CC-BY-SA-1.0',
5457             'name.alt.org.cc' => 'CC-BY-SA-1.0',
5458             'name.alt.org.spdx' => 'CC-BY-SA-1.0',
5459             'name.alt.org.wikidata.synth.nogrant' => 'Q47001652',
5460             'name.alt.misc.fossology_old' => 'CCA_SA_v1.0',
5461             'name.alt.misc.fossology_old_short' => 'CCA_SA1.0',
5462             caption => 'Creative Commons Attribution-ShareAlike 1.0',
5463             'caption.alt.org.cc' =>
5464             'Creative Commons Attribution-ShareAlike 1.0 Generic License',
5465             'caption.alt.org.cc.misc.legal' => 'Attribution-ShareAlike 1.0',
5466             'caption.alt.org.cc.misc.shortname' => 'CC BY-SA 1.0',
5467             'caption.alt.org.cc.misc.deed' =>
5468             'Attribution-ShareAlike 1.0 Generic (CC BY-SA 1.0)',
5469             'caption.alt.org.spdx.until.date_20150513' =>
5470             'Creative Commons Attribution Share Alike 1.0',
5471             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
5472             'Creative Commons Attribution Share Alike 1.0 Generic',
5473             'caption.alt.org.spdx.since.date_20150730' =>
5474             'Creative Commons Attribution Share Alike 1.0',
5475             'caption.alt.org.wikidata' =>
5476             'Creative Commons Attribution-ShareAlike 1.0 Generic',
5477             iri => 'https://creativecommons.org/licenses/by-sa/1.0/',
5478             tags => [
5479             'family:cc:standard',
5480             'type:singleversion:cc_by_sa',
5481             ],
5482             licenseversion => '1.0',
5483              
5484             'pat.alt.subject.license.scope.multisection.part.intro' =>
5485             'Creative Commons Attribution-ShareAlike 1.0[ ]' . $cc_intro_1,
5486             };
5487              
5488             $RE{cc_by_sa_2} = {
5489             name => 'CC-BY-SA-2.0',
5490             'name.alt.org.cc.since.date_20040525' => 'CC-BY-SA-2.0',
5491             'name.alt.org.spdx' => 'CC-BY-SA-2.0',
5492             'name.alt.org.wikidata.synth.nogrant' => 'Q19068220',
5493             caption => 'Creative Commons Attribution-ShareAlike 2.0',
5494             'caption.alt.org.cc' =>
5495             'Creative Commons Attribution-ShareAlike 2.0 Generic License',
5496             'caption.alt.org.cc.misc.legal' => 'Attribution-ShareAlike 2.0',
5497             'caption.alt.org.cc.misc.shortname' => 'CC BY-SA 2.0',
5498             'caption.alt.org.cc.misc.deed' =>
5499             'Attribution-ShareAlike 2.0 Generic (CC BY-SA 2.0)',
5500             'caption.alt.org.spdx.until.date_20150513' =>
5501             'Creative Commons Attribution Share Alike 2.0',
5502             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
5503             'Creative Commons Attribution Share Alike 2.0 Generic',
5504             'caption.alt.org.spdx.since.date_20150730' =>
5505             'Creative Commons Attribution Share Alike 2.0',
5506             'caption.alt.org.wikidata' =>
5507             'Creative Commons Attribution-ShareAlike 2.0 Generic',
5508             iri => 'https://creativecommons.org/licenses/by-sa/2.0/',
5509             tags => [
5510             'family:cc:standard',
5511             'type:singleversion:cc_by_sa',
5512             ],
5513             licenseversion => '2.0',
5514              
5515             'pat.alt.subject.license.scope.multisection.part.intro' =>
5516             'Creative Commons Attribution-ShareAlike 2.0[ ]' . $cc_intro,
5517             };
5518              
5519             $RE{cc_by_sa_2_5} = {
5520             name => 'CC-BY-SA-2.5',
5521             'name.alt.org.cc.since.date_20050600' => 'CC-BY-SA-2.5',
5522             'name.alt.org.spdx' => 'CC-BY-SA-2.5',
5523             'name.alt.org.wikidata.synth.nogrant' => 'Q19113751',
5524             'name.alt.misc.fossology_old' => 'CCA_SA_v2.5',
5525             'name.alt.misc.fossology_old_short' => 'CCA_SA2.5',
5526             caption => 'Creative Commons Attribution-ShareAlike 2.5',
5527             'caption.alt.org.cc' =>
5528             'Creative Commons Attribution-ShareAlike 2.5 Generic License',
5529             'caption.alt.org.cc.misc.legal' => 'Attribution-ShareAlike 2.5',
5530             'caption.alt.org.cc.misc.shortname' => 'CC BY-SA 2.5',
5531             'caption.alt.org.cc.misc.deed' =>
5532             'Attribution-ShareAlike 2.5 Generic (CC BY-SA 2.5)',
5533             'caption.alt.org.spdx.until.date_20150513' =>
5534             'Creative Commons Attribution Share Alike 2.5',
5535             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
5536             'Creative Commons Attribution Share Alike 2.5 Generic',
5537             'caption.alt.org.spdx.since.date_20150730' =>
5538             'Creative Commons Attribution Share Alike 2.5',
5539             'caption.alt.org.wikidata' =>
5540             'Creative Commons Attribution-ShareAlike 2.5 Generic',
5541             iri => 'https://creativecommons.org/licenses/by-sa/2.5/',
5542             tags => [
5543             'family:cc:standard',
5544             'type:singleversion:cc_by_sa',
5545             ],
5546             licenseversion => '2.5',
5547              
5548             'pat.alt.subject.license.scope.multisection.part.intro' =>
5549             'Creative Commons Attribution-ShareAlike 2.5[ ]' . $cc_intro,
5550             };
5551              
5552             $RE{cc_by_sa_3} = {
5553             name => 'CC-BY-SA-3.0',
5554             'name.alt.org.cc.since.date_20070223' => 'CC-BY-SA-3.0',
5555             'name.alt.org.spdx' => 'CC-BY-SA-3.0',
5556             'name.alt.org.wikidata.synth.nogrant' => 'Q14946043',
5557             'name.alt.misc.fossology_old' => 'CCA_SA_v3.0',
5558             'name.alt.misc.fossology_old_short' => 'CCA_SA3.0',
5559             caption => 'Creative Commons Attribution-ShareAlike 3.0',
5560             'caption.alt.org.cc' =>
5561             'Creative Commons Attribution-ShareAlike 3.0 Unported License',
5562             'caption.alt.org.cc.misc.modern' =>
5563             'Creative Commons Attribution-ShareAlike 3.0 International License',
5564             'caption.alt.org.cc.misc.legal' => 'Attribution-ShareAlike 3.0 Unported',
5565             'caption.alt.org.cc.misc.shortname' => 'CC BY-SA 3.0',
5566             'caption.alt.org.cc.misc.deed' =>
5567             'Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0)',
5568             'caption.alt.org.spdx.until.date_20150513' =>
5569             'Creative Commons Attribution Share Alike 3.0',
5570             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
5571             'Creative Commons Attribution Share Alike 3.0 Unported',
5572             'caption.alt.org.spdx.since.date_20150730' =>
5573             'Creative Commons Attribution Share Alike 3.0',
5574             'caption.alt.org.tldr.synth.nogrant' =>
5575             'Creative Commons Attribution Share Alike (CC-SA)',
5576             'caption.alt.org.wikidata' =>
5577             'Creative Commons Attribution-ShareAlike 3.0 Unported',
5578             iri => 'https://creativecommons.org/licenses/by-sa/3.0/',
5579             tags => [
5580             'family:cc:standard',
5581             'type:singleversion:cc_by_sa',
5582             ],
5583             licenseversion => '3.0',
5584              
5585             'pat.alt.subject.license.scope.multisection.part.intro' =>
5586             'Creative Commons Attribution-ShareAlike 3.0 Unported[ ]'
5587             . $cc_intro,
5588             };
5589              
5590             $RE{cc_by_sa_4} = {
5591             name => 'CC-BY-SA-4.0',
5592             'name.alt.org.cc.since.date_20131125' => 'CC-BY-SA-4.0',
5593             'name.alt.org.spdx.since.date_20140807' => 'CC-BY-SA-4.0',
5594             'name.alt.org.wikidata.synth.nogrant' => 'Q18199165',
5595             caption => 'Creative Commons Attribution-ShareAlike 4.0',
5596             'caption.alt.org.cc' =>
5597             'Creative Commons Attribution-ShareAlike 4.0 International License',
5598             'caption.alt.org.cc.misc.legal' =>
5599             'Attribution-ShareAlike 4.0 International',
5600             'caption.alt.org.cc.misc.shortname' => 'CC BY-SA 4.0',
5601             'caption.alt.org.cc.misc.deed' =>
5602             'Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)',
5603             'caption.alt.org.spdx.until.date_20150513' =>
5604             'Creative Commons Attribution Share Alike 4.0',
5605             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
5606             'Creative Commons Attribution Share Alike 4.0 International',
5607             'caption.alt.org.spdx.since.date_20150730' =>
5608             'Creative Commons Attribution Share Alike 4.0',
5609             'caption.alt.org.tldr' =>
5610             'Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)',
5611             'caption.alt.org.wikidata' =>
5612             'Creative Commons Attribution-ShareAlike 4.0 International',
5613             iri => 'https://creativecommons.org/licenses/by-sa/4.0/',
5614             tags => [
5615             'family:cc:standard',
5616             'type:singleversion:cc_by_sa',
5617             ],
5618             licenseversion => '4.0',
5619              
5620             'pat.alt.subject.license.scope.sentence.part.intro' =>
5621             $cc_by_exercising_you_accept_this
5622             . 'Creative Commons Attribution-ShareAlike 4.0',
5623             };
5624              
5625             =item * cc_cc0
5626              
5627             =item * cc_cc0_1
5628              
5629             I
5630              
5631             =cut
5632              
5633             $RE{cc_cc0} = {
5634             name => 'CC0',
5635             'name.alt.org.cc' => 'CC0',
5636             'name.alt.org.wikidata.synth.nogrant' => 'Q6938433',
5637             caption => 'Creative Commons CC0',
5638             'caption.alt.org.fedora' => 'Creative Commons Zero 1.0 Universal',
5639             'caption.alt.org.wikidata' => 'CC0',
5640             'caption.alt.misc.zero' => 'Creative Commons Zero',
5641             'iri.alt.org.wikipedia' =>
5642             'https://en.wikipedia.org/wiki/Creative_Commons_license#Zero_/_public_domain',
5643             tags => [
5644             'family:cc:zero',
5645             'type:versioned:decimal',
5646             ],
5647              
5648             'pat.alt.subject.name' => '(?:'
5649             . $P{cc}
5650             . '[- ](?:'
5651             . $P{cc_cc0}
5652             . '(?: [(]?["]?CC0["]?[)]?)?|CC0|'
5653             . $P{cc_url_pd}
5654             . 'zero))',
5655             'pat.alt.subject.grant' =>
5656             'has waived all copyright and related or neighboring rights',
5657             };
5658              
5659             $RE{cc_cc0_1} = {
5660             name => 'CC0-1.0',
5661             'name.alt.org.cc' => 'CC0-1.0',
5662             'name.alt.org.spdx' => 'CC0-1.0',
5663             'name.alt.org.tldr' => 'creative-commons-cc0-1.0-universal',
5664             'name.alt.org.tldr.path.short' => 'cc0-1.0',
5665             caption => 'Creative Commons CC0 1.0',
5666             'caption.alt.org.cc.misc.legal' => 'CC0 1.0 Universal',
5667             'caption.alt.org.cc.misc.shortname' => 'CC0 1.0',
5668             'caption.alt.org.cc.misc.deed' =>
5669             'CC0 1.0 Universal (CC0 1.0) Public Domain Dedication',
5670             'caption.alt.org.spdx' => 'Creative Commons Zero v1.0 Universal',
5671             'caption.alt.org.tldr' => 'Creative Commons CC0 1.0 Universal (CC-0)',
5672             'caption.alt.org.trove' => 'CC0 1.0 Universal (CC0 1.0)',
5673             'caption.alt.org.trove.misc.short' => 'CC0 1.0',
5674             iri => 'https://creativecommons.org/publicdomain/zero/1.0/',
5675             'iri.alt.org.wikipedia' =>
5676             'https://en.wikipedia.org/wiki/Creative_Commons_license#Zero_/_public_domain',
5677             tags => [
5678             'family:cc:zero',
5679             'type:singleversion:cc_cc0',
5680             ],
5681             licenseversion => '1.0',
5682              
5683             'pat.alt.subject.grant' =>
5684             'has waived all copyright and related or neighboring rights',
5685             'pat.alt.subject.license.scope.sentence.synth.cc' => '(?:(?:\S+ )?'
5686             . $cc_no_law_firm
5687             . $cc_dist_no_rel_doc
5688             . $cc_info_asis_discl_doc
5689             . '(?: \S+)?[ ])?Statement of Purpose[ ]'
5690             . $laws_confer,
5691             };
5692              
5693             =item * cc_devnations
5694              
5695             I
5696              
5697             =item * cc_devnations_2
5698              
5699             I
5700              
5701             =cut
5702              
5703             $RE{cc_devnations} = {
5704             name => 'CC-DevNations',
5705             'name.alt.org.cc.until.date_20070604' => 'CC-DevNations',
5706             caption => 'Creative Commons Developing Nations',
5707             tags => [
5708             'family:cc:standard',
5709             'type:versioned:decimal',
5710             ],
5711             };
5712              
5713             $RE{cc_devnations_2} = {
5714             name => 'CC-DevNations-2.0',
5715             'name.alt.org.cc.since.date_20040913.until.date_20070604' =>
5716             'CC-DevNations-2.0',
5717             caption => 'Creative Commons Developing Nations 2.0',
5718             'caption.alt.org.cc.synth.nogrant' => 'Developing Nations License',
5719             'caption.alt.org.cc.misc.legal' => 'Developing Nations 2.0',
5720             iri => 'https://creativecommons.org/licenses/devnations/2.0/',
5721             description => <<'END',
5722             Release:
5723              
5724             Expiry:
5725             END
5726             tags => [
5727             'family:cc:standard',
5728             'type:singleversion:cc_devnations',
5729             ],
5730             licenseversion => '2.0',
5731              
5732             'pat.alt.subject.license.scope.multisection.part.intro' =>
5733             'Creative Commons Developing Nations 2.0[ ]' . $cc_intro_1,
5734             'pat.alt.subject.license.scope.sentence.part.definition_c' =>
5735             '["]Developing Nation["] means any nation that is not classified',
5736             };
5737              
5738             =item * cc_nc
5739              
5740             I
5741              
5742             =item * cc_nc_1
5743              
5744             I
5745              
5746             =cut
5747              
5748             $RE{cc_nc} = {
5749             name => 'CC-NC',
5750             'name.alt.org.cc.until.date_20040525' => 'CC-NC',
5751             'name.alt.org.wikidata.synth.nogrant' => 'Q65071627',
5752             caption => 'Creative Commons NonCommercial',
5753             tags => [
5754             'family:cc:standard',
5755             'type:versioned:decimal',
5756             ],
5757             };
5758              
5759             $RE{cc_nc_1} = {
5760             name => 'CC-NC-1.0',
5761             'name.alt.org.cc.until.date_20040525' => 'CC-NC-1.0',
5762             caption => 'Creative Commons NonCommercial 1.0',
5763             'caption.alt.org.cc' =>
5764             'Creative Commons NonCommercial 1.0 Generic License',
5765             'caption.alt.org.cc.misc.legal' => 'NonCommercial 1.0',
5766             'caption.alt.org.cc.misc.shortname' => 'CC NC 1.0',
5767             'caption.alt.org.cc.misc.deed' => 'NonCommercial 1.0 Generic (CC NC 1.0)',
5768             iri => 'https://creativecommons.org/licenses/nc/1.0/',
5769             tags => [
5770             'family:cc:standard',
5771             'type:singleversion:cc_nc',
5772             ],
5773             licenseversion => '1.0',
5774              
5775             'pat.alt.subject.license.scope.multisection.part.intro' =>
5776             'Creative Commons NonCommercial 1.0[ ]' . $cc_intro_1,
5777             };
5778              
5779             =item * cc_nc_sa
5780              
5781             I
5782              
5783             =item * cc_nc_sa_1
5784              
5785             I
5786              
5787             =cut
5788              
5789             $RE{cc_nc_sa} = {
5790             name => 'CC-NC-SA',
5791             'name.alt.org.cc.until.date_20040525' => 'CC-NC-SA',
5792             caption => 'Creative Commons NonCommercial-ShareAlike',
5793             tags => [
5794             'family:cc:standard',
5795             'type:versioned:decimal',
5796             ],
5797             };
5798              
5799             $RE{cc_nc_sa_1} = {
5800             name => 'CC-NC-SA-1.0',
5801             'name.alt.org.cc.until.date_20040525' => 'CC-NC-SA-1.0',
5802             caption => 'Creative Commons NonCommercial-ShareAlike 1.0',
5803             'caption.alt.org.cc' =>
5804             'Creative Commons NonCommercial-ShareAlike 1.0 Generic License',
5805             'caption.alt.org.cc.misc.legal' => 'NonCommercial-ShareAlike 1.0',
5806             'caption.alt.org.cc.misc.shortname' => 'CC NC-SA 1.0',
5807             'caption.alt.org.cc.misc.deed' =>
5808             'NonCommercial-ShareAlike 1.0 Generic (CC NC-SA 1.0)',
5809             iri => 'https://creativecommons.org/licenses/nc-sa/1.0/',
5810             description => <<'END',
5811             Expiry:
5812             END
5813             tags => [
5814             'family:cc:standard',
5815             'type:singleversion:cc_nc_sa',
5816             ],
5817             licenseversion => '1.0',
5818              
5819             'pat.alt.subject.license.scope.multisection.part.intro' =>
5820             'Creative Commons NonCommercial-ShareAlike 1.0[ ]' . $cc_intro_1,
5821             };
5822              
5823             =item * cc_nc_sp
5824              
5825             I
5826              
5827             =item * cc_nc_sp_1
5828              
5829             I
5830              
5831             =cut
5832              
5833             $RE{cc_nc_sp} = {
5834             name => 'CC-NC-SP',
5835             'name.alt.org.cc.since.date_20041112.until.date_20110912' =>
5836             'CC-NC-Sampling+',
5837             caption => 'Creative Commons NonCommercial Sampling Plus',
5838             tags => [
5839             'family:cc:recombo',
5840             'type:versioned:decimal',
5841             ],
5842             };
5843              
5844             $RE{cc_nc_sp_1} = {
5845             name => 'CC-NC-SP-1.0',
5846             'name.alt.org.cc.since.date_20041112.until.date_20110912' =>
5847             'CC-NC-Sampling+-1.0',
5848             caption => 'Creative Commons NonCommercial Sampling Plus 1.0',
5849             'caption.alt.org.cc' => 'NonCommercial Sampling Plus 1.0',
5850             'caption.alt.org.cc.misc.shortname' => 'CC NC-Sampling+ 1.0',
5851             iri => 'https://creativecommons.org/licenses/nc-sampling+/1.0/',
5852             description => <<'END',
5853             Release:
5854              
5855             Expiry:
5856             END
5857             tags => [
5858             'family:cc:recombo',
5859             'type:singleversion:cc_nc_sp',
5860             ],
5861             licenseversion => '1.0',
5862              
5863             'pat.alt.subject.license.scope.multisection.part.intro' =>
5864             'Creative Commons NonCommercial 1.0[ ]' . $cc_intro_1,
5865             };
5866              
5867             =item * cc_nd_nc
5868              
5869             I
5870              
5871             =item * cc_nd_nc_1
5872              
5873             I
5874              
5875             =cut
5876              
5877             $RE{cc_nd_nc} = {
5878             name => 'CC-ND-NC',
5879             'name.alt.org.cc.until.date_20040525' => 'CC-ND-NC',
5880             caption => 'Creative Commons NoDerivs-NonCommercial',
5881             'caption.alt.org.cc.misc.long' =>
5882             'Creative Commons NoDerivatives-NonCommercial',
5883             'caption.alt.org.cc.misc.flipped' =>
5884             'Creative Commons NonCommercial-NoDerivs',
5885             tags => [
5886             'family:cc:standard',
5887             'type:versioned:decimal',
5888             ],
5889             };
5890              
5891             $RE{cc_nd_nc_1} = {
5892             name => 'CC-ND-NC-1.0',
5893             'name.alt.org.cc.until.date_20040525' => 'CC-ND-NC-1.0',
5894             caption => 'Creative Commons NoDerivs-NonCommercial 1.0',
5895             'caption.alt.org.cc' =>
5896             'Creative Commons NoDerivs-NonCommercial 1.0 Generic License',
5897             'caption.alt.org.cc.misc.legal' => 'NoDerivs-NonCommercial 1.0',
5898             'caption.alt.org.cc.misc.shortname' => 'CC ND-NC 1.0',
5899             'caption.alt.org.cc.misc.deed' =>
5900             'NoDerivs-NonCommercial 1.0 Generic (CC ND-NC 1.0)',
5901             iri => 'https://creativecommons.org/licenses/nd-nc/1.0/',
5902             description => <<'END',
5903             Expiry:
5904             END
5905             tags => [
5906             'family:cc:standard',
5907             'type:singleversion:cc_nd_nc',
5908             ],
5909             licenseversion => '1.0',
5910              
5911             'pat.alt.subject.license.scope.multisection.part.intro' =>
5912             'Creative Commons NoDerivs-NonCommercial 1.0[ ]' . $cc_intro_1,
5913             };
5914              
5915             =item * cc_nd
5916              
5917             I
5918              
5919             =item * cc_nd_1
5920              
5921             I
5922              
5923             =cut
5924              
5925             $RE{cc_nd} = {
5926             name => 'CC-ND',
5927             'name.alt.org.cc.until.date_20040525' => 'CC-ND',
5928             caption => 'Creative Commons NoDerivs',
5929             'caption.alt.org.cc.misc.long' => 'Creative Commons NoDerivatives',
5930             tags => [
5931             'family:cc:standard',
5932             'type:versioned:decimal',
5933             ],
5934             };
5935              
5936             $RE{cc_nd_1} = {
5937             name => 'CC-ND-1.0',
5938             'name.alt.org.cc.until.date_20040525' => 'CC-ND-1.0',
5939             caption => 'Creative Commons NoDerivs 1.0',
5940             'caption.alt.org.cc' => 'Creative Commons NoDerivs 1.0 Generic License',
5941             'caption.alt.org.cc.misc.legal' => 'NoDerivs 1.0',
5942             'caption.alt.org.cc.misc.shortname' => 'CC ND 1.0',
5943             'caption.alt.org.cc.misc.deed' => 'NoDerivs 1.0 Generic (CC ND 1.0)',
5944             iri => 'https://creativecommons.org/licenses/nd/1.0/',
5945             description => <<'END',
5946             Expiry:
5947             END
5948             tags => [
5949             'family:cc:standard',
5950             'type:singleversion:cc_nd',
5951             ],
5952             licenseversion => '1.0',
5953              
5954             'pat.alt.subject.license.scope.multisection.part.intro' =>
5955             'Creative Commons NoDerivs 1.0[ ]' . $cc_intro_1,
5956             };
5957              
5958             =item * cc_pd
5959              
5960             I
5961              
5962             =item * cc_pdd
5963              
5964             I
5965              
5966             =item * cc_pddc
5967              
5968             I
5969              
5970             =cut
5971              
5972             $RE{cc_pd} = {
5973             name => 'CC-PD',
5974             'name.alt.org.cc.until.date_20101011' => 'CC-PD',
5975             caption => 'Creative Commons Public Domain',
5976             description => <<'END',
5977             Casual name
5978             for either "Public Domain Dedication and Certification"
5979             or its predecessor "Public Domain Dedication".
5980             END
5981             iri => 'https://creativecommons.org/licenses/publicdomain/',
5982             tags => [
5983             'family:cc:publicdomain',
5984             'type:unversioned',
5985             ],
5986             };
5987              
5988             $RE{cc_pdd} = {
5989             name => 'CC-PDD',
5990             'name.alt.org.cc.until.date_20040525' => 'CC-PDD',
5991             caption => 'Creative Commons Public Domain Dedication',
5992             'caption.alt.org.cc.misc.deed' =>
5993             'Creative Commons Copyright-Only Dedication (based on United States law)',
5994             'iri.alt.archive.time_20040202011504' =>
5995             'https://creativecommons.org/licenses/publicdomain/',
5996             description => <<'END',
5997             Expiry: Possibly with revision 2.0 of the main licenses.
5998            
5999             END
6000             tags => [
6001             'family:cc:publicdomain',
6002             'type:unversioned',
6003             ],
6004              
6005             'pat.alt.subject.license.scope.line.scope.sentence.part.intro' =>
6006             'The person or persons who have associated their work with this document',
6007             };
6008              
6009             $RE{cc_pddc} = {
6010             name => 'CC-PDDC',
6011             'name.alt.org.cc.since.date_20040525.until.date_20101011' => 'CC-PDDC',
6012             'name.alt.org.spdx.since.date_20190710' => 'CC-PDDC',
6013             caption => 'Creative Commons Public Domain Dedication and Certification',
6014             'caption.alt.org.cc.misc.long' =>
6015             'Creative Commons Copyright-Only Dedication (based on United States law) or Public Domain Certification',
6016             description => <<'END',
6017             Expiry: Possibly with revision 2.0 of the main licenses.
6018            
6019              
6020             Expiry:
6021             END
6022             tags => [
6023             'family:cc:publicdomain',
6024             'type:unversioned',
6025             ],
6026              
6027             'pat.alt.subject.license.scope.line.scope.sentence.part.intro' =>
6028             'The person or persons who have associated work with this document',
6029             };
6030              
6031             =item * cc_sa
6032              
6033             I
6034              
6035             =item * cc_sa_1
6036              
6037             I
6038              
6039             =cut
6040              
6041             $RE{cc_sa} = {
6042             name => 'CC-SA',
6043             'name.alt.org.cc.until.date_20040525' => 'CC-SA',
6044             caption => 'Creative Commons ShareAlike',
6045             tags => [
6046             'family:cc:standard',
6047             'type:versioned:decimal',
6048             ],
6049             };
6050              
6051             $RE{cc_sa_1} = {
6052             name => 'CC-SA-1.0',
6053             'name.alt.org.cc.until.date_20040525' => 'CC-SA-1.0',
6054             'name.alt.org.wikidata.synth.nogrant' => 'Q75209430',
6055             caption => 'Creative Commons ShareAlike 1.0',
6056             'caption.alt.org.cc' => 'Creative Commons ShareAlike 1.0 Generic License',
6057             'caption.alt.org.wikidata' => 'Creative Commons ShareAlike 1.0',
6058             'caption.alt.org.cc.misc.legal' => 'ShareAlike 1.0',
6059             'caption.alt.org.cc.misc.shortname' => 'CC SA 1.0',
6060             'caption.alt.org.cc.misc.deed' => 'ShareAlike 1.0 Generic (CC SA 1.0)',
6061             iri => 'https://creativecommons.org/licenses/sa/1.0/',
6062             description => <<'END',
6063             Expiry:
6064             END
6065             tags => [
6066             'family:cc:standard',
6067             'type:singleversion:cc_sa',
6068             ],
6069             licenseversion => '1.0',
6070              
6071             'pat.alt.subject.license.scope.multisection.part.intro' =>
6072             'Creative Commons ShareAlike 1.0[ ]' . $cc_intro_1,
6073             };
6074              
6075             =item * cc_sampling
6076              
6077             I
6078              
6079             =item * cc_sampling_1
6080              
6081             I
6082              
6083             =cut
6084              
6085             $RE{cc_sampling} = {
6086             name => 'CC-Sampling',
6087             'name.alt.org.cc.since.date_20031216.until.date_20070604' =>
6088             'CC-Sampling',
6089             caption => 'Creative Commons Sampling',
6090             tags => [
6091             'family:cc:recombo',
6092             'type:versioned:decimal',
6093             ],
6094             };
6095              
6096             $RE{cc_sampling_1} = {
6097             name => 'CC-Sampling-1.0',
6098             'name.alt.org.cc.since.date_20031216.until.date_20070604' =>
6099             'CC-Sampling-1.0',
6100             'name.alt.org.wikidata.synth.nogrant' => 'Q100509915',
6101             caption => 'Creative Commons Sampling 1.0',
6102             'caption.alt.org.cc.synth.nogrant' => 'Sampling 1.0',
6103             'caption.alt.org.wikidata' => 'Sampling 1.0',
6104             iri => 'https://creativecommons.org/licenses/sampling/1.0/',
6105             description => <<'END',
6106             Release:
6107              
6108             Rebranding as recombo:
6109              
6110             Use with recombo logo:
6111              
6112             Expiry:
6113             END
6114             tags => [
6115             'family:cc:recombo',
6116             'type:singleversion:cc_sampling',
6117             ],
6118             licenseversion => '1.0',
6119              
6120             'pat.alt.subject.license.scope.multisection.part.intro' =>
6121             'Creative Commons Sampling 1.0[ ]' . $cc_intro_1,
6122             'pat.alt.subject.license.scope.line.scope.paragraph.part.part3a' =>
6123             'Re-creativity[. ]You may',
6124             };
6125              
6126             =item * cc_sp
6127              
6128             =item * cc_sp_1
6129              
6130             I
6131              
6132             =cut
6133              
6134             $RE{cc_sp} = {
6135             name => 'CC-SP',
6136             'name.alt.org.cc.since.date_20031216.until.date_20110912' =>
6137             'CC-Sampling+',
6138             caption => 'Creative Commons Sampling Plus',
6139             tags => [
6140             'family:cc:recombo',
6141             'type:versioned:decimal',
6142             ],
6143              
6144             'pat.alt.subject.name' => '(?:'
6145             . $P{cc}
6146             . '[- ](?:'
6147             . $P{cc_sp} . '|'
6148             . $P{cc_url}
6149             . 'sampling\+))',
6150             };
6151              
6152             $RE{cc_sp_1} = {
6153             name => 'CC-SP-1.0',
6154             'name.alt.org.cc.since.date_20031216.until.date_20110912' =>
6155             'CC-Sampling+-1.0',
6156             'name.alt.org.wikidata.synth.nogrant' => 'Q26913038',
6157             caption => 'Creative Commons Sampling Plus 1.0',
6158             'caption.alt.org.cc' => 'Sampling Plus 1.0',
6159             'caption.alt.org.cc.misc.shortname.synth.nogrant' => 'CC Sampling+ 1.0',
6160             'caption.alt.org.fedora' => 'Creative Commons Sampling Plus 1.0',
6161             iri => 'https://creativecommons.org/licenses/sampling+/1.0/',
6162             description => <<'END',
6163             Release:
6164              
6165             Expiry:
6166             END
6167             tags => [
6168             'family:cc:recombo',
6169             'type:singleversion:cc_sp',
6170             ],
6171             licenseversion => '1.0',
6172              
6173             'pat.alt.subject.license.scope.multisection.part.intro' =>
6174             'Creative Commons Sampling Plus 1.0[ ]' . $cc_intro_1,
6175             'pat.alt.subject.license.scope.line.scope.sentence.part.part3a' =>
6176             'Re-creativity permitted',
6177             };
6178              
6179             =item * cddl
6180              
6181             =item * cddl_1
6182              
6183             I
6184              
6185             =item * cddl_1_1
6186              
6187             I
6188              
6189             =cut
6190              
6191             $RE{cddl} = {
6192             name => 'CDDL',
6193             'name.alt.org.fedora.iri.self' => 'CDDL',
6194             'name.alt.org.wikidata.synth.nogrant' => 'Q304628',
6195             caption => 'Common Development and Distribution License',
6196             'caption.alt.org.wikipedia' =>
6197             'Common Development and Distribution License',
6198             tags => [
6199             'type:versioned:decimal',
6200             ],
6201             };
6202              
6203             $RE{cddl_1} = {
6204             name => 'CDDL-1.0',
6205             'name.alt.org.fedora' => 'CDDL-1.0',
6206             'name.alt.org.osi' => 'CDDL-1.0',
6207             'name.alt.org.osi.iri.stem_plain.until.date_20110430.archive.time_20110426131805'
6208             => 'cddl1',
6209             'name.alt.org.spdx' => 'CDDL-1.0',
6210             'name.alt.org.tldr.synth.nogrant' =>
6211             'common-development-and-distribution-license-(cddl-1.0)-explained',
6212             'name.alt.org.tldr.path.short' => 'cddl',
6213             'name.alt.org.wikidata.synth.nogrant' => 'Q26996811',
6214             'name.alt.misc.fossology_old' => 'CDDL_v1.0',
6215             'name.alt.misc.fossology_old_short' => 'CDDL1.0',
6216             caption => 'Common Development and Distribution License 1.0',
6217             'caption.alt.org.fedora' => 'Common Development Distribution License 1.0',
6218             'caption.alt.org.fedora.iri.cddl' => 'CDDL 1.0',
6219             'caption.alt.org.osi' =>
6220             'Common Development and Distribution License 1.0',
6221             'caption.alt.org.tldr' =>
6222             'Common Development and Distribution License (CDDL-1.0)',
6223             'caption.alt.org.trove' =>
6224             'Common Development and Distribution License 1.0 (CDDL-1.0)',
6225             'caption.alt.org.wikidata' =>
6226             'Common Development and Distribution License version 1.0',
6227             tags => [
6228             'type:singleversion:cddl',
6229             ],
6230             licenseversion => '1.0',
6231              
6232             'pat.alt.subject.license' =>
6233             'Sun Microsystems, Inc[.] is the initial license steward',
6234             };
6235              
6236             $RE{cddl_1_1} = {
6237             name => 'CDDL-1.1',
6238             'name.alt.org.fedora' => 'CDDL-1.1',
6239             'name.alt.org.spdx' => 'CDDL-1.1',
6240             'name.alt.org.wikidata.synth.nogrant' => 'Q26996804',
6241             caption => 'Common Development and Distribution License 1.1',
6242             'caption.alt.org.fedora' => 'Common Development Distribution License 1.1',
6243             'caption.alt.org.fedora.iri.cddl' => 'CDDL 1.1',
6244             'caption.alt.org.wikidata' =>
6245             'Common Development and Distribution License version 1.1',
6246             tags => [
6247             'type:singleversion:cddl',
6248             ],
6249             licenseversion => '1.1',
6250              
6251             'pat.alt.subject.license.scope.line.scope.paragraph' =>
6252             'Oracle is the initial license steward',
6253             };
6254              
6255             =item * cecill
6256              
6257             =item * cecill_1
6258              
6259             =item * cecill_1_1
6260              
6261             =item * cecill_2
6262              
6263             =item * cecill_2_1
6264              
6265             =cut
6266              
6267             $RE{cecill} = {
6268             name => 'CECILL',
6269             'name.alt.org.wikidata.synth.nogrant' => 'Q1052189',
6270             'name.alt.misc.short_camelcase' => 'CeCILL',
6271             caption => 'CeCILL License',
6272             'caption.alt.misc.last.lang.en' =>
6273             'FREE SOFTWARE LICENSE AGREEMENT CeCILL',
6274             'caption.alt.org.steward.lang.en' =>
6275             'CeCILL FREE SOFTWARE LICENSE AGREEMENT',
6276             'caption.alt.org.steward.lang.fr' =>
6277             'CONTRAT DE LICENCE DE LOGICIEL LIBRE CeCILL',
6278             'caption.alt.org.wikidata' => 'CeCILL',
6279             'caption.alt.org.wikipedia' => 'CeCILL',
6280             'iri.alt.path.sloppy' => 'http://www.cecill.info',
6281             tags => [
6282             'type:versioned:decimal',
6283             ],
6284              
6285             'pat.alt.subject.name.lang.fr' => '(?:la )?licence CeCILL',
6286             'pat.alt.subject.grant.lang.fr' =>
6287             'Ce logiciel est r[é]gi par la licence CeCILL soumise',
6288             '_pat.alt.subject.license.lang.en' => [
6289             'Version 1\.1 of 10[/]26[/]2004',
6290             'Version 2\.0 dated 2006[-]09[-]05',
6291             'Version 2\.1 dated 2013[-]06[-]21',
6292             ],
6293             '_pat.alt.subject.license.lang.fr' => [
6294             'Version 1 du 21[/]06[/]2004',
6295             'Version 2\.0 du 2006[-]09[-]05',
6296             'Version 2\.1 du 2013[-]06[-]21',
6297             ],
6298             };
6299              
6300             $RE{cecill_1} = {
6301             name => 'CECILL-1.0',
6302             'name.alt.org.spdx' => 'CECILL-1.0',
6303             'name.alt.misc.fossology_old' => 'CeCILL1.0',
6304             'name.alt.misc.short_camelcase' => 'CeCILL-1.0',
6305             caption => 'CeCILL Free Software License Agreement v1.0',
6306             'caption.alt.org.steward' =>
6307             'CONTRAT DE LICENCE DE LOGICIEL LIBRE CeCILL Version 1',
6308             'caption.alt.org.tldr' =>
6309             'CeCILL Free Software License Agreement v1.0 (CECILL-1.0)',
6310             'caption.alt.misc.short' => 'CeCILL License 1.0',
6311             iri => 'https://cecill.info/licences/Licence_CeCILL_V1-fr.html',
6312             'iri.alt.format.txt' =>
6313             'https://cecill.info/licences/Licence_CeCILL_V1-fr.txt',
6314             'iri.alt.format.pdf' =>
6315             'https://cecill.info/licences/Licence_CeCILL-V1_VF.pdf',
6316             tags => [
6317             'type:singleversion:cecill',
6318             ],
6319             licenseversion => '1.0',
6320              
6321             'pat.alt.subject.license.lang.fr' => 'Version 1 du 21[/]06[/]2004',
6322             };
6323              
6324             $RE{cecill_1_1} = {
6325             name => 'CECILL-1.1',
6326             'name.alt.org.fedora.synth.nogrant' => 'CeCILL',
6327             'name.alt.org.spdx' => 'CECILL-1.1',
6328             'name.alt.misc.fossology_old' => 'CeCILL_v1.1',
6329             'name.alt.misc.fossology_old_short' => 'CeCILL1.1',
6330             'name.alt.misc.short_camelcase' => 'CeCILL-1.1',
6331             caption => 'CeCILL Free Software License Agreement v1.1',
6332             'caption.alt.org.fedora' => 'CeCILL License v1.1',
6333             'caption.alt.org.steward' =>
6334             'FREE SOFTWARE LICENSING AGREEMENT CeCILL Version 1.1',
6335             'caption.alt.org.tldr' =>
6336             'CeCILL Free Software License Agreement v1.1 (CECILL-1.1)',
6337             'caption.alt.misc.short' => 'CeCILL License 1.1',
6338             iri => 'https://cecill.info/licences/Licence_CeCILL_V1.1-US.html',
6339             'iri.alt.format.txt' =>
6340             'https://cecill.info/licences/Licence_CeCILL_V1.1-US.txt',
6341             'iri.alt.format.pdf' =>
6342             'https://cecill.info/licences/Licence_CeCILL-V1.1-VA.pdf',
6343             tags => [
6344             'type:singleversion:cecill',
6345             ],
6346             licenseversion => '1.1',
6347              
6348             'pat.alt.subject.license.part.header' => 'Version 1\.1 of 10[/]26[/]2004',
6349             'pat.alt.subject.license.scope.sentence.part.part1_initial_sw_en' =>
6350             'for the first time '
6351             . 'under the terms and conditions of the Agreement',
6352             'pat.alt.subject.license.scope.sentence.part.part2_en' =>
6353             'Agreement is to grant users the right '
6354             . 'to modify and redistribute the software governed',
6355             'pat.alt.subject.license.scope.sentence.part.part5_3_en' =>
6356             'redistribute copies '
6357             . 'of the modified or unmodified Software to third parties ',
6358             'pat.alt.subject.license.scope.sentence.part.part5_3_2_en' =>
6359             'to all the provisions hereof',
6360             'pat.alt.subject.license.scope.sentence.part.part5_3_3_en' =>
6361             'may be distributed under a separate Licensing Agreement',
6362             'pat.alt.subject.license.part.part5_3_4_en' =>
6363             'is subject to the provisions of the GPL License',
6364             'pat.alt.subject.license.scope.sentence.part.part6_1_1_en' =>
6365             'compliance with the terms and conditions '
6366             . 'under which the Holder has elected to distribute its work '
6367             . 'and no one shall be entitled to and',
6368             'pat.alt.subject.license.scope.sentence.part.part6_1_2_en' =>
6369             'the Agreement, for the duration',
6370             'pat.alt.subject.license.scope.sentence.part.part7_2_en' =>
6371             'shall be subject to a separate',
6372             'pat.alt.subject.license.part.part8_1_en' =>
6373             '(?:Subject to the provisions of Article 8\.2, should'
6374             . '|subject to providing evidence of it)',
6375             'pat.alt.subject.license.scope.sentence.part.part10_2_en' =>
6376             'all licenses that it may have granted '
6377             . 'prior to termination of the Agreement '
6378             . 'shall remain valid subject to their',
6379             'pat.alt.subject.license.scope.sentence.part.part12_3_en' =>
6380             'Any or all Software distributed '
6381             . 'under a given version of the Agreement '
6382             . 'may only be subsequently distributed '
6383             . 'under the same version of the Agreement, '
6384             . 'or a subsequent version, '
6385             . 'subject to the provisions of article',
6386             'pat.alt.subject.license.scope.paragraph.part.part13_1_en' =>
6387             'The Agreement is governed by French law[. ]'
6388             . 'The Parties agree to endeavor to settle',
6389             };
6390              
6391             $RE{cecill_2} = {
6392             name => 'CECILL-2.0',
6393             'name.alt.org.fedora.synth.nogrant' => 'CeCILL',
6394             'name.alt.org.spdx' => 'CECILL-2.0',
6395             'name.alt.org.tldr' => 'cecill-v2',
6396             'name.alt.misc.fossology_old' => 'CeCILL_v2.0',
6397             'name.alt.misc.fossology_old_short' => 'CeCILL2.0',
6398             'name.alt.misc.fossology_old_shorter' => 'CeCILL_v2',
6399             'name.alt.misc.short_camelcase' => 'CeCILL-2.0',
6400             caption => 'CeCILL Free Software License Agreement v2.0',
6401             'caption.alt.org.fedora' => 'CeCILL License v2',
6402             'caption.alt.org.steward.lang.en' =>
6403             'CeCILL FREE SOFTWARE LICENSE AGREEMENT Version 2.0',
6404             'caption.alt.org.steward.lang.fr' =>
6405             'CONTRAT DE LICENCE DE LOGICIEL LIBRE CeCILL Version 2.0',
6406             'caption.alt.org.tldr' =>
6407             'CeCILL Free Software License Agreement v2.0 (CECILL-2.0)',
6408             'caption.alt.misc.short' => 'CeCILL License 2.0',
6409             'iri.alt.lang.en' =>
6410             'https://cecill.info/licences/Licence_CeCILL_V2-en.html',
6411             'iri.alt.lang.fr' =>
6412             'https://cecill.info/licences/Licence_CeCILL_V2-fr.html',
6413             'iri.alt.format.txt.lang.en' =>
6414             'https://cecill.info/licences/Licence_CeCILL_V2-en.txt',
6415             'iri.alt.format.txt.lang.fr' =>
6416             'https://cecill.info/licences/Licence_CeCILL_V2-fr.txt',
6417             tags => [
6418             'type:singleversion:cecill',
6419             ],
6420             licenseversion => '2.0',
6421              
6422             'pat.alt.subject.license.lang.en' => 'Version 2\.0 dated 2006[-]09[-]05',
6423             'pat.alt.subject.license.lang.fr' => 'Version 2\.0 du 2006[-]09[-]05',
6424             'pat.alt.subject.license.part.gpl' =>
6425             'subject to the provisions of one of the versions of the GNU GPL, and',
6426             };
6427              
6428             $RE{cecill_2_1} = {
6429             name => 'CECILL-2.1',
6430             'name.alt.org.osi' => 'CECILL-2.1',
6431             'name.alt.org.spdx.since.date_20150930' => 'CECILL-2.1',
6432             'name.alt.org.trove' => 'CeCILL-2.1',
6433             caption => 'CeCILL Free Software License Agreement v2.1',
6434             'caption.alt.org.steward.lang.en' =>
6435             'CeCILL FREE SOFTWARE LICENSE AGREEMENT Version 2.1',
6436             'caption.alt.org.steward.lang.fr' =>
6437             'CONTRAT DE LICENCE DE LOGICIEL LIBRE CeCILL Version 2.1',
6438             'caption.alt.org.osi' =>
6439             'Cea Cnrs Inria Logiciel Libre License, version 2.1',
6440             'caption.alt.org.osi.misc.list' => 'CeCILL License 2.1',
6441             'caption.alt.org.trove' =>
6442             'CEA CNRS Inria Logiciel Libre License, version 2.1 (CeCILL-2.1)',
6443             'iri.alt.lang.en' =>
6444             'https://cecill.info/licences/Licence_CeCILL_V2.1-en.html',
6445             'iri.alt.lang.fr' =>
6446             'https://cecill.info/licences/Licence_CeCILL_V2.1-fr.html',
6447             'iri.alt.format.txt.lang.en' =>
6448             'https://cecill.info/licences/Licence_CeCILL_V2.1-en.txt',
6449             'iri.alt.format.txt.lang.fr' =>
6450             'https://cecill.info/licences/Licence_CeCILL_V2.1-fr.txt',
6451             tags => [
6452             'type:singleversion:cecill',
6453             ],
6454             licenseversion => '2.1',
6455              
6456             'pat.alt.subject.grant.lang.en' => 'governed by the CeCILL ?license',
6457             'pat.alt.subject.grant.lang.fr' =>
6458             'Ce logiciel est r[é]gi par la licence CeCILL soumise',
6459             'pat.alt.subject.license.lang.en' => 'Version 2\.1 dated 2013[-]06[-]21',
6460             'pat.alt.subject.license.lang.fr' => 'Version 2\.1 du 2013[-]06[-]21',
6461             'pat.alt.subject.license.part.gpl' =>
6462             'subject to the provisions of one of the versions of the GNU GPL, GNU',
6463             };
6464              
6465             =item * cecill_b
6466              
6467             =item * cecill_b_1
6468              
6469             I
6470              
6471             =cut
6472              
6473             $RE{cecill_b} = {
6474             name => 'CECILL-B',
6475             'name.alt.org.fedora' => 'CeCILL-B',
6476             'name.alt.misc.short_camelcase' => 'CeCILL-B',
6477             caption => 'CeCILL-B License',
6478             'caption.alt.org.steward.lang.en' =>
6479             'CeCILL-B FREE SOFTWARE LICENSE AGREEMENT',
6480             'caption.alt.org.steward.lang.fr' =>
6481             'CONTRAT DE LICENCE DE LOGICIEL LIBRE CeCILL-B',
6482             'caption.alt.org.trove' =>
6483             'CeCILL-B Free Software License Agreement (CECILL-B)',
6484             'iri.alt.lang.en' =>
6485             'https://cecill.info/licences/Licence_CeCILL-B_V1-en.html',
6486             'iri.alt.lang.fr' =>
6487             'https://cecill.info/licences/Licence_CeCILL-B_V1-en.html',
6488             'iri.alt.format.txt.lang.en' =>
6489             'https://cecill.info/licences/Licence_CeCILL-B_V1-en.txt',
6490             'iri.alt.format.txt.lang.fr' =>
6491             'https://cecill.info/licences/Licence_CeCILL-B_V1-fr.txt',
6492             tags => [
6493             'type:versioned:decimal',
6494             ],
6495              
6496             'pat.alt.subject.grant.lang.fr' =>
6497             'Ce logiciel est r[é]gi par la licence CeCILL-B soumise',
6498             'pat.alt.subject.license.lang.en' =>
6499             'The exercising of this freedom is conditional upon a strong',
6500             'pat.alt.subject.license.lang.fr' =>
6501             'aux utilisateurs une tr[è]s large libert[é] de',
6502             };
6503              
6504             $RE{cecill_b_1} = {
6505             name => 'CECILL-B-1.0',
6506             'name.alt.misc.short_camelcase' => 'CeCILL-B-1.0',
6507             'name.alt.org.spdx.synth.nogrant' => 'CECILL-B',
6508             caption => 'CeCILL-B Free Software License Agreement v1.0',
6509             'caption.alt.org.steward.lang.en' =>
6510             'CeCILL-B FREE SOFTWARE LICENSE AGREEMENT Version 1.0',
6511             'caption.alt.org.steward.lang.fr' =>
6512             'CONTRAT DE LICENCE DE LOGICIEL LIBRE CeCILL-B Version 1.0',
6513             'caption.alt.org.spdx.synth.nogrant' =>
6514             'CeCILL-B Free Software License Agreement',
6515             'caption.alt.misc.short' => 'CeCILL-B License 1.0',
6516             'iri.alt.lang.en' =>
6517             'https://cecill.info/licences/Licence_CeCILL-B_V1-en.html',
6518             'iri.alt.lang.fr' =>
6519             'https://cecill.info/licences/Licence_CeCILL-B_V1-en.html',
6520             'iri.alt.format.txt.lang.en' =>
6521             'https://cecill.info/licences/Licence_CeCILL-B_V1-en.txt',
6522             'iri.alt.format.txt.lang.fr' =>
6523             'https://cecill.info/licences/Licence_CeCILL-B_V1-fr.txt',
6524             tags => [
6525             'type:singleversion:cecill_b',
6526             ],
6527             licenseversion => '1.0',
6528              
6529             'pat.alt.subject.grant.lang.en' => 'governed by the CeCILL-B license',
6530             'pat.alt.subject.grant.lang.fr' =>
6531             'Ce logiciel est r[é]gi par la licence CeCILL-B soumise',
6532             'pat.alt.subject.license.lang.en' =>
6533             'The exercising of this freedom is conditional upon a strong',
6534             'pat.alt.subject.license.lang.fr' =>
6535             'aux utilisateurs une tr[è]s large libert[é] de',
6536             };
6537              
6538             =item * cecill_c
6539              
6540             =item * cecill_c_1
6541              
6542             I
6543              
6544             =cut
6545              
6546             # TODO: synthesize patterns (except name) from cecill_c_1: they are all duplicates
6547             $RE{cecill_c} = {
6548             name => 'CECILL-C',
6549             'name.alt.org.fedora' => 'CeCILL-C',
6550             'name.alt.misc.short_camelcase' => 'CeCILL-C',
6551             caption => 'CeCILL-C License',
6552             'caption.alt.org.steward.lang.en' =>
6553             'CeCILL-C FREE SOFTWARE LICENSE AGREEMENT',
6554             'caption.alt.org.steward.lang.fr' =>
6555             'CONTRAT DE LICENCE DE LOGICIEL LIBRE CeCILL-C',
6556             'caption.alt.org.trove' =>
6557             'CeCILL-C Free Software License Agreement (CECILL-C)',
6558             'iri.alt.lang.en' =>
6559             'https://cecill.info/licences/Licence_CeCILL-C_V1-en.html',
6560             'iri.alt.lang.fr' =>
6561             'https://cecill.info/licences/Licence_CeCILL-C_V1-fr.html',
6562             tags => [
6563             'type:versioned:decimal',
6564             ],
6565              
6566             'pat.alt.subject.grant.lang.fr' =>
6567             'Ce logiciel est r[é]gi par la licence CeCILL-C soumise',
6568             '_pat.alt.subject.license.lang.en' => [
6569             'The exercising of this right is conditional upon the obligation',
6570             'the Software modified or not;',
6571             ],
6572             '_pat.alt.subject.license.lang.fr' => [
6573             'aux utilisateurs la libert[é] de modifier et',
6574             'Logiciel modifi[é] ou non;',
6575             ],
6576             'pat.alt.subject.license.lang.en' => 'the Software modified or not;[ ]'
6577             . '[*)]to ensure that use of',
6578             'pat.alt.subject.license.lang.fr' => 'Logiciel modifi[é] ou non;[ ]'
6579             . '[*)][à] faire en sorte que',
6580             };
6581              
6582             $RE{cecill_c_1} = {
6583             name => 'CECILL-C-1.0',
6584             'name.alt.org.spdx.synth.nogrant' => 'CECILL-C',
6585             'name.alt.misc.short_camelcase' => 'CeCILL-C-1.0',
6586             caption => 'CeCILL-C Free Software License Agreement v1.0',
6587             'caption.alt.org.steward.lang.en' =>
6588             'CeCILL-C FREE SOFTWARE LICENSE AGREEMENT Version 1.0',
6589             'caption.alt.org.steward.lang.fr' =>
6590             'CONTRAT DE LICENCE DE LOGICIEL LIBRE CeCILL-C Version 1.0',
6591             'caption.alt.org.spdx.synth.nogrant' =>
6592             'CeCILL-C Free Software License Agreement',
6593             'caption.alt.misc.short' => 'CeCILL-C License 1.0',
6594             'iri.alt.lang.en' =>
6595             'https://cecill.info/licences/Licence_CeCILL-C_V1-en.html',
6596             'iri.alt.lang.fr' =>
6597             'https://cecill.info/licences/Licence_CeCILL-C_V1-fr.html',
6598             'iri.alt.format.txt.lang.en' =>
6599             'https://cecill.info/licences/Licence_CeCILL-C_V1-en.txt',
6600             'iri.alt.format.txt.lang.fr' =>
6601             'https://cecill.info/licences/Licence_CeCILL-C_V1-fr.txt',
6602             tags => [
6603             'type:singleversion:cecill_c',
6604             ],
6605             licenseversion => '1.0',
6606              
6607             '_pat.alt.subject.grant.lang.en' => [
6608             'under the terms of the CeCILL-C license',
6609             'governed by the CeCILL-C license',
6610             ],
6611             'pat.alt.subject.grant.lang.fr' =>
6612             'Ce logiciel est r[é]gi par la licence CeCILL-C soumise',
6613             '_pat.alt.subject.license.lang.en' => [
6614             'The exercising of this right is conditional upon the obligation',
6615             'the Software modified or not;',
6616             ],
6617             '_pat.alt.subject.license.lang.fr' => [
6618             'aux utilisateurs la libert[é] de modifier et',
6619             'Logiciel modifi[é] ou non;',
6620             ],
6621             'pat.alt.subject.license.scope.all.lang.en' =>
6622             'the Software modified or not;[ ]' . '[*)]to ensure that use of',
6623             'pat.alt.subject.license.scope.all.lang.fr' =>
6624             'Logiciel modifi[é] ou non;[ ]' . '[*)][à] faire en sorte que',
6625             };
6626              
6627             =item * cnri_jython
6628              
6629             =cut
6630              
6631             $RE{cnri_jython} = {
6632             name => 'CNRI-Jython',
6633             'name.alt.org.fedora' => 'JPython',
6634             'name.alt.org.spdx.since.date_20150730' => 'CNRI-Jython',
6635             caption => 'CNRI Jython License',
6636             'caption.alt.org.fedora' => 'JPython License (old)',
6637             'caption.alt.org.tldr' => 'CNRI Jython License',
6638             'caption.alt.org.steward' => 'JPython License',
6639             iri => 'http://www.jython.org/license.html',
6640              
6641             tags => [
6642             'type:unversioned',
6643             ],
6644              
6645             'pat.alt.subject.license' =>
6646             '[*)]CNRI is making the Software available to Licensee',
6647             };
6648              
6649             =item * cnri_python
6650              
6651             =cut
6652              
6653             $RE{cnri_python} = {
6654             name => 'CNRI-Python',
6655             'name.alt.org.fedora' => 'CNRI',
6656             'name.alt.org.osi' => 'CNRI-Python',
6657             'name.alt.org.osi.iri.stem.until.date_20110430' => 'pythonpl',
6658             'name.alt.org.spdx' => 'CNRI-Python',
6659             'name.alt.org.wikidata.synth.nogrant' => 'Q38365646',
6660             caption => 'CNRI Python License',
6661             'caption.alt.org.fedora' => 'CNRI License (Old Python)',
6662             'caption.alt.org.osi' => 'CNRI Python license',
6663             'caption.alt.org.osi.misc.shortname' => 'CNRI portion of Python License',
6664             'caption.alt.org.tldr' => 'CNRI Python License (CNRI-Python)',
6665             'caption.alt.org.wikidata' =>
6666             'CNRI portion of the multi-part Python License',
6667             'caption.alt.org.wikipedia' => 'Python License',
6668             'summary.alt.org.osi' =>
6669             'The CNRI portion of the multi-part Python License',
6670             iri =>
6671             'https://docs.python.org/3/license.html#cnri-license-agreement-for-python-1-6-1',
6672             'iri.alt.misc.handle' => 'http://hdl.handle.net/1895.22/1011',
6673              
6674             tags => [
6675             'type:unversioned',
6676             ],
6677              
6678             'pat.alt.subject.license' =>
6679             '[*)]CNRI is making Python 1\.6(?:b1)? available to Licensee',
6680             };
6681              
6682             =item * cnri_python_gpl_compat
6683              
6684             =cut
6685              
6686             $RE{cnri_python_gpl_compat} = {
6687             name => 'CNRI-Python-GPL-Compatible',
6688             'name.alt.org.spdx' => 'CNRI-Python-GPL-Compatible',
6689             caption => 'CNRI Python Open Source GPL Compatible License Agreement',
6690             iri => 'http://www.python.org/download/releases/1.6.1/download_win/',
6691             'iri.alt.misc.handle' => 'http://hdl.handle.net/1895.22/1013',
6692              
6693             tags => [
6694             'type:unversioned',
6695             ],
6696              
6697             'pat.alt.subject.license.part.part4' =>
6698             '[*)]CNRI is making Python 1\.6\.1 available to Licensee',
6699             'pat.alt.subject.license.scope.sentence.part.part7' =>
6700             'with regard to derivative works based on Python 1\.6\.1 '
6701             . 'that incorporate non-separable material '
6702             . 'that was previously distributed under the GNU General Public License',
6703             };
6704              
6705             =item * condor
6706              
6707             I
6708              
6709             =item * condor_1_1
6710              
6711             I
6712              
6713             =cut
6714              
6715             $RE{condor} = {
6716             name => 'Condor',
6717             'name.alt.org.fedora' => 'Condor',
6718             caption => 'Condor Public License',
6719             'caption.alt.org.tldr' => 'Condor Public License v1.1 (Condor-1.1)',
6720             tags => [
6721             'type:versioned:decimal',
6722             ],
6723             };
6724              
6725             $RE{condor_1_1} = {
6726             name => 'Condor-1.1',
6727             'name.alt.org.spdx.since.date_20130117' => 'Condor-1.1',
6728             caption => 'Condor Public License v1.1',
6729             tags => [
6730             'type:singleversion:condor',
6731             ],
6732             licenseversion => '1.1',
6733              
6734             'pat.alt.subject.license.scope.line.scope.sentence.part.clause5' =>
6735             'To the extent that patent claims licensable by',
6736             };
6737              
6738             =item * cpal
6739              
6740             =item * cpal_1
6741              
6742             =cut
6743              
6744             $RE{cpal} = {
6745             name => 'CPAL',
6746             'name.alt.org.wikidata.synth.nogrant' => 'Q1116195',
6747             caption => 'Common Public Attribution License',
6748             tags => [
6749             'type:versioned:decimal',
6750             ],
6751             };
6752              
6753             $RE{cpal_1} = {
6754             name => 'CPAL-1.0',
6755             'name.alt.org.fedora.synth.nogrant' => 'CPAL',
6756             'name.alt.org.osi' => 'CPAL-1.0',
6757             'name.alt.org.osi.iri.stem.until.date_20110430' => 'cpal_1.0',
6758             'name.alt.org.spdx' => 'CPAL-1.0',
6759             'name.alt.misc.fossology_old' => 'CPAL_v1.0',
6760             caption => 'Common Public Attribution License 1.0',
6761             'caption.alt.org.fedora' => 'CPAL License 1.0',
6762             'caption.alt.org.osi' => 'Common Public Attribution License Version 1.0',
6763             'caption.alt.org.osi.misc.list' =>
6764             'Common Public Attribution License 1.0',
6765             'caption.alt.org.tldr' =>
6766             'Common Public Attribution License Version 1.0 (CPAL-1.0)',
6767             'caption.alt.misc.fossology_old_short' => 'CPAL 1.0',
6768             tags => [
6769             'type:singleversion:cpal',
6770             ],
6771             licenseversion => '1.0',
6772              
6773             'pat.alt.subject.license.scope.multisection.part.header' =>
6774             'Common Public Attribution License Version 1\.0 [(]CPAL[)][ ]'
6775             . '[*)]["]?Definitions["]?',
6776             };
6777              
6778             =item * cpl
6779              
6780             I
6781              
6782             =item * cpl_1
6783              
6784             I
6785              
6786             =cut
6787              
6788             $RE{cpl} = {
6789             name => 'CPL',
6790             'name.alt.org.fedora' => 'CPL',
6791             'name.alt.org.wikidata.synth.nogrant' => 'Q2477807',
6792             'name.alt.misc.fossology_old' => 'CPL_v1.0',
6793             caption => 'Common Public License',
6794             'caption.alt.org.trove' => 'Common Public License',
6795             'caption.alt.org.wikipedia' => 'Common Public License',
6796             'caption.alt.misc.fossology_old_short' => 'CPL 1.0',
6797             description => <<'END',
6798             Origin: IBM Public License (IPL)
6799             END
6800             tags => [
6801             'type:versioned:decimal',
6802             ],
6803             };
6804              
6805             $RE{cpl_1} = {
6806             name => 'CPL-1.0',
6807             'name.alt.org.osi' => 'CPL-1.0',
6808             'name.alt.org.spdx' => 'CPL-1.0',
6809             caption => 'Common Public License 1.0',
6810             'caption.alt.org.osi' => 'Common Public License, version 1.0',
6811             'name.alt.org.osi.iri.stem_plain.until.date_20110430.archive.time_20110426131805'
6812             => 'cpl1.0',
6813             'caption.alt.org.osi.misc.list' => 'Common Public License 1.0',
6814             'caption.alt.org.tldr' => 'Common Public License 1.0 (CPL-1.0)',
6815             'caption.alt.misc.legal' => 'Common Public License Version 1.0',
6816             iri => 'https://www.ibm.com/developerworks/library/os-cpl.html',
6817             tags => [
6818             'type:singleversion:cpl',
6819             ],
6820             licenseversion => '1.0',
6821              
6822             'pat.alt.subject.license.scope.sentence' =>
6823             'IBM is the initial Agreement Steward',
6824             'pat.alt.subject.license.scope.multisection.part.head' =>
6825             '(?:Common Public License Version 1\.0[ ])?'
6826             . 'THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE [(]["]AGREEMENT["][)][. ]'
6827             . 'ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT[\']S ACCEPTANCE OF THIS AGREEMENT[.](?: |[ ])'
6828             . '[*)][ ]?DEFINITIONS[ ]'
6829             . '["]Contribution["] means[:"]?[ ]'
6830             . '[*)]in the case of the initial Contributor, the initial code',
6831             };
6832              
6833             =item * cpol
6834              
6835             =item * cpol_1_02
6836              
6837             =cut
6838              
6839             $RE{cpol} = {
6840             name => 'CPOL',
6841             'name.alt.org.wikidata.synth.nogrant' => 'Q5140041',
6842             caption => 'The Code Project Open License',
6843             'caption.alt.org.fedora' => 'CodeProject Open License (CPOL)',
6844             'caption.alt.org.wikidata' => 'Code Project Open License',
6845             tags => [
6846             'type:versioned:decimal',
6847             ],
6848             };
6849              
6850             $RE{cpol_1_02} = {
6851             name => 'CPOL-1.02',
6852             'name.alt.org.spdx.since.date_20130410' => 'CPOL-1.02',
6853             'name.alt.misc.fossology_old' => 'CPOL1.2',
6854             caption => 'Code Project Open License 1.02',
6855             'caption.alt.org.tldr' => 'The Code Project Open License (CPOL) 1.02',
6856             tags => [
6857             'type:singleversion:cpol',
6858             ],
6859             licenseversion => '1.02',
6860              
6861             'pat.alt.subject.license' => 'This License governs Your use of the Work',
6862             };
6863              
6864             =item * crossword
6865              
6866             I
6867              
6868             =cut
6869              
6870             $RE{crossword} = {
6871             name => 'Crossword',
6872             'name.alt.org.fedora.iri.self' => 'Crossword',
6873             'name.alt.org.spdx.since.date_20140807' => 'Crossword',
6874             caption => 'Crossword License',
6875             'caption.alt.org.tldr' => 'Crossword License',
6876             tags => [
6877             'license:is:grant',
6878             'type:unversioned',
6879             ],
6880              
6881             'pat.alt.subject.license.scope.sentence' =>
6882             'No author or distributor accepts responsibility to anyone for the consequences of using it',
6883             };
6884              
6885             =item * cryptix
6886              
6887             =cut
6888              
6889             $RE{cryptix} = {
6890             name => 'Cryptix',
6891             'name.alt.org.fsf' => 'CryptixGeneralLicense',
6892             'name.alt.org.wikidata.synth.nogrant' => 'Q5190781',
6893             caption => 'Cryptix Public License',
6894             'caption.alt.org.fedora' => 'Cryptix General License',
6895             'caption.alt.org.fsf' => 'Cryptix General License',
6896             'caption.alt.org.wikidata' => 'Cryptix General License',
6897             'caption.alt.org.wikipedia' => 'Cryptix General License',
6898             iri => 'http://cryptix.org/LICENSE.TXT',
6899             description => <<'END',
6900             Identical to BSD 2 Clause, except...
6901             * Redistribution of source must retain any (not only "above") legal text
6902             END
6903             tags => [
6904             'family:bsd',
6905             'license:is:grant',
6906             'type:unversioned',
6907             ],
6908              
6909             'pat.alt.subject.license.scope.multisection' =>
6910             $P{retain_notice_cond_discl_anywhere}
6911             . '[.][ ]'
6912             . $P{repro_copr_cond_discl}
6913             . '[.][ ]'
6914             . $P{asis_sw_by},
6915             };
6916              
6917             =item * cua_opl
6918              
6919             =item * cua_opl_1
6920              
6921             =cut
6922              
6923             $RE{cua_opl} = {
6924             name => 'CPAL',
6925             'name.alt.org.wikidata.synth.nogrant' => 'Q38365770',
6926             'name.alt.misc.fossology_old' => 'CUA',
6927             caption => 'CUA Office Public License',
6928             tags => [
6929             'type:versioned:decimal',
6930             ],
6931             };
6932              
6933             $RE{cua_opl_1} = {
6934             name => 'CPAL-1.0',
6935             'name.alt.org.fedora.synth.nogrant' => 'MPLv1.1',
6936             'name.alt.org.osi' => 'CUA-OPL-1.0',
6937             'name.alt.org.osi.iri.stem.until.date_20110430' => 'cuaoffice',
6938             'name.alt.org.spdx' => 'CUA-OPL-1.0',
6939             'name.alt.misc.fossology_old' => 'CUA_v1.0',
6940             caption => 'CUA Office Public License v1.0',
6941             'caption.alt.org.fedora' => 'CUA Office Public License Version 1.0',
6942             'caption.alt.org.osi.synth.nogrant' => 'CUA Office Public License',
6943             'caption.alt.org.osi.misc.list' =>
6944             'CUA Office Public License Version 1.0',
6945             'caption.alt.org.tldr' => 'CUA Office Public License v1.0 (CUA-OPL-1.0)',
6946             description => <<'END',
6947             Origin: Mozilla Public License Version 1.1
6948             END
6949             tags => [
6950             'type:singleversion:cua_opl',
6951             ],
6952             licenseversion => '1.0',
6953              
6954             'pat.alt.subject.license.scope.multisection.part.header' =>
6955             'CUA Office Public Attribution License Version 1\.0[ ]'
6956             . '[*)]["]?Definitions["]?',
6957             };
6958              
6959             =item * cube
6960              
6961             =cut
6962              
6963             $RE{cube} = {
6964             name => 'Cube',
6965             'name.alt.org.fedora.iri.self' => 'Cube',
6966             'name.alt.org.spdx.since.date_20140807' => 'Cube',
6967             caption => 'Cube License',
6968             'caption.alt.org.tldr' => 'Cube License',
6969             tags => [
6970             'family:zlib',
6971             'license:is:grant',
6972             'type:unversioned',
6973             ],
6974              
6975             'pat.alt.subject.license.scope.multisection' =>
6976             $P{origin_sw_no_misrepresent}
6977             . $P{you_not_claim_wrote} . '[. ]'
6978             . $P{use_ack_apprec_not_req}
6979             . '[.][ ]'
6980             . $P{altered_srcver_mark}
6981             . '[.][ ]'
6982             . $P{notice_no_alter_any}
6983             . '[.][ ]additional clause specific to Cube[:]?[ ]'
6984             . $P{src_no_relicense},
6985             };
6986              
6987             =item * curl
6988              
6989             =cut
6990              
6991             $RE{curl} = {
6992             'name.alt.org.spdx.since.date_20160103' => 'curl',
6993             'name.alt.org.wikidata.synth.nogrant' => 'Q33042394',
6994             caption => 'curl License',
6995             'caption.alt.org.tldr' => 'curl License',
6996             'caption.alt.org.wikidata' => 'curl license',
6997             tags => [
6998             'family:mit',
6999             'license:is:grant',
7000             'type:unversioned',
7001             ],
7002              
7003             'pat.alt.subject.license.scope.multisection' => $P{note_copr_perm}
7004             . '[.][ ]'
7005             . $P{asis_sw_warranty},
7006             };
7007              
7008             =item * cvw
7009              
7010             I
7011              
7012             =cut
7013              
7014             $RE{cvw} = {
7015             name => 'CVW',
7016             'name.alt.org.osi' => 'CVW',
7017             'name.alt.org.osi.iri.stem.until.date_20110430' => 'mitrepl',
7018             'name.alt.org.wikidata.synth.nogrant' => 'Q38365796',
7019             caption => 'MITRE Collaborative Virtual Workspace License',
7020             'caption.alt.org.fedora' =>
7021             'MITRE Collaborative Virtual Workspace License (CVW)',
7022             'caption.alt.org.osi' =>
7023             'The MITRE Collaborative Virtual Workspace License',
7024             'caption.alt.org.trove' =>
7025             'MITRE Collaborative Virtual Workspace License (CVW)',
7026             'caption.alt.org.osi.misc.list' =>
7027             'MITRE Collaborative Virtual Workspace License',
7028             'caption.alt.org.wikidata' =>
7029             'The MITRE Collaborative Virtual Workspace License',
7030             tags => [
7031             'type:unversioned',
7032             ],
7033              
7034             'pat.alt.subject.license' =>
7035             'Redistribution of the CVW software or derived works'
7036             . ' must reproduce MITRE[\']s copyright designation',
7037             };
7038              
7039             =item * d_fsl
7040              
7041             I
7042              
7043             =item * d_fsl_1
7044              
7045             I
7046              
7047             =cut
7048              
7049             $RE{d_fsl} = {
7050             name => 'D-FSL',
7051             caption => 'Deutsche Freie Software Lizenz',
7052             'caption.alt.misc.legal_grant.lang.de' =>
7053             'Deutschen Freien Software Lizenz',
7054             'caption.alt.misc.legal_grant.lang.en' => 'German Free Software License',
7055             'iri.alt.archive.time_20050208012625' => 'http://www.d-fsl.de/',
7056             'iri.alt.lang.de' =>
7057             'https://www.hbz-nrw.de/produkte/open-access/lizenzen/dfsl/deutsche-freie-software-lizenz',
7058             'iri.alt.lang.en' =>
7059             'https://www.hbz-nrw.de/produkte/open-access/lizenzen/dfsl/german-free-software-license',
7060             tags => [
7061             'type:versioned:decimal',
7062             ],
7063             };
7064              
7065             $RE{d_fsl_1} = {
7066             name => 'D-FSL-1.0',
7067             'name.alt.org.spdx.since.date_20130410' => 'D-FSL-1.0',
7068             caption => 'Deutsche Freie Software Lizenz 1.0',
7069             'caption.alt.org.spdx.since.date_20130410.synth.nogrant' =>
7070             'Deutsche Freie Software Lizenz',
7071             tags => [
7072             'type:singleversion:d_fsl',
7073             ],
7074             licenseversion => '1.0',
7075              
7076             'pat.alt.subject.license.scope.line.scope.sentence.part.section0.lang.de'
7077             => 'Die Beschreibung des Aufbaus und[/]oder der Struktur',
7078             'pat.alt.subject.license.scope.line.scope.sentence.part.section0.lang.en'
7079             => 'Description of composition, architecture and[/]or structure',
7080             };
7081              
7082             =item * dbad
7083              
7084             I
7085              
7086             =item * dbad_0_2
7087              
7088             I
7089              
7090             =item * dbad_0_3
7091              
7092             I
7093              
7094             =item * dbad_1
7095              
7096             I
7097              
7098             =item * dbad_1_1
7099              
7100             I
7101              
7102             =cut
7103              
7104             # TODO: include translations at http://www.dbad-license.org/
7105             $RE{dbad} = {
7106             name => 'DBAD',
7107             caption => 'DON\'T BE A DICK PUBLIC LICENSE',
7108             'caption.alt.misc.longer' => 'The "Dont Be a Dick" Public License',
7109             'caption.alt.misc.shorter' => 'the DBAD license',
7110             'caption.alt.org.tldr' => 'DON\'T BE A DICK PUBLIC LICENSE',
7111             iri => 'http://www.dbad-license.org/',
7112             tags => [
7113             'type:versioned:decimal',
7114             ],
7115              
7116             '_pat.alt.subject.license.scope.line.scope.sentence' => [
7117             'For legal purposes, the DBAD license is a(?: strict)? superset',
7118             "Do whatever you like with the original work, just don[']t be a dick",
7119             ],
7120             };
7121              
7122             $RE{dbad_0_2} = {
7123             name => 'DBAD-0.2',
7124             caption => 'DBAD Public License v0.2',
7125             'iri.alt.archive.time_20110112205017' =>
7126             'http://dbad-license.org/license',
7127             tags => [
7128             'type:singleversion:dbad',
7129             ],
7130             licenseversion => '0.2',
7131              
7132             'pat.alt.subject.license.scope.line.scope.sentence' =>
7133             'For legal purposes, the DBAD license is a superset',
7134             };
7135              
7136             $RE{dbad_0_3} = {
7137             name => 'DBAD-0.3',
7138             caption => 'DBAD Public License v0.3',
7139             'iri.alt.archive.time_20120322202702' =>
7140             'http://dbad-license.org/license',
7141             tags => [
7142             'type:singleversion:dbad',
7143             ],
7144             licenseversion => '0.3',
7145              
7146             'pat.alt.subject.license.scope.line.scope.sentence' =>
7147             'For legal purposes, the DBAD license is a strict superset',
7148             };
7149              
7150             $RE{dbad_1} = {
7151             name => 'DBAD-1',
7152             caption => 'DBAD Public License v1.0',
7153             'caption.alt.org.tldr.synth.nogrant' => 'DBAD Public License',
7154             'iri.alt.archive.time_20150618172510' => 'http://dbad-license.org/',
7155             tags => [
7156             'type:singleversion:dbad',
7157             ],
7158             licenseversion => '1.0',
7159              
7160             'pat.alt.subject.license.scope.line.scope.multisection' =>
7161             'Everyone is permitted'
7162             . ' to copy and distribute verbatim or modified copies of this license document'
7163             . ', and changing it is allowed as long as the name is changed'
7164             . '[.][ ]'
7165             . "[> ]DON[']T BE A DICK PUBLIC LICENSE"
7166             . '[ ][> ]TERMS AND CONDITIONS'
7167             . ' FOR COPYING, DISTRIBUTION AND MODIFICATION' . '[ ]'
7168             . '[*)]Do whatever you like with the original work, '
7169             . "just don[']t be a dick[.]",
7170             };
7171              
7172             $RE{dbad_1_1} = {
7173             name => 'DBAD-1.1',
7174             caption => 'DBAD Public License v1.1',
7175             'caption.alt.org.tldr.synth.nogrant' => "DON'T BE A DICK PUBLIC LICENSE",
7176             tags => [
7177             'type:singleversion:dbad',
7178             ],
7179             licenseversion => '1.1',
7180              
7181             'pat.alt.subject.license.scope.line.scope.multisection' =>
7182             'Everyone is permitted '
7183             . 'to copy and distribute verbatim or modified copies of this license document'
7184             . '[.][ ]'
7185             . "[> ]DON[']T BE A DICK PUBLIC LICENSE"
7186             . '[ ][> ]TERMS AND CONDITIONS'
7187             . ' FOR COPYING, DISTRIBUTION AND MODIFICATION' . '[ ]'
7188             . '[*)]Do whatever you like with the original work, '
7189             . "just don[']t be a dick[.]",
7190             };
7191              
7192             =item * dont_ask
7193              
7194             I
7195              
7196             =cut
7197              
7198             $RE{dont_ask} = {
7199             name => 'Dont-Ask',
7200             caption => "The Don't Ask Me About It License",
7201             'caption.alt.org.tldr' => "The Don't Ask Me About It License",
7202             tags => [
7203             'type:unversioned',
7204             ],
7205              
7206             'pat.alt.subject.license.scope.sentence' =>
7207             'Copying and distribution of this file, '
7208             . 'with or without modification, '
7209             . 'are permitted in any medium '
7210             . 'provided you do not contact the author '
7211             . 'about the file or any problems you are having with the file[.]',
7212             };
7213              
7214             =item * dsdp
7215              
7216             =cut
7217              
7218             $RE{dsdp} = {
7219             name => 'DSDP',
7220             'name.alt.org.fedora.iri.self' => 'DSDP',
7221             'name.alt.org.spdx.since.date_20140807' => 'DSDP',
7222             caption => 'DSDP License',
7223             'caption.alt.org.tldr' => 'DSDP License',
7224             'summary.alt.org.fedora.iri.mit' => 'MIT-style license, PetSC Variant',
7225             tags => [
7226             'family:mit',
7227             'license:is:grant',
7228             'type:unversioned',
7229             ],
7230              
7231             'pat.alt.subject.license.part.part1' =>
7232             'This program discloses material protectable',
7233             'pat.alt.subject.license.scope.paragraph' => $P{asis_expr_warranty}
7234             . '[. ]'
7235             . $P{perm_granted},
7236             };
7237              
7238             =item * ecl
7239              
7240             =item * ecl_1
7241              
7242             =item * ecl_2
7243              
7244             =cut
7245              
7246             $RE{ecl} = {
7247             name => 'ECL',
7248             'name.alt.org.wikidata.synth.nogrant' => 'Q5341236',
7249             caption => 'Educational Community License',
7250             'caption.alt.org.wikidata' => 'Educational Community License',
7251             'caption.alt.misc.long' => 'Educational Community License (ECL)',
7252             tags => [
7253             'type:versioned:decimal',
7254             ],
7255             };
7256              
7257             $RE{ecl_1} = {
7258             name => 'ECL-1.0',
7259             'name.alt.org.osi' => 'ECL-1.0',
7260             'name.alt.org.osi.iri.stem.until.date_20070704' => 'ecl1',
7261             'name.alt.org.spdx' => 'ECL-1.0',
7262             'name.alt.misc.fossology_old' => 'ECL1.0',
7263             caption => 'Educational Community License, Version 1.0',
7264             'caption.alt.org.fedora' => 'Educational Community License 1.0',
7265             'caption.alt.org.fedora.misc.short' => 'ECL 1.0',
7266             'caption.alt.org.osi' => 'Educational Community License, Version 1.0',
7267             'caption.alt.org.spdx' => 'Educational Community License v1.0',
7268             tags => [
7269             'type:singleversion:ecl',
7270             ],
7271             licenseversion => '1.0',
7272              
7273             'pat.alt.subject.license' =>
7274             'Licensed under the Educational Community License version 1.0',
7275             };
7276              
7277             $RE{ecl_2} = {
7278             name => 'ECL-2.0',
7279             'name.alt.org.osi' => 'ECL-2.0',
7280             'name.alt.org.osi.iri.stem.until.date_20110430' => 'ecl2',
7281             'name.alt.org.spdx' => 'ECL-2.0',
7282             'name.alt.org.tldr.path.short' => 'ecl-2.0',
7283             'name.alt.misc.fossology_old' => 'ECL2.0',
7284             caption => 'Educational Community License, Version 2.0',
7285             'caption.alt.org.fedora' => 'Educational Community License 2.0',
7286             'caption.alt.org.fedora.misc.short' => 'ECL 2.0',
7287             'caption.alt.org.spdx' => 'Educational Community License v2.0',
7288             'caption.alt.org.tldr' =>
7289             'Educational Community License, Version 2.0 (ECL-2.0)',
7290             'caption.alt.misc.short' => 'ECLv2',
7291             tags => [
7292             'type:singleversion:ecl',
7293             ],
7294             licenseversion => '2.0',
7295              
7296             'pat.alt.subject.license.scope.sentence' =>
7297             'Licensed under the[ ]Educational Community License, Version 2\.0',
7298             };
7299              
7300             =item * ecos_1_1
7301              
7302             I
7303              
7304             =cut
7305              
7306             # Yes, it is unversioned
7307             $RE{ecos_1_1} = {
7308             name => 'RHEPL',
7309             'name.alt.org.spdx' => 'RHeCos-1.1',
7310             caption => 'Red Hat eCos Public License v1.1',
7311             'caption.alt.misc.ecos_2_ref' => 'Red Hat eCos Public License',
7312             'caption.alt.org.tldr' => 'Red Hat eCos Public License v1.1 (RHeCos-1.1)',
7313             tags => [
7314             'type:unversioned',
7315             ],
7316              
7317             'pat.alt.subject.license.scope.sentence.part.section_1_13' =>
7318             '["]Red Hat Branded Code["] is code that Red Hat distributes',
7319             };
7320              
7321             =item * ecos_2
7322              
7323             I
7324              
7325             =cut
7326              
7327             # Yes, it is unversioned
7328             $RE{ecos_2} = {
7329             name => 'eCos-2.0',
7330             'name.alt.org.fedora.synth.nogrant' => 'eCos',
7331             'name.alt.org.osi' => 'eCos-2.0',
7332             'name.alt.org.spdx.until.date_20150513' => 'eCos-2.0',
7333             'name.alt.org.wikidata.synth.nogrant' => 'Q26904555',
7334             caption => 'eCos license version 2.0',
7335             'caption.alt.org.fedora' => 'eCos License v2.0',
7336             'caption.alt.org.osi' => 'eCos License version 2.0',
7337             'caption.alt.org.wikidata' => 'eCos-2.0',
7338             tags => [
7339             'contains.grant.gpl_2',
7340             'contains.trait.except_ecos_2',
7341             'type:unversioned',
7342             ],
7343              
7344             'pat.alt.subject.license.scope.sentence.part.grant' =>
7345             'eCos is free software; '
7346             . 'you can redistribute it and[/]or modify it '
7347             . 'under the terms of the GNU General Public License',
7348             'pat.alt.subject.license.scope.sentence.part.except_1' =>
7349             'if other files instantiate templates or use macros or inline functions from this file, '
7350             . 'or you compile this file and link it with other works',
7351             'pat.alt.subject.license.scope.line.scope.sentence.part.except_2' =>
7352             'However the source code for this file must still be made available',
7353             'pat.alt.subject.license.scope.line.scope.sentence.part.except_3' =>
7354             'This exception does not invalidate any other reasons why',
7355             };
7356              
7357             =item * efl
7358              
7359             I
7360              
7361             =item * efl_1
7362              
7363             I
7364              
7365             =item * efl_2
7366              
7367             I
7368              
7369             =cut
7370              
7371             $RE{efl} = {
7372             name => 'EFL',
7373             'name.alt.org.wikidata.synth.nogrant' => 'Q17011832',
7374             caption => 'Eiffel Forum License',
7375             'caption.alt.org.trove' => 'Eiffel Forum License',
7376             'caption.alt.org.trove.misc.long' => 'Eiffel Forum License (EFL)',
7377             'caption.alt.org.wikipedia' => 'Eiffel Forum License',
7378             'iri.alt.old.osi' => 'https://opensource.org/licenses/eiffel.html',
7379             tags => [
7380             'type:versioned:decimal',
7381             ],
7382             };
7383              
7384             $RE{efl_1} = {
7385             name => 'EFL-1',
7386             'name.alt.org.osi' => 'EFL-1.0',
7387             'name.alt.org.osi.iri.stem.until.date_20110430' => 'ver1_eiffel',
7388             'name.alt.org.spdx' => 'EFL-1.0',
7389             'name.alt.misc.fossology_old' => 'Eiffel_1.0',
7390             'name.alt.misc.fossology_old_short' => 'Eiffel_v1',
7391             caption => 'Eiffel Forum License v1.0',
7392             'caption.alt.org.fedora' => 'Eiffel Forum License 1.0',
7393             'caption.alt.org.fedora.iri.self' => 'Eiffel Forum License V1',
7394             'caption.alt.org.osi' => 'The Eiffel Forum License, version 1',
7395             'caption.alt.org.osi.misc.list' => 'Eiffel Forum License V1.0',
7396             'caption.alt.org.osi.misc.do_not_use_list' =>
7397             'Eiffel Forum License, version 1.0',
7398             iri => 'http://www.opensource.org/licenses/eiffel.php',
7399             'iri.alt.format.txt' => 'http://www.eiffel-nice.org/license/forum.txt',
7400             tags => [
7401             'license:is:grant',
7402             'type:singleversion:efl',
7403             ],
7404             licenseversion => '1.0',
7405              
7406             'pat.alt.subject.license.scope.sentence.part.publish_clause' =>
7407             'you must publicly release the modified version of this package',
7408             };
7409              
7410             $RE{efl_2} = {
7411             name => 'EFL-2',
7412             'name.alt.org.osi' => 'EFL-2.0',
7413             'name.alt.org.osi.iri.stem.until.date_20110430' => 'ver2_eiffel',
7414             'name.alt.org.spdx' => 'EFL-2.0',
7415             'name.alt.misc.fossology_old' => 'Eiffel_2.0',
7416             'name.alt.misc.fossology_old_short' => 'Eiffel_v2',
7417             caption => 'Eiffel Forum License v2.0',
7418             'caption.alt.org.fedora' => 'Eiffel Forum License 2.0',
7419             'caption.alt.org.fedora.misc.short' => 'EFL 2.0',
7420             'caption.alt.org.osi' => 'Eiffel Forum License, Version 2',
7421             'caption.alt.org.osi.misc.list' => 'Eiffel Forum License V2.0',
7422             'caption.alt.org.tldr' => 'Eiffel Forum License v2.0 (EFL-2.0)',
7423             iri => 'http://www.eiffel-nice.org/license/eiffel-forum-license-2.html',
7424             'iri.alt.format.txt' =>
7425             'http://www.eiffel-nice.org/license/eiffel-forum-license-2.txt',
7426             tags => [
7427             'license:is:grant',
7428             'type:singleversion:efl',
7429             ],
7430             licenseversion => '2.0',
7431              
7432             'pat.alt.subject.license.scope.sentence.part.publish_clause' =>
7433             'you are encouraged to publicly release the modified version of this package',
7434             };
7435              
7436             =item * entessa
7437              
7438             I
7439              
7440             =cut
7441              
7442             $RE{entessa} = {
7443             name => 'Entessa',
7444             'name.alt.org.fedora' => 'Entessa',
7445             'name.alt.org.osi' => 'Entessa',
7446             'name.alt.org.osi.iri.stem.until.date_20110430' => 'entessa',
7447             'name.alt.org.spdx' => 'Entessa',
7448             'name.alt.misc.fossology_old' => 'Entessa1.0',
7449             'name.alt.org.wikidata.synth.nogrant' => 'Q38366115',
7450             caption => 'Entessa Public License v1.0',
7451             'caption.alt.org.fedora' => 'Entessa Public License',
7452             'caption.alt.org.osi' => 'Entessa Public License Version. 1.0',
7453             'caption.alt.org.osi.misc.list' => 'Entessa Public License',
7454             'caption.alt.org.tldr' => 'Entessa Public License v1.0 (Entessa)',
7455             'caption.alt.org.wikidata' => 'Entessa Public License',
7456             description => <<'END',
7457             Identical to Apache 1.1, except...
7458             * replace "Apache" and "Apache Software Foundation" with "Entessa" and "OpenSeal"
7459             * replace "software" with "open source software" in notice inclusion clause
7460             END
7461             tags => [
7462             'license:is:grant',
7463             'type:unversioned',
7464             ],
7465              
7466             'pat.alt.subject.license.scope.sentence.part.notice_inclusion_clause' =>
7467             'This product includes open source software developed by openSEAL',
7468             };
7469              
7470             =item * epl
7471              
7472             =item * epl_1
7473              
7474             =item * epl_2
7475              
7476             =cut
7477              
7478             $RE{epl} = {
7479             name => 'EPL',
7480             'name.alt.misc.fossology_old' => 'Eclipse',
7481             'name.alt.org.wikidata.synth.nogrant' => 'Q1281977',
7482             caption => 'Eclipse Public License',
7483             'caption.alt.org.wikipedia' => 'Eclipse Public License',
7484             description => <<'END',
7485             Origin: Common Public License (CPL)
7486             END
7487             tags => [
7488             'type:versioned:decimal',
7489             ],
7490              
7491             # TODO: readd when children cover same region
7492             # 'pat.alt.subject.license.scope.sentence' =>
7493             # 'The Eclipse Foundation is the initial Agreement Steward',
7494             };
7495              
7496             $RE{epl_1} = {
7497             name => 'EPL-1.0',
7498             'name.alt.org.fedora' => 'EPL-1.0',
7499             'name.alt.org.osi' => 'EPL-1.0',
7500             'name.alt.org.osi.iri.stem_plain.until.date_20110430.archive.time_20110426131805'
7501             => 'eclipse-1.0',
7502             'name.alt.org.spdx' => 'EPL-1.0',
7503             'name.alt.org.wikidata.synth.nogrant' => 'Q55633170',
7504             'name.alt.misc.fossology_old' => 'Eclipse_1.0',
7505             caption => 'Eclipse Public License 1.0',
7506             'caption.alt.org.tldr' => 'Eclipse Public License 1.0 (EPL-1.0)',
7507             'caption.alt.org.trove' => 'Eclipse Public License 1.0 (EPL-1.0)',
7508             'caption.alt.misc.legal' => 'Eclipse Public License - v 1.0',
7509             tags => [
7510             'type:singleversion:epl',
7511             ],
7512             licenseversion => '1.0',
7513              
7514             'pat.alt.subject.license.scope.sentence' =>
7515             'Eclipse Public License[ - ]v 1\.0[ ]THE ACCOMPANYING',
7516             'pat.alt.subject.license.scope.multisection.part.head' =>
7517             '(?:Eclipse Public License[ - ]v 1\.0[ ])?'
7518             . 'THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC LICENSE [(]["]AGREEMENT["][)][. ]'
7519             . 'ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT[\']S ACCEPTANCE OF THIS AGREEMENT[.](?: |[ ])'
7520             . '[*)][ ]?DEFINITIONS[ ]'
7521             . '["]Contribution["] means[:"]?[ ]'
7522             . '[*)]in the case of the initial Contributor, the initial code',
7523             };
7524              
7525             $RE{epl_2} = {
7526             name => 'EPL-2.0',
7527             'name.alt.org.fedora' => 'EPL-2.0',
7528             'name.alt.org.osi' => 'EPL-2.0',
7529             'name.alt.org.spdx.since.date_20171228' => 'EPL-2.0',
7530             'name.alt.org.wikidata.synth.nogrant' => 'Q55633295',
7531             caption => 'Eclipse Public License 2.0',
7532             'caption.alt.org.osi' => 'Eclipse Public License version 2.0',
7533             'caption.alt.org.osi.misc.list' => 'Eclipse Public License 2.0',
7534             'caption.alt.org.trove' => 'Eclipse Public License 2.0 (EPL-2.0)',
7535             'caption.alt.misc.legal' => 'Eclipse Public License - v 2.0',
7536             tags => [
7537             'type:singleversion:epl',
7538             ],
7539             licenseversion => '2.0',
7540              
7541             'pat.alt.subject.license.scope.sentence' =>
7542             'Eclipse Public License[ - ]v 2\.0[ ]THE ACCOMPANYING',
7543             'pat.alt.subject.license.scope.multisection.part.head' =>
7544             '(?:Eclipse Public License[ - ]v 1\.0[ ])?'
7545             . 'THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC LICENSE [(]["]AGREEMENT["][)][. ]'
7546             . 'ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT[\']S ACCEPTANCE OF THIS AGREEMENT[.](?: |[ ])'
7547             . '[*)][ ]?DEFINITIONS[ ]'
7548             . '["]Contribution["] means[:"]?[ ]'
7549             . '[*)]in the case of the initial Contributor, the initial content',
7550             };
7551              
7552             =item * erlpl
7553              
7554             I
7555              
7556             =item * erlpl_1_1
7557              
7558             I
7559              
7560             =cut
7561              
7562             $RE{erlpl} = {
7563             name => 'ErlPL',
7564             'name.alt.org.wikidata.synth.nogrant' => 'Q3731857',
7565             caption => 'Erlang Public License',
7566             tags => [
7567             'type:versioned:decimal',
7568             ],
7569             };
7570              
7571             $RE{erlpl_1_1} = {
7572             name => 'ErlPL-1.1',
7573             'name.alt.org.fedora.synth.nogrant' => 'ERPL',
7574             'name.alt.org.fedora.iri.self.synth.nogrant' => 'ErlangPublicLicense',
7575             'name.alt.org.spdx' => 'ErlPL-1.1',
7576             caption => 'Erlang Public License v1.1',
7577             'caption.alt.org.fedora' => 'Erlang Public License 1.1',
7578             'caption.alt.org.tldr' => 'Erlang Public License v1.1 (ErlPL-1.1)',
7579             description => <<'END',
7580             Origin: Mozilla Public License 1.0
7581             END
7582             tags => [
7583             'type:singleversion:erlpl',
7584             ],
7585             licenseversion => '1.1',
7586              
7587             'pat.alt.subject.license.scope.multiparagraph.part.head' =>
7588             'ERLANG PUBLIC LICENSE[ ]Version 1\.1[ ]' . '[*)]Definitions',
7589             };
7590              
7591             =item * eudatagrid
7592              
7593             I
7594              
7595             =cut
7596              
7597             $RE{eudatagrid} = {
7598             name => 'EUDatagrid',
7599             'name.alt.org.osi' => 'EUDatagrid',
7600             'name.alt.org.osi.iri.stem.until.date_20110430' => 'eudatagrid',
7601             'name.alt.org.spdx' => 'EUDatagrid',
7602             'name.alt.org.wikidata.synth.nogrant' => 'Q38365944',
7603             'name.alt.misc.fossology_old_short' => 'Datagrid',
7604             caption => 'EU DataGrid Software License',
7605             'caption.alt.org.fedora' => 'EU Datagrid Software License',
7606             'caption.alt.org.fedora.misc.short' => 'EU Datagrid',
7607             'caption.alt.org.tldr' => 'EU DataGrid Software License (EUDatagrid)',
7608             tags => [
7609             'type:unversioned',
7610             ],
7611              
7612             'pat.alt.subject.license.scope.line.scope.sentence' =>
7613             'This software includes voluntary contributions made to the EU DataGrid',
7614             };
7615              
7616             =item * eupl
7617              
7618             =item * eupl_1
7619              
7620             =item * eupl_1_1
7621              
7622             =item * eupl_1_2
7623              
7624             =cut
7625              
7626             $RE{eupl} = {
7627             name => 'EUPL',
7628             'name.alt.org.wikidata.synth.nogrant' => 'Q1376919',
7629             caption => 'European Union Public License',
7630             'caption.alt.org.wikidata' => 'European Union Public Licence',
7631             'caption.alt.org.wikipedia' => 'European Union Public Licence',
7632             tags => [
7633             'type:versioned:decimal',
7634             ],
7635             };
7636              
7637             $RE{eupl_1} = {
7638             name => 'EUPL-1.0',
7639             'name.alt.org.spdx' => 'EUPL-1.0',
7640             caption => 'European Union Public License, Version 1.0',
7641             'caption.alt.org.fedora' => 'European Union Public License v1.0',
7642             'caption.alt.org.spdx' => 'European Union Public License 1.0',
7643             'caption.alt.org.trove' => 'European Union Public Licence 1.0 (EUPL 1.0)',
7644             'caption.alt.org.trove.misc.short' => 'EUPL 1.0',
7645             tags => [
7646             'license:contains:grant',
7647             'type:singleversion:eupl',
7648             ],
7649             licenseversion => '1.0',
7650              
7651             'pat.alt.subject.license.scope.multisection.part.header' =>
7652             'Licensed under the EUPL V\.1\.0[ ]or has expressed'
7653             };
7654              
7655             $RE{eupl_1_1} = {
7656             name => 'EUPL-1.1',
7657             'name.alt.org.spdx' => 'EUPL-1.1',
7658             'name.alt.org.tldr' => 'european-union-public-licence',
7659             'name.alt.org.tldr.path.short' => 'eupl-1.1',
7660             caption => 'European Union Public License, Version 1.1',
7661             'caption.alt.org.fedora' => 'European Union Public License 1.1',
7662             'caption.alt.org.fedora.misc.short' => 'EUPL 1.1',
7663             'caption.alt.org.spdx' => 'European Union Public License 1.1',
7664             'caption.alt.org.tldr' => 'European Union Public License 1.1 (EUPL-1.1)',
7665             'caption.alt.org.trove' => 'European Union Public Licence 1.1 (EUPL 1.1)',
7666             'caption.alt.org.trove.misc.short' => 'EUPL 1.1',
7667             tags => [
7668             'license:contains:grant',
7669             'type:singleversion:eupl',
7670             ],
7671             licenseversion => '1.1',
7672              
7673             'pat.alt.subject.license.scope.multisection.part.header' =>
7674             'Licensed under the EUPL V\.1\.1[ ]or has expressed'
7675             };
7676              
7677             $RE{eupl_1_2} = {
7678             name => 'EUPL-1.2',
7679             'name.alt.org.osi' => 'EUPL-1.2',
7680             'name.alt.org.spdx.since.date_20171228' => 'EUPL-1.2',
7681             caption => 'European Union Public License, Version 1.2',
7682             'caption.alt.org.fedora' => 'European Union Public License 1.2',
7683             'caption.alt.org.fedora.misc.short' => 'EUPL 1.2',
7684             'caption.alt.org.osi' => 'European Union Public License, version 1.2',
7685             'caption.alt.org.osi.misc.list' => 'European Union Public License 1.2',
7686             'caption.alt.org.osi.misc.cat_list.synth.nogrant' =>
7687             'European Union Public License',
7688             'caption.alt.org.spdx' => 'European Union Public License 1.2',
7689             'caption.alt.org.trove' => 'European Union Public Licence 1.2 (EUPL 1.2)',
7690             'caption.alt.org.trove.misc.short' => 'EUPL 1.2',
7691             'iri.alt.org.wikipedia' =>
7692             'https://en.wikipedia.org/wiki/European_Union_Public_Licence#Version_1.2',
7693             tags => [
7694             'license:contains:grant',
7695             'type:singleversion:eupl',
7696             ],
7697             licenseversion => '1.2',
7698              
7699             'pat.alt.subject.license.scope.multisection.part.header' =>
7700             'Licensed under the EUPL[ ]or has expressed'
7701             };
7702              
7703             =item * eurosym
7704              
7705             =cut
7706              
7707             $RE{eurosym} = {
7708             name => 'Eurosym',
7709             'name.alt.org.fedora.iri.self' => 'Eurosym',
7710             'name.alt.org.spdx.since.date_20140807' => 'Eurosym',
7711             caption => 'Eurosym License',
7712             'caption.alt.org.tldr' => 'Eurosym License',
7713             tags => [
7714             'family:zlib',
7715             'license:is:grant',
7716             'type:unversioned',
7717             ],
7718              
7719             'pat.alt.subject.license.scope.multisection' =>
7720             $P{origin_sw_no_misrepresent}
7721             . $P{you_not_claim_wrote} . '[. ]'
7722             . $P{use_ack_apprec}
7723             . '[.][ ]'
7724             . $P{altered_srcver_mark}
7725             . '[.][ ]' . '[*)]?'
7726             . $P{you_not_use_ad_dist}
7727             . $P{without_written_prior}
7728             . '[.][ ]' . '[*)]?'
7729             . $P{change_redist_share}
7730             . '[.][ ]'
7731             . $P{notice_no_alter},
7732             };
7733              
7734             =item * fair
7735              
7736             I
7737              
7738             =cut
7739              
7740             $RE{fair} = {
7741             name => 'Fair',
7742             'name.alt.org.fedora' => 'Fair',
7743             'name.alt.org.osi' => 'Fair',
7744             'name.alt.org.osi.iri.stem.until.date_20110430' => 'fair',
7745             'name.alt.org.spdx' => 'Fair',
7746             'name.alt.org.tldr' => 'fair-license',
7747             'name.alt.org.tldr.path.short' => 'fair',
7748             'name.alt.org.wikidata.synth.nogrant' => 'Q22682017',
7749             caption => 'Fair License',
7750             'caption.alt.org.tldr' => 'Fair License (Fair)',
7751             tags => [
7752             'license:is:grant',
7753             'type:unversioned',
7754             ],
7755              
7756             'pat.alt.subject.license.scope.line.scope.sentence' =>
7757             'Usage of the works is permitted provided that this instrument',
7758             };
7759              
7760             =item * fair_source
7761              
7762             I
7763              
7764             =item * fair_source_0_9
7765              
7766             I
7767              
7768             =cut
7769              
7770             $RE{fair_source} = {
7771             name => 'Fair-Source',
7772             caption => 'Fair Source License',
7773             tags => [
7774             'type:versioned:decimal',
7775             ],
7776             };
7777              
7778             $RE{fair_source_0_9} = {
7779             name => 'Fair-Source-0.9',
7780             caption => 'Fair Source License, version 0.9',
7781             'caption.alt.org.tldr' => 'Fair Source License 0.9 (Fair-Source-0.9)',
7782             iri => 'https://fair.io/#license',
7783             'iri.alt.format.txt' => 'https://fair.io/v0.9.txt',
7784             tags => [
7785             'type:singleversion:fair_source',
7786             ],
7787             licenseversion => '0.9',
7788              
7789             'pat.alt.subject.license.scope.line.scope.sentence' =>
7790             'Licensor hereby grants to each recipient',
7791             };
7792              
7793             =item * fal
7794              
7795             I
7796              
7797             =item * fal_1_1
7798              
7799             I
7800              
7801             =item * fal_1_2
7802              
7803             I
7804              
7805             =item * fal_1_3
7806              
7807             I
7808              
7809             =cut
7810              
7811             $RE{fal} = {
7812             name => 'FAL',
7813             caption => 'Free Art License',
7814             'caption.alt.org.fedora' => 'Free Art License',
7815             'caption.alt.org.fedora.misc.short' => 'Free Art',
7816             'caption.alt.misc.legal.lang.de' => 'Lizenz Freie Kunst',
7817             'caption.alt.misc.legal.lang.es' => 'Licencia Arte Libre',
7818             'caption.alt.misc.legal.lang.fr' => 'Licence Art Libre',
7819             'caption.alt.misc.legal.lang.it' => 'Licenza Arte Libera',
7820             'caption.alt.misc.legal.lang.pl' => 'Licencja Wolnej Sztuki',
7821             iri => 'https://artlibre.org/',
7822             tags => [
7823             'type:versioned:decimal',
7824             ],
7825             };
7826              
7827             $RE{fal_1_1} = {
7828             name => 'FAL-1.1',
7829             caption => 'Free Art License 1.1',
7830             'caption.alt.misc.legal.lang.de' => 'Lizenz Freie Kunst 1.1',
7831             tags => [
7832             'type:singleversion:fal',
7833             ],
7834             licenseversion => '1.1',
7835              
7836             'pat.alt.subject.license.scope.line.scope.sentence.lang.de' =>
7837             'Durch die Lizenz ["] ?Freie Kunst ?["] wird die Erlaubnis verliehen',
7838             };
7839              
7840             $RE{fal_1_2} = {
7841             name => 'FAL-1.2',
7842             caption => 'Free Art License 1.2',
7843             'caption.alt.misc.legal.lang.es' => 'Licencia Arte Libre 1.2',
7844             'caption.alt.misc.legal.lang.fr' => 'Licence Art Libre 1.2',
7845             'caption.alt.misc.legal.lang.it' => 'Licenza Arte Libera 1.2',
7846             iri => 'https://artlibre.org/licence/lal/licence-art-libre-12/',
7847             'iri.alt.archive.time_20051027003023.lang.en' =>
7848             'https://artlibre.org/licence/lal/en/',
7849             tags => [
7850             'type:singleversion:fal',
7851             ],
7852             licenseversion => '1.2',
7853              
7854             'pat.alt.subject.license.scope.line.scope.sentence.lang.en' =>
7855             'With this Free Art License, you are authorised',
7856             'pat.alt.subject.license.scope.line.scope.sentence.lang.es' =>
7857             'La Licencia Arte Libre [(]LAL[)] le autoriza a copiar',
7858             'pat.alt.subject.license.scope.line.scope.sentence.lang.fr' =>
7859             'Avec cette Licence Art Libre, l’autorisation est',
7860             'pat.alt.subject.license.scope.line.scope.sentence.lang.it' =>
7861             'Con questa licenza Arte Libera è permesso copiare',
7862             };
7863              
7864             $RE{fal_1_3} = {
7865             name => 'FAL-1.3',
7866             'name.alt.org.tldr.path.short.synth.nogrant' => 'fal',
7867             caption => 'Free Art License 1.3',
7868             'caption.alt.misc.legal.lang.de' => 'Lizenz Freie Kunst 1.3',
7869             'caption.alt.misc.legal.lang.en' => 'Free Art License 1.3 (FAL 1.3)',
7870             'caption.alt.misc.legal.lang.fr' => 'Licence Art Libre 1.3 (LAL 1.3)',
7871             'caption.alt.misc.legal.lang.pl' => 'Licencja Wolnej Sztuki 1.3',
7872             'caption.alt.misc.legal.lang.pt' => 'Licença da Arte Livre 1.3',
7873             'caption.alt.org.tldr.synth.nogrant' => 'Free Art License (FAL)',
7874             'iri.alt.misc.canonical.lang.de' =>
7875             'https://artlibre.org/licence/lal/de1-3/',
7876             tags => [
7877             'type:singleversion:fal',
7878             ],
7879             licenseversion => '1.3',
7880              
7881             'pat.alt.subject.license.scope.line.scope.sentence.lang.de' =>
7882             'Mit der Lizenz Freie Kunst wird die Genehmigung erteilt',
7883             'pat.alt.subject.license.scope.line.scope.sentence.lang.en' =>
7884             'The Free Art License grants the right to freely copy',
7885             'pat.alt.subject.license.scope.line.scope.sentence.lang.fr' =>
7886             'Avec la Licence Art Libre, l’autorisation est',
7887             'pat.alt.subject.license.scope.line.scope.sentence.lang.pl' =>
7888             'Licencja Wolnej Sztuki przyznaje prawo do swobodnego kopiowania',
7889             'pat.alt.subject.license.scope.line.scope.sentence.lang.pt' =>
7890             'A Licença da Arte Livre autoriza você a copiar livremente',
7891             };
7892              
7893             =item * festival
7894              
7895             I
7896              
7897             =cut
7898              
7899             $RE{festival} = {
7900             name => 'Festival',
7901             'name.alt.org.fedora.iri.mit_short' => 'Festival',
7902             'summary.alt.org.fedora.iri.mit' => 'MIT-style license, Festival variant',
7903             tags => [
7904             'family:mit',
7905             'license:is:grant',
7906             'type:unversioned',
7907             ],
7908              
7909             'pat.alt.subject.license.scope.line.scope.sentence.part.clause2' =>
7910             "Original authors['] names are not deleted",
7911             };
7912              
7913             =item * frameworx
7914              
7915             I
7916              
7917             =item * frameworx_1
7918              
7919             I
7920              
7921             =cut
7922              
7923             $RE{frameworx} = {
7924             name => 'Frameworx',
7925             'name.alt.org.wikidata.synth.nogrant' => 'Q5477987',
7926             caption => 'Frameworx License',
7927             tags => [
7928             'type:versioned:decimal',
7929             ],
7930             };
7931              
7932             $RE{frameworx_1} = {
7933             name => 'Frameworx-1.0',
7934             'name.alt.org.osi' => 'Frameworx-1.0',
7935             'name.alt.org.osi.iri.stem.until.date_20110430.synth.nogrant' =>
7936             'frameworx',
7937             'name.alt.org.spdx' => 'Frameworx-1.0',
7938             'name.alt.misc.fossology_old' => 'Frameworx_v1.0',
7939             'name.alt.misc.fossology_old_short' => 'Frameworx1.0',
7940             caption => 'Frameworx Open License 1.0',
7941             'caption.alt.org.fedora.synth.nogrant' => 'Frameworx License',
7942             'caption.alt.org.osi' => 'Frameworx License 1.0',
7943             'caption.alt.org.osi.misc.list.synth.nogrant' => 'Frameworx License',
7944             'caption.alt.org.tldr' => 'Frameworx Open License 1.0 (Frameworx-1.0)',
7945             tags => [
7946             'type:singleversion:frameworx',
7947             ],
7948             licenseversion => '1.0',
7949              
7950             'pat.alt.subject.license.scope.line.scope.sentence.part.intro' =>
7951             'This License Agreement, The Frameworx Open License 1.0, has',
7952             'pat.alt.subject.license.scope.sentence.part.license_file_clause' =>
7953             'contain an unaltered copy of the text file named the_frameworx_license\.txt',
7954             };
7955              
7956             =item * fsfap
7957              
7958             =cut
7959              
7960             $RE{fsfap} = {
7961             name => 'FSFAP',
7962             'name.alt.org.fedora.iri.self' => 'FSFAP',
7963             'name.alt.org.fsf' => 'GNUAllPermissive',
7964             'name.alt.org.spdx.since.date_20160323' => 'FSFAP',
7965             caption => 'FSF All Permissive License',
7966             'caption.alt.org.fedora' => 'FSF All Permissive license',
7967             'caption.alt.org.fsf' => 'GNU All-Permissive License',
7968             iri =>
7969             'https://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html',
7970             tags => [
7971             'license:is:grant',
7972             'type:unversioned',
7973             ],
7974              
7975             'pat.alt.subject.license.scope.sentence' =>
7976             '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',
7977             };
7978              
7979             =item * fsful
7980              
7981             =cut
7982              
7983             $RE{fsful} = {
7984             name => 'FSFUL',
7985             'name.alt.org.fedora' => 'FSFUL',
7986             'name.alt.org.spdx.since.date_20140807' => 'FSFUL',
7987             caption => 'FSF Unlimited License',
7988             'caption.alt.org.fedora.iri.self' => 'FSF Unlimited License',
7989             tags => [
7990             'license:is:grant',
7991             'type:unversioned',
7992             ],
7993              
7994             'pat.alt.subject.license.scope.sentence' =>
7995             "This configure script is free software; $fsf_ul",
7996             };
7997              
7998             =item * fsfullr
7999              
8000             =cut
8001              
8002             $RE{fsfullr} = {
8003             name => 'FSFULLR',
8004             'name.alt.org.fedora' => 'FSFULLR',
8005             'name.alt.org.spdx.since.date_20140807' => 'FSFULLR',
8006             caption => 'FSF Unlimited License (with License Retention)',
8007             tags => [
8008             'license:is:grant',
8009             'type:unversioned',
8010             ],
8011              
8012             'pat.alt.subject.license.scope.sentence' =>
8013             "This file is free software; $fsf_ullr",
8014             };
8015              
8016             =item * ftl
8017              
8018             =cut
8019              
8020             $RE{ftl} = {
8021             name => 'FTL',
8022             'name.alt.org.fedora' => 'FTL',
8023             'name.alt.org.spdx.since.date_20130117' => 'FTL',
8024             'name.alt.misc.fossology_old' => 'Freetype',
8025             'name.alt.misc.fossology_old_upper' => 'FreeType',
8026             caption => 'Freetype Project License',
8027             'caption.alt.misc.short_camelcase' => 'FreeType License',
8028             'caption.alt.misc.legal_license' => 'The Freetype Project LICENSE',
8029             'caption.alt.org.fedora' => 'Freetype License',
8030             'caption.alt.org.tldr' => 'Freetype Project License (FTL)',
8031             iri => 'https://www.freetype.org/license.html',
8032             description => <<'END',
8033             Origin: BSD License family, Artistic License, and Independent JPEG Group License.
8034             END
8035             tags => [
8036             'type:unversioned',
8037             ],
8038              
8039             'pat.alt.subject.license' =>
8040             'This license applies to all files found in such packages',
8041             };
8042              
8043             =item * gfdl
8044              
8045             =item * gfdl_1_1
8046              
8047             =item * gfdl_1_1_only
8048              
8049             =item * gfdl_1_1_or_later
8050              
8051             =item * gfdl_1_2
8052              
8053             =item * gfdl_1_2_only
8054              
8055             =item * gfdl_1_2_or_later
8056              
8057             =item * gfdl_1_3
8058              
8059             =item * gfdl_1_3_only
8060              
8061             =item * gfdl_1_3_or_later
8062              
8063             =cut
8064              
8065             $RE{gfdl} = {
8066             name => 'GFDL',
8067             'name.alt.org.fedora' => 'GFDL',
8068             'name.alt.org.fsf' => 'FDL',
8069             'name.alt.org.trove' => 'FDL',
8070             'name.alt.org.wikidata.synth.nogrant' => 'Q22169',
8071             caption => 'GNU Free Documentation License',
8072             'caption.alt.org.trove' => 'GNU Free Documentation License (FDL)',
8073             'caption.alt.org.wikidata' => 'GNU Free Documentation License',
8074             tags => [
8075             'type:versioned:decimal',
8076             ],
8077             };
8078              
8079             $RE{gfdl_1_1} = {
8080             name => 'GFDL-1.1',
8081             'name.alt.org.fsf' => 'fdl-1.1',
8082             'name.alt.org.spdx.until.date_20171228' => 'GFDL-1.1',
8083             'name.alt.org.wikidata.synth.nogrant' => 'Q26921685',
8084             'name.alt.misc.fossology_old' => 'GFDL_v1.1',
8085             caption => 'GNU Free Documentation License v1.1',
8086             'caption.alt.org.wikidata' =>
8087             'GNU Free Documentation License, version 1.1',
8088             tags => [
8089             'license:published:by_fsf',
8090             'type:singleversion:gfdl',
8091             ],
8092             licenseversion => '1.1',
8093              
8094             'pat.alt.subject.license.scope.multisection.part.header' =>
8095             'GNU Free Documentation License[ ]' . 'Version 1\.1, March 2000',
8096             'pat.alt.subject.license.part.part1' =>
8097             'This License applies to any manual or other work that contains',
8098             'pat.alt.subject.license.scope.multisection.part.part9' =>
8099             'the original English version will prevail[.][ ]'
8100             . '[*)]TERMINATION',
8101             };
8102              
8103             $RE{gfdl_1_1_only} = {
8104             name => 'GFDL-1.1-only',
8105             'name.alt.org.spdx.since.date_20171228' => 'GFDL-1.1-only',
8106             caption => 'GNU Free Documentation License v1.1 only',
8107             'caption.alt.misc.short' => 'GFDLv1.1 only',
8108             tags => [
8109             'type:usage:gfdl_1_1:only',
8110             ],
8111             };
8112              
8113             $RE{gfdl_1_1_or_later} = {
8114             name => 'GFDL-1.1-or-later',
8115             'name.alt.org.debian' => 'GFDL-1.1+',
8116             'name.alt.org.spdx.since.date_20171228' => 'GFDL-1.1-or-later',
8117             'name.alt.org.wikidata.synth.nogrant' => 'Q50829096',
8118             'name.alt.misc.fossology_old' => 'GFDL_v1.1+',
8119             caption => 'GNU Free Documentation License v1.1 or later',
8120             'caption.alt.org.wikidata' =>
8121             'GNU Free Documentation License, version 1.1 or later',
8122             'caption.alt.misc.short' => 'GFDLv1.1 or later',
8123             tags => [
8124             'type:usage:gfdl_1_1:or_later',
8125             ],
8126             };
8127              
8128             $RE{gfdl_1_2} = {
8129             name => 'GFDL-1.2',
8130             'name.alt.org.fsf' => 'fdl-1.2',
8131             'name.alt.org.perl' => 'gfdl_1_2',
8132             'name.alt.org.spdx.until.date_20171228' => 'GFDL-1.2',
8133             'name.alt.org.wikidata.synth.nogrant' => 'Q26921686',
8134             'name.alt.misc.fossology_old' => 'GFDL_v1.2',
8135             'name.alt.misc.fossology_old_short' => 'GFDL1.2',
8136             caption => 'GNU Free Documentation License v1.2',
8137             'caption.alt.org.perl' => 'GNU Free Documentation License, Version 1.2',
8138             'caption.alt.org.wikidata' =>
8139             'GNU Free Documentation License, version 1.2',
8140             tags => [
8141             'license:published:by_fsf',
8142             'type:singleversion:gfdl',
8143             ],
8144             licenseversion => '1.2',
8145              
8146             'pat.alt.subject.license.scope.multisection.part.header' =>
8147             'GNU Free Documentation License[ ]' . 'Version 1\.2, November 2002',
8148             'pat.alt.subject.license.scope.sentence.part.part9' =>
8149             'You may not copy, modify, sublicense, or distribute the Document '
8150             . 'except as expressly provided for under this License',
8151             };
8152              
8153             $RE{gfdl_1_2_only} = {
8154             name => 'GFDL-1.2-only',
8155             'name.alt.org.spdx.since.date_20171228' => 'GFDL-1.2-only',
8156             caption => 'GNU Free Documentation License v1.2 only',
8157             'caption.alt.misc.short' => 'GFDLv1.2 only',
8158             tags => [
8159             'type:usage:gfdl_1_2:only',
8160             ],
8161             };
8162              
8163             $RE{gfdl_1_2_or_later} = {
8164             name => 'GFDL-1.2-or-later',
8165             'name.alt.org.debian' => 'GFDL-1.2+',
8166             'name.alt.org.spdx.since.date_20171228' => 'GFDL-1.2-or-later',
8167             'name.alt.org.wikidata.synth.nogrant' => 'Q50829104',
8168             'name.alt.misc.fossology_old' => 'GFDL_v1.2+',
8169             caption => 'GNU Free Documentation License v1.2 or later',
8170             'caption.alt.org.wikidata' =>
8171             'GNU Free Documentation License, version 1.2 or later',
8172             'caption.alt.misc.short' => 'GFDLv1.2 or later',
8173             tags => [
8174             'type:usage:gfdl_1_2:or_later',
8175             ],
8176             };
8177              
8178             $RE{gfdl_1_3} = {
8179             name => 'GFDL-1.3',
8180             'name.alt.org.fsf' => 'fdl-1.3',
8181             'name.alt.org.perl' => 'gfdl_1_3',
8182             'name.alt.org.spdx.until.date_20171228' => 'GFDL-1.3',
8183             'name.alt.org.tldr' => 'gnu-free-documentation-license',
8184             'name.alt.org.tldr.path.short.synth.nogrant' => 'fdl',
8185             'name.alt.org.wikidata.synth.nogrant' => 'Q26921691',
8186             'caption.alt.org.wikidata' =>
8187             'GNU Free Documentation License, version 1.3',
8188             'name.alt.misc.fossology_old' => 'GFDL1.3',
8189             caption => 'GNU Free Documentation License v1.3',
8190             'caption.alt.org.perl' => 'GNU Free Documentation License, Version 1.3',
8191             'caption.alt.org.tldr' => 'GNU Free Documentation License v1.3 (FDL-1.3)',
8192             tags => [
8193             'license:published:by_fsf',
8194             'type:singleversion:gfdl',
8195             ],
8196             licenseversion => '1.3',
8197              
8198             'pat.alt.subject.license.scope.multisection.part.header' =>
8199             'GNU Free Documentation License[ ]'
8200             . 'Version 1\.3, 3 November 2008',
8201             'pat.alt.subject.license.scope.sentence.part.part9' =>
8202             'You may not copy, modify, sublicense, or distribute the Document '
8203             . 'except as expressly provided for under this License',
8204             };
8205              
8206             $RE{gfdl_1_3_only} = {
8207             name => 'GFDL-1.3-only',
8208             'name.alt.org.spdx.since.date_20171228' => 'GFDL-1.3-only',
8209             caption => 'GNU Free Documentation License v1.3 only',
8210             'caption.alt.misc.short' => 'GFDLv1.3 only',
8211             tags => [
8212             'type:usage:gfdl_1_3:only',
8213             ],
8214             };
8215              
8216             $RE{gfdl_1_3_or_later} = {
8217             name => 'GFDL-1.3-or-later',
8218             'name.alt.org.debian' => 'GFDL-1.3+',
8219             'name.alt.org.spdx.since.date_20171228' => 'GFDL-1.3-or-later',
8220             'name.alt.org.wikidata.synth.nogrant' => 'Q27019786',
8221             caption => 'GNU Free Documentation License v1.3 or later',
8222             'caption.alt.org.wikidata' =>
8223             'GNU Free Documentation License, version 1.3 or later',
8224             'caption.alt.misc.short' => 'GFDLv1.3 or later',
8225             tags => [
8226             'type:usage:gfdl_1_3:or_later',
8227             ],
8228             };
8229              
8230             =item * gfdl_niv
8231              
8232             =cut
8233              
8234             $RE{gfdl_niv} = {
8235             name => 'GFDL-NIV',
8236             caption => 'GNU Free Documentation License (no invariant sections)',
8237             summary =>
8238             'GNU Free Documentation License, with no Front-Cover or Back-Cover Texts or Invariant Sections',
8239             tags => [
8240             'type:versioned:decimal',
8241             ],
8242              
8243             'pat.alt.subject.name' =>
8244             "$the?$gnu?Free Documentation Licen[cs]e(?: [(]GFDL[)])?"
8245             . $RE{by_fsf}{'pat.alt.subject.trait'}
8246             . "?[;]? $niv",
8247             };
8248              
8249             =item * glide
8250              
8251             I
8252              
8253             =cut
8254              
8255             $RE{glide} = {
8256             name => 'Glide',
8257             'name.alt.org.fedora' => 'Glide',
8258             'name.alt.org.spdx.since.date_20140807' => 'Glide',
8259             caption => '3dfx Glide License',
8260             'caption.alt.org.tldr' => '3dfx Glide License',
8261             'caption.alt.misc.legal_grant' => 'THE 3DFX GLIDE GENERAL PUBLIC LICENSE',
8262             tags => [
8263             'license.contains.grant',
8264             'type:unversioned',
8265             ],
8266              
8267             'pat.alt.subject.license.scope.line.scope.sentence.part.intro' =>
8268             'This license is for software that provides a 3D graphics',
8269             };
8270              
8271             =item * gpl
8272              
8273             =item * gpl_1
8274              
8275             I
8276              
8277             =item * gpl_1_only
8278              
8279             =item * gpl_1_or_later
8280              
8281             =item * gpl_2
8282              
8283             I
8284              
8285             =item * gpl_2_only
8286              
8287             =item * gpl_2_or_later
8288              
8289             =item * gpl_3
8290              
8291             I
8292              
8293             =item * gpl_3_only
8294              
8295             =item * gpl_3_or_later
8296              
8297             =cut
8298              
8299             $RE{gpl} = {
8300             name => 'GPL',
8301             'name.alt.org.fsf' => 'GNUGPL',
8302             'name.alt.org.osi' => 'gpl-license',
8303             'name.alt.org.osi.misc.shortname' => 'GPL',
8304             'name.alt.org.wikidata.synth.nogrant' => 'Q7603',
8305             'name.alt.misc.fossology_old' => 'CC_GPL',
8306             caption => 'GNU General Public License',
8307             'caption.alt.org.fedora' => 'GNU General Public License',
8308             'caption.alt.org.fsf' => 'GNU General Public License (GPL)',
8309             'caption.alt.org.osi' => 'GNU General Public License',
8310             'caption.alt.org.trove' => 'GNU General Public License (GPL)',
8311             'caption.alt.org.wikipedia' => 'GNU General Public License',
8312             tags => [
8313             'family:gpl',
8314             'license:contains:grant',
8315             'type:versioned:decimal',
8316             ],
8317              
8318             '_pat.alt.subject.name' => [
8319             "$the?$gnu?$gpl(?: [(]GPL[)])?"
8320             . $RE{by_fsf}{'pat.alt.subject.trait'} . '?',
8321             "$the$gnu?GPL",
8322             "${the}GNU [Ll]icense",
8323             "${gnu}GPL",
8324             ],
8325             };
8326              
8327             $RE{gpl_1} = {
8328             name => 'GPL-1.0',
8329             'name.alt.org.debian' => 'GPL-1',
8330             'name.alt.org.perl' => 'gpl_1',
8331             'name.alt.org.fsf' => 'GPLv1',
8332             'name.alt.org.wikidata.synth.nogrant' => 'Q10513452',
8333             'name.alt.misc.fossology_old' => 'GPL1.0',
8334             'name.alt.misc.fossology_old_short' => 'GPL_v1',
8335             caption => 'GNU General Public License, Version 1',
8336             'caption.alt.org.wikidata' => 'GNU General Public License, version 1.0',
8337             iri => 'https://www.gnu.org/licenses/old-licenses/gpl-1.0.html',
8338             'iri.alt.format.txt' =>
8339             'https://www.gnu.org/licenses/old-licenses/gpl-1.0.txt',
8340             'iri.alt.path.short' => 'http://www.gnu.org/licenses/gpl-1.0.html',
8341             tags => [
8342             'family:gpl',
8343             'license:published:by_fsf',
8344             'type:singleversion:gpl',
8345             ],
8346             licenseversion => '1.0',
8347              
8348             'pat.alt.subject.license.scope.multisection.part.tail_sample' =>
8349             '[<]?name of author[>]?[ ]'
8350             . 'This program is free software[;]? '
8351             . 'you can redistribute it and[/]or modify it '
8352             . 'under the terms of the GNU General Public License '
8353             . 'as published by the Free Software Foundation[;]? '
8354             . 'either version 1, or',
8355             };
8356              
8357             $RE{gpl_1_only} = {
8358             name => 'GPL-1.0-only',
8359             'name.alt.org.fedora.synth.nogrant' => 'GPLv1',
8360             'name.alt.org.spdx.until.date_20171228.synth.nogrant' => 'GPL-1.0',
8361             'name.alt.org.spdx.since.date_20171228' => 'GPL-1.0-only',
8362             caption => 'GNU General Public License v1.0 only',
8363             'caption.alt.misc.short' => 'GPLv1 only',
8364             tags => [
8365             'family:gpl',
8366             'license:published:by_fsf',
8367             'type:usage:gpl_1:only',
8368             ],
8369             };
8370              
8371             $RE{gpl_1_or_later} = {
8372             name => 'GPL-1.0-or-later',
8373             'name.alt.org.fedora' => 'GPL+',
8374             'name.alt.org.debian' => 'GPL-1+',
8375             'name.alt.org.spdx.until.date_20150513' => 'GPL-1.0+',
8376             'name.alt.org.spdx.since.date_20171228' => 'GPL-1.0-or-later',
8377             'name.alt.org.wikidata.synth.nogrant' => 'Q27016750',
8378             'name.alt.misc.fossology_old_short' => 'GPL_v1+',
8379             caption => 'GNU General Public License v1.0 or later',
8380             'caption.alt.org.wikidata' =>
8381             'GNU General Public License, version 1.0 or later',
8382             'caption.alt.misc.short' => 'GPLv1 or later',
8383             tags => [
8384             'family:gpl',
8385             'license:published:by_fsf',
8386             'type:usage:gpl_1:or_later',
8387             ],
8388             };
8389              
8390             $RE{gpl_2} = {
8391             name => 'GPL-2',
8392             'name.alt.misc.short' => 'GPLv2',
8393             'name.alt.org.debian' => 'GPL-2',
8394             'name.alt.org.fsf' => 'GNUGPLv2',
8395             'name.alt.org.osi' => 'GPL-2.0',
8396             'name.alt.org.osi.iri.stem.until.date_20110430' => 'gpl-2.0',
8397             'name.alt.org.perl' => 'gpl_2',
8398             'name.alt.org.tldr' => 'gnu-general-public-license-v2',
8399             'name.alt.org.tldr.path.short' => 'gpl2',
8400             'name.alt.org.trove' => 'GPLv2',
8401             'name.alt.org.wikidata.synth.nogrant' => 'Q10513450',
8402             'name.alt.misc.fossology_old' => 'GPL2.0',
8403             'name.alt.misc.fossology_old_cc' => 'CC_GPL_v2',
8404             'name.alt.misc.fossology_old_short' => 'GPL_v2',
8405             caption => 'GNU General Public License, Version 2',
8406             'caption.alt.org.cc.until.date_20100915' =>
8407             'Creative Commons GNU GPL', # TODO: find official date
8408             'caption.alt.org.cc.misc.short.until.date_20100915' =>
8409             'CC-GNU GPL', # TODO: find official date
8410             'caption.alt.org.fedora.misc.cc' => 'Creative Commons GNU GPL',
8411             'caption.alt.org.fsf' => 'GNU General Public License (GPL) version 2',
8412             'caption.alt.org.trove' => 'GNU General Public License v2 (GPLv2)',
8413             'caption.alt.org.osi' => 'GNU General Public License version 2',
8414             'caption.alt.org.osi.misc.list' =>
8415             'GNU General Public License, version 2',
8416             'caption.alt.org.tldr' => 'GNU General Public License v2.0 (GPL-2.0)',
8417             'caption.alt.org.wikidata' => 'GNU General Public License, version 2.0',
8418             iri => 'https://www.gnu.org/licenses/old-licenses/gpl-2.0.html',
8419             'iri.alt.format.txt' =>
8420             'https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt',
8421             'iri.alt.path.short' => 'http://www.gnu.org/licenses/gpl-2.0.html',
8422             'iri.alt.org.cc.archive.time_20101028012914.until.date_20101028' =>
8423             'http://creativecommons.org/licenses/GPL/2.0/'
8424             , # TODO: find official date
8425             'iri.alt.org.cc.archive.time_20100915084134.until.date_20100915' =>
8426             'http://creativecommons.org/choose/cc-gpl', # TODO: find official date
8427             tags => [
8428             'family:gpl',
8429             'license:published:by_fsf',
8430             'type:singleversion:gpl',
8431             ],
8432             licenseversion => '2.0',
8433              
8434             'pat.alt.subject.license.scope.sentence.part.preamble' =>
8435             '[(]Some other Free Software Foundation software is covered by t?he GNU (Library|Lesser)',
8436             'pat.alt.subject.license.scope.line.scope.paragraph.part.title' =>
8437             'GNU General Public License [(]GPL[)]. Version 2, June 1991',
8438             'pat.alt.subject.license.scope.multisection.part.tail_sample' =>
8439             '[<]?name of author[>]?[ ]'
8440             . 'This program is free software[;]? '
8441             . 'you can redistribute it and[/]or modify it '
8442             . 'under the terms of the GNU General Public License '
8443             . 'as published by the Free Software Foundation[;]? '
8444             . 'either version 2 of the License, or',
8445             };
8446              
8447             $RE{gpl_2_only} = {
8448             name => 'GPL-2.0-only',
8449             'name.alt.org.fedora.synth.nogrant' => 'GPLv2',
8450             'name.alt.org.spdx.until.date_20171228.synth.nogrant' => 'GPL-2.0',
8451             'name.alt.org.spdx.since.date_20171228' => 'GPL-2.0-only',
8452             caption => 'GNU General Public License v2.0 only',
8453             'caption.alt.misc.short' => 'GPLv2 only',
8454             tags => [
8455             'family:gpl',
8456             'license:published:by_fsf',
8457             'type:usage:gpl_2:only',
8458             ],
8459             };
8460              
8461             $RE{gpl_2_or_later} = {
8462             name => 'GPL-2.0-or-later',
8463             'name.alt.org.fedora' => 'GPLv2+',
8464             'name.alt.org.debian' => 'GPL-2+',
8465             'name.alt.org.fedora' => 'GPLv2+',
8466             'name.alt.org.spdx.until.date_20150513' => 'GPL-2.0+',
8467             'name.alt.org.spdx.since.date_20171228' => 'GPL-2.0-or-later',
8468             'name.alt.org.trove' => 'GPLv2+',
8469             'name.alt.org.wikidata.synth.nogrant' => 'Q27016752',
8470             'name.alt.misc.fossology_old_short' => 'GPL_v2+',
8471             caption => 'GNU General Public License v2.0 or later',
8472             'caption.alt.misc.short' => 'GPLv2 or later',
8473             'caption.alt.org.trove' =>
8474             'GNU General Public License v2 or later (GPLv2+)',
8475             'caption.alt.org.wikidata' =>
8476             'GNU General Public License, version 2.0 or later',
8477             tags => [
8478             'family:gpl',
8479             'license:published:by_fsf',
8480             'type:usage:gpl_2:or_later',
8481             ],
8482             };
8483              
8484             $RE{gpl_3} = {
8485             name => 'GPL-3',
8486             'name.alt.misc.short' => 'GPLv3',
8487             'name.alt.org.debian' => 'GPL-3',
8488             'name.alt.org.fsf' => 'GNUGPLv3',
8489             'name.alt.org.osi' => 'GPL-3.0',
8490             'name.alt.org.osi.iri.stem.until.date_20110430' => 'gpl-3.0',
8491             'name.alt.org.perl' => 'gpl_3',
8492             'name.alt.org.tldr.path.short' => 'gpl-3.0',
8493             'name.alt.org.trove' => 'GPLv3',
8494             'name.alt.org.wikidata.synth.nogrant' => 'Q10513445',
8495             'name.alt.misc.fossology_old' => 'GPL3.0',
8496             'name.alt.misc.fossology_old_short' => 'GPL_v3',
8497             caption => 'GNU General Public License, Version 3',
8498             'caption.alt.org.fsf' => 'GNU General Public License (GPL) version 3',
8499             'caption.alt.org.osi' => 'GNU General Public License version 3',
8500             'caption.alt.org.osi.misc.list' =>
8501             'GNU General Public License, version 3',
8502             'caption.alt.org.tldr' => 'GNU General Public License v3 (GPL-3)',
8503             'caption.alt.org.trove' => 'GNU General Public License v3 (GPLv3)',
8504             'caption.alt.org.wikidata' => 'GNU General Public License, version 3.0',
8505             iri => 'https://www.gnu.org/licenses/gpl.html',
8506             'iri.alt.format.txt' => 'https://www.gnu.org/licenses/gpl.txt',
8507             'iri.alt.path.fragmented' =>
8508             'https://www.gnu.org/licenses/licenses.html#GPL',
8509             'iri.alt.path.versioned' => 'http://www.gnu.org/licenses/gpl-3.0.html',
8510             tags => [
8511             'family:gpl',
8512             'license:published:by_fsf',
8513             'type:singleversion:gpl',
8514             ],
8515             licenseversion => '3.0',
8516              
8517             'pat.alt.subject.license.part.part0' =>
8518             '["]This License["] refers to version 3 of the GNU General',
8519             'pat.alt.subject.license.scope.sentence.part.part13' =>
8520             'Notwithstanding any other provision of this License, '
8521             . 'you have permission to link or combine any covered work '
8522             . 'with a work licensed under version 3 of the GNU Affero',
8523             'pat.alt.subject.license.scope.multisection.part.tail_sample' =>
8524             '[<]?name of author[>]?[ ]'
8525             . 'This program is free software[;]? '
8526             . 'you can redistribute it and[/]or modify it '
8527             . 'under the terms of the GNU General Public License '
8528             . 'as published by the Free Software Foundation[;]? '
8529             . 'either version 3 of the License, or',
8530              
8531             #<<< do not let perltidy touch this (keep long regex on one line)
8532             examples => [
8533             { summary => 'pattern with subject "license" matches canonical license grant with adequate context',
8534             gen_args => { subject => 'license' },
8535             ## no Test::Tabs
8536             str => <<'END',
8537             Copyright (C)
8538              
8539             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.
8540             END
8541             ## use Test::Tabs
8542             matches => 1,
8543             },
8544             { summary => 'pattern with subject "license" doesn\'t match canonical license grant only',
8545             gen_args => { subject => 'license' },
8546             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.',
8547             matches => 0,
8548             },
8549             { summary => 'pattern with subject "grant" matches canonical license grant',
8550             gen_args => { subject => 'grant' },
8551             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.',
8552             matches => 1,
8553             },
8554             { summary => 'pattern with subject "grant" matches a license grant without usage specified',
8555             gen_args => { subject => 'grant' },
8556             str => 'Licensed under the GNU General Public License version 3.',
8557             matches => 1,
8558             },
8559             { summary => 'pattern with subject "grant" doesn\'t match license grant with usage in front',
8560             gen_args => { subject => 'grant' },
8561             str => 'Licensed under v3 or newer of the GNU General Public License.',
8562             matches => 0,
8563             },
8564             { summary => 'pattern with subject "grant" doesn\'t match license name only',
8565             gen_args => { subject => 'grant' },
8566             str => 'GNU General Public License v3',
8567             matches => 0,
8568             },
8569             { summary => 'pattern with subject "name" matches license name',
8570             gen_args => { subject => 'name' },
8571             str => 'GNU General Public License v3',
8572             matches => 1,
8573             },
8574             { summary => 'pattern with subject "iri" doesn\'t match license name',
8575             gen_args => { subject => 'iri' },
8576             str => 'GNU General Public License v3',
8577             matches => 0,
8578             },
8579             ],
8580             #>>>
8581             };
8582              
8583             $RE{gpl_3_only} = {
8584             name => 'GPL-3.0-only',
8585             'name.alt.org.fedora.synth.nogrant' => 'GPLv3',
8586             'name.alt.org.spdx.until.date_20171228.synth.nogrant' => 'GPL-3.0',
8587             'name.alt.org.spdx.since.date_20171228' => 'GPL-3.0-only',
8588             caption => 'GNU General Public License v3.0 only',
8589             'caption.alt.misc.short' => 'GPLv3 only',
8590             tags => [
8591             'family:gpl',
8592             'license:published:by_fsf',
8593             'type:usage:gpl_3:only',
8594             ],
8595              
8596             #<<< do not let perltidy touch this (keep long regex on one line)
8597             examples => [
8598             { summary => 'pattern with subject "license" doesn\'t match canonical license grant even with context',
8599             gen_args => { subject => 'license' },
8600             ## no Test::Tabs
8601             str => <<'END',
8602             Copyright (C)
8603              
8604             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.
8605             END
8606             ## use Test::Tabs
8607             matches => 0,
8608             },
8609             { summary => 'pattern with subject "license" doesn\'t match canonical license grant only',
8610             gen_args => { subject => 'license' },
8611             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.',
8612             matches => 0,
8613             },
8614             { summary => 'pattern with subject "license" doesn\'t match a non-canonical license grant',
8615             gen_args => { subject => 'license' },
8616             str => 'modify it under the terms of the GNU General Public License',
8617             matches => 0,
8618             },
8619             { summary => 'pattern with subject "grant" matches canonical license grant',
8620             gen_args => { subject => 'grant' },
8621             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.',
8622             matches => 1,
8623             },
8624             { summary => 'pattern with subject "grant" matches license grant with usage in front',
8625             gen_args => { subject => 'grant' },
8626             str => 'Licensed under v3 only of the GNU General Public License.',
8627             matches => 1,
8628             },
8629             { summary => 'pattern with subject "grant" doesn\'t match a license grant without usage specified',
8630             gen_args => { subject => 'grant' },
8631             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.',
8632             matches => 0,
8633             },
8634             { summary => 'pattern with subject "grant" doesn\'t match license grant with different usage',
8635             gen_args => { subject => 'grant' },
8636             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.',
8637             matches => 0,
8638             },
8639             { summary => 'pattern with subject "grant" doesn\'t match license name only',
8640             gen_args => { subject => 'grant' },
8641             str => 'GNU General Public License v3.0 only',
8642             matches => 0,
8643             },
8644             { summary => 'pattern with subject "name" matches canonical license name',
8645             gen_args => { subject => 'name' },
8646             str => 'GNU General Public License v3.0 only',
8647             matches => 1,
8648             },
8649             { summary => 'pattern with subject "name" doesn\'t match a license name without usage specified',
8650             gen_args => { subject => 'name' },
8651             str => 'GNU General Public License v3.0',
8652             matches => 0,
8653             },
8654             { summary => 'pattern with subject "name" doesn\'t match a license name with different usage',
8655             gen_args => { subject => 'name' },
8656             str => 'GNU General Public License v3.0 or later',
8657             matches => 0,
8658             },
8659             { summary => 'pattern with subject "iri" doesn\'t match canonical license name',
8660             gen_args => { subject => 'iri' },
8661             str => 'GNU General Public License v3.0 only',
8662             matches => 0,
8663             },
8664             ],
8665             #>>>
8666             };
8667              
8668             $RE{gpl_3_or_later} = {
8669             name => 'GPL-3.0-or-later',
8670             'name.alt.org.fedora' => 'GPLv3+',
8671             'name.alt.org.debian' => 'GPL-3+',
8672             'name.alt.org.spdx.until.date_20150513' => 'GPL-3.0+',
8673             'name.alt.org.spdx.since.date_20171228' => 'GPL-3.0-or-later',
8674             'name.alt.org.trove' => 'GPLv3+',
8675             'name.alt.org.wikidata.synth.nogrant' => 'Q27016754',
8676             'name.alt.misc.fossology_old_short' => 'GPL_v3+',
8677             caption => 'GNU General Public License v3.0 or later',
8678             'caption.alt.misc.short' => 'GPLv3 or later',
8679             'caption.alt.org.trove' =>
8680             'GNU General Public License v3 or later (GPLv3+)',
8681             'caption.alt.org.wikidata' =>
8682             'GNU General Public License, version 3.0 or later',
8683             tags => [
8684             'family:gpl',
8685             'license:published:by_fsf',
8686             'type:usage:gpl_3:or_later',
8687             ],
8688             };
8689              
8690             =item * gsoap
8691              
8692             I
8693              
8694             =item * gsoap_1.3b
8695              
8696             I
8697              
8698             =cut
8699              
8700             $RE{gsoap} = {
8701             name => 'gSOAP',
8702             'name.alt.org.wikidata.synth.nogrant' => 'Q3756289',
8703             caption => 'gSOAP Public License',
8704             tags => [
8705             'type:versioned:decimal',
8706             ],
8707             };
8708              
8709             $RE{gsoap_1_3b} = {
8710             name => 'gSOAP-1.3b',
8711             'name.alt.org.spdx' => 'gSOAP-1.3b',
8712             caption => 'gSOAP Public License v1.3b',
8713             'caption.alt.org.fedora.synth.nogrant' => 'gSOAP Public License',
8714             description => <<'END',
8715             Origin: Mozilla Public License Version 1.1
8716             END
8717             tags => [
8718             'type:singleversion:gsoap',
8719             ],
8720             licenseversion => '1.3b',
8721              
8722             'pat.alt.subject.license.scope.line.scope.sentence.part.head' =>
8723             'The gSOAP public license is derived from the Mozilla Public License',
8724             'pat.alt.subject.license.scope.line.scope.sentence.part.section_3_8' =>
8725             'You may not remove any product identification',
8726             };
8727              
8728             =item * hpnd
8729              
8730             I
8731              
8732             =cut
8733              
8734             $RE{hpnd} = {
8735             name => 'HPND',
8736             'name.alt.org.osi' => 'HPND',
8737             'name.alt.org.osi.iri.stem.until.date_20110430' => 'historical',
8738             'name.alt.org.spdx' => 'HPND',
8739             'name.alt.org.wikidata.synth.nogrant' => 'Q5773924',
8740             caption => 'Historical Permission Notice and Disclaimer',
8741             'caption.alt.org.fedora' => 'Historical Permission Notice and Disclaimer',
8742             'caption.alt.org.spdx.until.date_20171228' =>
8743             'Historic Permission Notice and Disclaimer',
8744             'caption.alt.org.spdx.since.date_20171228' =>
8745             'Historical Permission Notice and Disclaimer',
8746             'caption.alt.org.tldr' =>
8747             'Historic Permission Notice and Disclaimer (HPND)',
8748             'caption.alt.org.trove' =>
8749             'Historical Permission Notice and Disclaimer (HPND)',
8750             'caption.alt.org.wikipedia' =>
8751             'Historical Permission Notice and Disclaimer',
8752             description => <<'END',
8753             Identical to NTP, except...
8754             * omit explicit permission to charge fee
8755             * relax suitability disclaimer and terse "as is" warranty disclaimer as optional
8756             * add optional elaborate warranty disclaimer and liability disclaimer
8757             END
8758             tags => [
8759             'family:mit',
8760             'license:is:grant',
8761             'type:unversioned',
8762             ],
8763              
8764             'pat.alt.subject.license.scope.sentence' =>
8765             'Permission to use, copy, modify and distribute '
8766             . 'this software and its documentation '
8767             . 'for any purpose and without fee',
8768             'pat.alt.subject.license.scope.paragraph' =>
8769             'Permission to use, copy, modify and distribute '
8770             . 'this software and its documentation '
8771             . 'for any purpose and without fee is hereby granted, '
8772             . 'provided that the above copyright notice appears? in all copies,?(?: and)? '
8773             . 'that both(?: that)?(?: the)? copyright notice '
8774             . 'and this permission notice appear in supporting documentation'
8775             . '(?:, and that the name [word][ word]{0,14} not be used '
8776             . 'in advertising or publicity pertaining to distribution '
8777             . 'of the software without specific, written prior permission'
8778             . '[. ][word][ word]{0,14} makes no representations '
8779             . 'about the suitability of this software for any purpose'
8780             . '[. ]It is provided [as is] without express or implied warranty[.])?',
8781             };
8782              
8783             =item * hpnd_sell
8784              
8785             I
8786              
8787             =cut
8788              
8789             $RE{hpnd_sell} = {
8790             name => 'HPND-sell-variant',
8791             'name.alt.org.spdx.since.date_20190402' => 'HPND-sell-variant',
8792             caption => 'Historical Permission Notice and Disclaimer - sell variant',
8793             description => <<'END',
8794             Identical to HPND, except...
8795             * add explicit permission to sell
8796             * omit explicit permission to charge fee
8797             * extend permissions with note that they are granted without fee
8798              
8799             Identical to NTP, except...
8800             * add explicit permission to sell
8801             * omit explicit permission to charge or not charge fee
8802             * extend permissions with note that they are granted without fee
8803             * relax suitability disclaimer and terse "as is" warranty disclaimer as optional
8804             * add optional elaborate warranty disclaimer and liability disclaimer
8805             END
8806             tags => [
8807             'family:mit',
8808             'license:is:grant',
8809             'type:unversioned',
8810             ],
8811              
8812             'pat.alt.subject.license.scope.paragraph' =>
8813             'Permission to use, copy, modify, distribute, and sell '
8814             . 'this software and its documentation '
8815             . 'for any purpose is hereby granted without fee, '
8816             . 'provided that the above copyright notice appears? in all copies,?(?: and)? '
8817             . 'that both(?: that)?(?: the)? copyright notice '
8818             . 'and this permission notice appear in supporting documentation'
8819             . '(?:, and that the name [word][ word]{0,14} not be used '
8820             . 'in advertising or publicity pertaining to distribution '
8821             . 'of the software without specific, written prior permission'
8822             . '[. ][word][ word]{0,14} makes no representations '
8823             . 'about the suitability of this software for any purpose'
8824             . '[. ]It is provided [as is] without express or implied warranty[.])?',
8825             };
8826              
8827             =item * ibm_pibs
8828              
8829             I
8830              
8831             =cut
8832              
8833             $RE{ibm_pibs} = {
8834             name => 'IBM-pibs',
8835             'name.alt.org.spdx.since.date_20130912' => 'IBM-pibs',
8836             caption => 'IBM PowerPC Initialization and Boot Software',
8837             'caption.alt.org.tldr' =>
8838             'IBM PowerPC Initialization and Boot Software (IBM-pibs)',
8839             tags => [
8840             'license:is:grant',
8841             'type:unversioned',
8842             ],
8843              
8844             'pat.alt.subject.license.scope.line.scope.sentence' =>
8845             'Any user of this software should understand that IBM cannot',
8846             };
8847              
8848             =item * icu
8849              
8850             =cut
8851              
8852             $RE{icu} = {
8853             name => 'ICU',
8854             'name.alt.org.spdx.since.date_20150513' => 'ICU',
8855             caption => 'ICU License',
8856             'summary.alt.org.fedora.iri.mit' =>
8857             'MIT-style license, Modern style (ICU Variant)',
8858             tags => [
8859             'family:mit',
8860             'license:is:grant',
8861             'type:unversioned',
8862             ],
8863              
8864             'pat.alt.subject.license.scope.multisection' => $P{note_copr_perm}
8865             . ' of the Software and that '
8866             . $P{repro_copr_perm_appear_doc}
8867             . '[.][ ]'
8868             . $P{asis_sw_warranty}
8869             . '(?:[^.]+[. ]){2}'
8870             . $P{nopromo_except},
8871             };
8872              
8873             =item * ijg
8874              
8875             I
8876              
8877             =cut
8878              
8879             $RE{ijg} = {
8880             name => 'IJG',
8881             'name.alt.org.fedora.iri.self' => 'IJG',
8882             'name.alt.org.spdx.since.date_20130117' => 'IJG',
8883             'name.alt.org.wikidata.synth.nogrant' => 'Q106186423',
8884             caption => 'Independent JPEG Group License',
8885             'caption.alt.org.tldr' => 'Independent JPEG Group License (IJG)',
8886             tags => [
8887             'type:unversioned',
8888             ],
8889              
8890             'pat.alt.subject.license.scope.section.part.intro' =>
8891             "We don[']t promise that this software works" . '[. ]'
8892             . '[(]But if you find any bugs, please let us know[!][)]',
8893             };
8894              
8895             =item * imlib2
8896              
8897             I
8898              
8899             =cut
8900              
8901             $RE{imlib2} = {
8902             name => 'Imlib2',
8903             'name.alt.org.fedora.iri.self' => 'Imlib2',
8904             'name.alt.org.spdx.since.date_20130117' => 'Imlib2',
8905             caption => 'Imlib2 License',
8906             'caption.alt.org.tldr' => 'Imlib2 License (Imlib2)',
8907             description => <<'END',
8908             Identical to enna License, except...
8909             * Define meaning of making source available
8910             * Describe purpose of copyright notice
8911             END
8912             tags => [
8913             'family:mit',
8914             'license:is:grant',
8915             'type:unversioned',
8916             ],
8917              
8918             'pat.alt.subject.license.scope.section' => $P{perm_granted}
8919             . $P{free_charge}
8920             . $P{to_pers}
8921             . $P{the_sw}
8922             . $P{to_deal_the_sw_rights}
8923             . $P{subj_cond}
8924             . $P{to_copy_sublicence_conditions}
8925             . '[:]?[ ]'
8926             . $P{retain_copr_perm_sw_copr} . '[. ]'
8927             . $P{ack_pub_use_nosrc} . '[. ]'
8928             . 'Making the source available publicly means '
8929             . 'including the source for this software with the distribution, '
8930             . 'or a method to get this software via some reasonable mechanism '
8931             . '[(]electronic transfer via a network or media[)] '
8932             . 'as well as making an offer to supply the source on request'
8933             . '[. ]'
8934             . 'This Copyright notice serves as an offer to supply the source on on request as well'
8935             . '[. ]'
8936             . 'Instead of this, supplying acknowledgments of use of this software '
8937             . 'in either Copyright notices, Manuals, Publicity and Marketing documents '
8938             . 'or any documentation provided '
8939             . 'with any product containing this software[. ]'
8940             . $P{license_not_lib} . '[.]',
8941             'pat.alt.subject.license.scope.line' =>
8942             'Making the source available publicly means including',
8943             };
8944              
8945             =item * intel
8946              
8947             I
8948              
8949             =cut
8950              
8951             $RE{intel} = {
8952             name => 'Intel',
8953             'name.alt.org.osi' => 'Intel',
8954             'name.alt.org.osi.iri.stem.until.date_20110430' =>
8955             'intel-open-source-license',
8956             'name.alt.org.spdx.since.date_20130117' => 'Intel',
8957             'name.alt.org.wikidata.synth.nogrant' => 'Q6043507',
8958             caption => 'Intel Open Source License',
8959             'caption.alt.org.fedora' => 'Intel Open Source License',
8960             'caption.alt.org.osi' => 'The Intel Open Source License',
8961             'caption.alt.org.osi.misc.list' => 'Intel Open Source License',
8962             'caption.alt.org.tldr' => 'Intel Open Source License (Intel)',
8963             'caption.alt.org.trove' => 'Intel Open Source License',
8964             description => <<'END',
8965             Identical to BSD 3 Clause, except...
8966             * Add export law disclaimer
8967             END
8968             tags => [
8969             'family:bsd',
8970             'license:contains:license:bsd_3_clause',
8971             'license:is:grant',
8972             'type:unversioned',
8973             ],
8974              
8975             'pat.alt.subject.license.scope.multisection' => $P{repro_copr_cond_discl}
8976             . '[.]?[ ]'
8977             . '(?:[*)]\[?(?:rescinded 22 July 1999'
8978             . '|This condition was removed[.])\]?)?' . '[*)]'
8979             . $P{nopromo_neither}
8980             . '[.][ ]'
8981             . $P{discl_warranties} . '[. ]'
8982             . $P{discl_liability}
8983             . '[.][ ]'
8984             . 'EXPORT LAWS[:] THIS LICENSE ADDS NO RESTRICTIONS TO THE EXPORT LAWS',
8985             'pat.alt.subject.license.scope.line.scope.sentence.part.last' =>
8986             'THIS LICENSE ADDS NO RESTRICTIONS TO THE EXPORT LAWS',
8987             };
8988              
8989             =item * ipa
8990              
8991             I
8992              
8993             =cut
8994              
8995             $RE{ipa} = {
8996             name => 'IPA',
8997             'name.alt.org.fedora' => 'IPA',
8998             'name.alt.org.osi' => 'IPA',
8999             'name.alt.org.osi.iri.stem.until.date_20110430' => 'ipafont',
9000             'name.alt.org.spdx' => 'IPA',
9001             'name.alt.org.tldr.path.short' => 'ipa',
9002             'name.alt.org.wikidata.synth.nogrant' => 'Q38366264',
9003             caption => 'IPA Font License',
9004             'caption.alt.org.tldr' => 'IPA Font License (IPA)',
9005             tags => [
9006             'type:unversioned',
9007             ],
9008              
9009             'pat.alt.subject.license.scope.line.scope.sentence.part.intro' =>
9010             'The Licensor provides the Licensed Program',
9011             };
9012              
9013             =item * ipl
9014              
9015             =item * ipl_1
9016              
9017             =cut
9018              
9019             $RE{ipl} = {
9020             name => 'IPL',
9021             'name.alt.org.fedora.synth.nogrant' => 'IBM',
9022             'name.alt.org.osi.iri.stem.until.date_20110430' => 'ibmpl',
9023             'name.alt.org.wikidata.synth.nogrant' => 'Q288745',
9024             'name.alt.misc.fossology_old' => 'IBM-PL',
9025             'name.alt.misc.fossology_old_vague.synth.nogrant' => 'IBM',
9026             caption => 'IBM Public License',
9027             'caption.alt.org.trove' => 'IBM Public License',
9028             'caption.alt.org.wikipedia' => 'IBM Public License',
9029             tags => [
9030             'type:versioned:decimal',
9031             ],
9032             };
9033              
9034             $RE{ipl_1} = {
9035             name => 'IPL-1.0',
9036             'name.alt.org.osi' => 'IPL-1.0',
9037             'name.alt.org.spdx' => 'IPL-1.0',
9038             'name.alt.org.tldr.path.short' => 'ipl',
9039             caption => 'IBM Public License v1.0',
9040             'caption.alt.org.osi' => 'IBM Public License 1.0',
9041             'caption.alt.org.osi.misc.list' => 'IBM Public License Version 1.0',
9042             'caption.alt.org.tldr' => 'IBM Public License 1.0 (IPL)',
9043             'caption.alt.misc.legal' => 'IBM Public License Version 1.0',
9044             'caption.alt.misc.fossology_old' => 'IBM-PL 1.0',
9045             description => <<'END',
9046             Origin: Possibly Lucent Public License Version 1.0
9047             END
9048             tags => [
9049             'type:singleversion:ipl',
9050             ],
9051             licenseversion => '1.0',
9052              
9053             'pat.alt.subject.license.scope.sentence' => 'UNDER THE TERMS OF THIS IBM',
9054             'pat.alt.subject.license.scope.multisection.part.head' =>
9055             '(?:IBM Public License Version 1\.0[ ])?'
9056             . 'THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS IBM PUBLIC LICENSE [(]["]AGREEMENT["][)][. ]'
9057             . 'ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT[\']S ACCEPTANCE OF THIS AGREEMENT[.][ ]'
9058             . '[*)][ ]?DEFINITIONS[ ]'
9059             . '["]Contribution["] means[:"]?[ ]'
9060             . '[*)]in the case of International Business Machines Corporation [(]["]IBM["][)], the Original Program',
9061             };
9062              
9063             =item * isc
9064              
9065             =cut
9066              
9067             $RE{isc} = {
9068             name => 'ISC',
9069             'name.alt.org.fedora' => 'ISC',
9070             'name.alt.org.osi' => 'ISC',
9071             'name.alt.org.osi.iri.stem_plain.until.date_20110430.archive.time_20110426131805'
9072             => 'isc-license',
9073             'name.alt.org.spdx' => 'ISC',
9074             'name.alt.org.tldr' => '-isc-license',
9075             'name.alt.org.tldr.path.short' => 'isc',
9076             'name.alt.org.trove' => 'ISCL',
9077             'name.alt.org.wikidata.synth.nogrant' => 'Q386474',
9078             caption => 'ISC License',
9079             'caption.alt.misc.openbsd' => 'OpenBSD License',
9080             'caption.alt.org.tldr' => 'ISC License',
9081             'caption.alt.org.trove' => 'ISC License (ISCL)',
9082             'caption.alt.org.wikidata' => 'ISC license',
9083             'caption.alt.org.wikipedia' => 'ISC license',
9084             'summary.alt.org.fedora' => 'ISC License (Bind, DHCP Server)',
9085             tags => [
9086             'family:mit',
9087             'license:is:grant',
9088             'type:unversioned',
9089             ],
9090              
9091             'pat.alt.subject.license.scope.multisection' => $P{note_copr_perm}
9092             . '[.][ ]'
9093             . $P{asis_sw_name_discl},
9094             };
9095              
9096             =item * jabberpl
9097              
9098             I
9099              
9100             =cut
9101              
9102             $RE{jabberpl} = {
9103             name => 'jabberpl',
9104             'name.alt.org.fedora' => 'Jabber',
9105             'name.alt.org.osi' => 'jabberpl',
9106             'name.alt.org.osi.iri.stem.until.date_20110430' => 'jabberpl',
9107             'name.alt.org.wikidata.synth.nogrant' => 'Q1149006',
9108             'name.alt.misc.fossology_old' => 'Jabber',
9109             caption => 'Jabber Open Source License',
9110             'caption.alt.org.trove' => 'Jabber Open Source License',
9111             tags => [
9112             'license:contains:grant',
9113             'type:unversioned',
9114             ],
9115              
9116             'pat.alt.subject.license.part.intro' =>
9117             'This Jabber Open Source License [(]the ["]License["][)]'
9118             . ' applies to Jabber Server and related software products',
9119             };
9120              
9121             =item * json
9122              
9123             I
9124              
9125             =cut
9126              
9127             $RE{json} = {
9128             name => 'JSON',
9129             'name.alt.org.spdx.since.date_20130117' => 'JSON',
9130             caption => 'JSON License',
9131             'caption.alt.org.fedora' => 'JSON License',
9132             'caption.alt.org.tldr' => 'The JSON License',
9133             tags => [
9134             'license:is:grant',
9135             'type:unversioned',
9136             ],
9137              
9138             'pat.alt.subject.license' =>
9139             'The Software shall be used for Good, not Evil[.]',
9140             };
9141              
9142             =item * jython
9143              
9144             I
9145              
9146             =cut
9147              
9148             $RE{jython} = {
9149             name => 'Jython',
9150             'name.alt.org.spdx.since.date_20150730' => 'CNRI-Jython',
9151             caption => 'Jython License',
9152             'caption.alt.org.spdx' => 'CNRI Jython License',
9153             'caption.alt.legal.license' => 'The Jython License',
9154             iri => 'http://www.jython.org/license.txt',
9155             tags => [
9156             'type:unversioned',
9157             ],
9158              
9159             'pat.alt.subject.license' =>
9160             '[*)]PSF is making Jython available to Licensee',
9161             };
9162              
9163             =item * kevlin_henney
9164              
9165             I
9166              
9167             =cut
9168              
9169             $RE{kevlin_henney} = {
9170             name => 'Kevlin-Henney',
9171             caption => 'Kevlin Henney License',
9172             tags => [
9173             'family:mit',
9174             'license:is:grant',
9175             'type:unversioned',
9176             ],
9177              
9178             'pat.alt.subject.license.scope.multisection' => $P{note_copr_perms_deriv}
9179             . '[.][ ]'
9180             . $P{asis_sw_expr_warranty},
9181             };
9182              
9183             =item * leptonica
9184              
9185             I
9186              
9187             =cut
9188              
9189             $RE{leptonica} = {
9190             name => 'Leptonica',
9191             'name.alt.org.fedora.iri.self' => 'Leptonica',
9192             'name.alt.org.spdx.since.date_20140807' => 'Leptonica',
9193             caption => 'Leptonica License',
9194             description => <<'END',
9195             Identical to Crossword License, except...
9196             * Expand disclaimer slightly
9197             * Replace "he" with "he or she"
9198             * Extend permissions clause to explicitly permit commercial and non-commercial use
9199             * Add source-no-misrepresentation clause
9200             * Add mark-modified-source clause, replacing no-misrepresentation passage in permissions clause
9201             * Add retain-notice clause
9202             END
9203             tags => [
9204             'license:is:grant',
9205             'type:unversioned',
9206             ],
9207              
9208             'pat.alt.subject.license.scope.sentence' =>
9209             'No author or distributor accepts responsibility to anyone '
9210             . 'for the consequences of using this software',
9211             };
9212              
9213             =item * lgpl
9214              
9215             =item * lgpl_2
9216              
9217             =item * lgpl_2_only
9218              
9219             =item * lgpl_2_or_later
9220              
9221             =item * lgpl_2_1
9222              
9223             =item * lgpl_2_1_only
9224              
9225             =item * lgpl_2_1_or_later
9226              
9227             =item * lgpl_3
9228              
9229             =item * lgpl_3_only
9230              
9231             =item * lgpl_3_or_later
9232              
9233             =cut
9234              
9235             $RE{lgpl} = {
9236             name => 'LGPL',
9237             'name.alt.org.fsf' => 'LGPL',
9238             'name.alt.org.osi' => 'lgpl-license',
9239             'name.alt.org.osi.misc.shortname' => 'LGPL',
9240             'name.alt.org.wikidata.synth.nogrant' => 'Q192897',
9241             'name.alt.misc.fossology_old' => 'CC_LGPL',
9242             caption => 'GNU Lesser General Public License',
9243             'caption.alt.org.fsf' => 'GNU Lesser General Public License (LGPL)',
9244             'caption.alt.org.osi' => 'GNU LGPL',
9245             'caption.alt.org.osi.misc.list' => 'GNU Lesser General Public License',
9246             'caption.alt.org.trove' =>
9247             'GNU Library or Lesser General Public License (LGPL)',
9248             'caption.alt.org.wikipedia' => 'GNU Lesser General Public License',
9249             'caption.alt.org.osi' => 'GNU LGPL',
9250             'caption.alt.org.osi.misc.list' => 'GNU Lesser General Public License',
9251             tags => [
9252             'type:versioned:decimal',
9253             ],
9254              
9255             '_pat.alt.subject.name' => [
9256             "$the?$gnu?Library $gpl(?: [(]LGPL[)])?"
9257             . $RE{by_fsf}{'pat.alt.subject.trait'} . '?',
9258             "$the?$gnu?Lesser(?: [(]Library[)])? $gpl(?: [(]LGPL[)])?"
9259             . $RE{by_fsf}{'pat.alt.subject.trait'} . '?',
9260             "$the?$gnu?LIBRARY GENERAL PUBLIC LICEN[CS]E(?: [(]LGPL[)])?"
9261             . $RE{by_fsf}{'pat.alt.subject.trait'} . '?',
9262             "$the?$gnu?LESSER GENERAL PUBLIC LICEN[CS]E(?: [(]LGPL[)])?"
9263             . $RE{by_fsf}{'pat.alt.subject.trait'} . '?',
9264             "$the$gnu?LGPL",
9265             "${gnu}LGPL",
9266             ],
9267             };
9268              
9269             $RE{lgpl_2} = {
9270             name => 'LGPL-2',
9271             'name.alt.misc.short' => 'LGPLv2',
9272             'name.alt.org.debian' => 'LGPL-2',
9273             'name.alt.org.fsf' => 'LGPLv2.0',
9274             'name.alt.org.osi' => 'LGPL-2.0',
9275             'name.alt.org.trove' => 'LGPLv2',
9276             'name.alt.org.wikidata.synth.nogrant' => 'Q23035974',
9277             'name.alt.misc.fossology_old' => 'LGPL_v2',
9278             caption => 'GNU Library General Public License, Version 2.0',
9279             'caption.alt.org.fsf' =>
9280             'GNU Library General Public License (LGPL) version 2.0',
9281             'caption.alt.org.osi' => 'GNU Library General Public License version 2',
9282             'caption.alt.org.trove' =>
9283             'GNU Lesser General Public License v2 (LGPLv2)',
9284             'caption.alt.org.wikidata' =>
9285             'GNU Library General Public License, version 2.0',
9286             iri => 'https://www.gnu.org/licenses/lgpl-2.0.html',
9287             'iri.alt.format.txt' => 'https://www.gnu.org/licenses/lgpl-2.0.txt',
9288             tags => [
9289             'family:gpl',
9290             'license:published:by_fsf',
9291             'type:singleversion:lgpl',
9292             ],
9293             licenseversion => '2.0',
9294              
9295             'pat.alt.subject.license.part.preample' =>
9296             'This license, the Library General Public License, applies to',
9297             'pat.alt.subject.license.scope.multisection.part.tail_sample' =>
9298             '[<]?name of author[>]?[ ]'
9299             . 'This library is free software[;]? '
9300             . 'you can redistribute it and[/]or modify it '
9301             . 'under the terms of the GNU Library General Public License '
9302             . 'as published by the Free Software Foundation[;]? '
9303             . 'either version 2 of the License, or',
9304             };
9305              
9306             $RE{lgpl_2_only} = {
9307             name => 'LGPL-2-only',
9308             'name.alt.org.spdx.until.date_20171228.synth.nogrant' => 'LGPL-2.0',
9309             'name.alt.org.spdx.since.date_20171228' => 'LGPL-2.0-only',
9310             caption => 'GNU Library General Public License v2 only',
9311             tags => [
9312             'family:gpl',
9313             'license:published:by_fsf',
9314             'type:usage:lgpl_2:only',
9315             ],
9316             };
9317              
9318             $RE{lgpl_2_or_later} = {
9319             name => 'LGPL-2-or-later',
9320             'name.alt.org.fedora.synth.nogrant' => 'LGPLv2+',
9321             'name.alt.org.debian' => 'LGPL-2+',
9322             'name.alt.org.spdx.until.date_20150513' => 'LGPL-2.0+',
9323             'name.alt.org.spdx.since.date_20171228' => 'LGPL-2.0-or-later',
9324             'name.alt.org.trove' => 'LGPLv2+',
9325             'name.alt.org.wikidata.synth.nogrant' => 'Q27016756',
9326             'name.alt.misc.fossology_old' => 'LGPL_v2+',
9327             caption => 'GNU Library General Public License v2 or later',
9328             'caption.alt.org.fedora' =>
9329             'GNU Lesser General Public License v2 (or 2.1) or later',
9330             'caption.alt.org.trove' =>
9331             'GNU Lesser General Public License v2 or later (LGPLv2+)',
9332             'caption.alt.org.wikidata' =>
9333             'GNU Library General Public License, version 2.0 or later',
9334             tags => [
9335             'family:gpl',
9336             'license:published:by_fsf',
9337             'type:usage:lgpl_2:or_later',
9338             ],
9339             };
9340              
9341             $RE{lgpl_2_1} = {
9342             name => 'LGPL-2.1',
9343             'name.alt.misc.short' => 'LGPLv2.1',
9344             'name.alt.org.fsf' => 'LGPLv2.1',
9345             'name.alt.org.osi' => 'LGPL-2.1',
9346             'name.alt.org.osi.iri.stem.until.date_20110430' => 'lgpl-2.1',
9347             'name.alt.org.perl' => 'lgpl_2_1',
9348             'name.alt.org.tldr.path.short' => 'lgpl2',
9349             'name.alt.org.wikidata.synth.nogrant' => 'Q18534390',
9350             'name.alt.misc.fossology_old' => 'CC_LGPL_v2.1',
9351             'name.alt.misc.fossology_old' => 'LGPL_v2.1',
9352             'name.alt.misc.fossology_old_cc' => 'CCGPL2.1',
9353             'name.alt.misc.fossology_old_short' => 'LGPL2.1',
9354             caption => 'GNU Lesser General Public License, Version 2.1',
9355             'caption.alt.org.cc.until.date_20100912' =>
9356             'Creative Commons GNU LGPL', # TODO: find official date
9357             'caption.alt.org.cc.misc.short.until.date_20100912' =>
9358             'CC-GNU LGPL', # TODO: find official date
9359             'caption.alt.org.fedora.misc.cc' => 'Creative Commons GNU LGPL',
9360             'caption.alt.org.fsf' =>
9361             'GNU Lesser General Public License (LGPL) version 2.1',
9362             'caption.alt.org.osi' => 'GNU Lesser General Public License version 2.1',
9363             'caption.alt.org.tldr' =>
9364             'GNU Lesser General Public License v2.1 (LGPL-2.1)',
9365             'caption.alt.org.wikidata' =>
9366             'GNU Lesser General Public License, version 2.1',
9367             'caption.alt.misc.uppercase' => 'GNU LESSER GENERAL PUBLIC LICENSE',
9368             iri => 'https://www.gnu.org/licenses/lgpl-2.1.html',
9369             'iri.alt.format.txt' => 'https://www.gnu.org/licenses/lgpl-2.1.txt',
9370             'iri.alt.org.cc.archive.time_20101027034910.until.date_20101027' =>
9371             'http://creativecommons.org/licenses/LGPL/2.1/'
9372             , # TODO: find official date
9373             'iri.alt.org.cc.archive.time_20100912081720.until.date_20100912' =>
9374             'http://creativecommons.org/choose/cc-lgpl'
9375             , # TODO: find official date
9376             tags => [
9377             'family:gpl',
9378             'license:published:by_fsf',
9379             'type:singleversion:lgpl',
9380             ],
9381             licenseversion => '2.1',
9382              
9383             'pat.alt.subject.license.part.preample' =>
9384             'This license, the Lesser General Public License, applies to',
9385             'pat.alt.subject.license.scope.multisection.part.tail_sample' =>
9386             '[<]?name of author[>]?[ ]'
9387             . 'This library is free software[;]? '
9388             . 'you can redistribute it and[/]or modify it '
9389             . 'under the terms of the GNU Lesser General Public License '
9390             . 'as published by the Free Software Foundation[;]? '
9391             . 'either version 2\.1 of the License, or',
9392             };
9393              
9394             $RE{lgpl_2_1_only} = {
9395             name => 'LGPL-2.1-only',
9396             'name.alt.org.spdx.until.date_20171228.synth.nogrant' => 'LGPL-2.1',
9397             'name.alt.org.spdx.since.date_20171228' => 'LGPL-2.1-only',
9398             caption => 'GNU Lesser General Public License v2.1 only',
9399             tags => [
9400             'family:gpl',
9401             'license:published:by_fsf',
9402             'type:usage:lgpl_2_1:only',
9403             ],
9404             };
9405              
9406             $RE{lgpl_2_1_or_later} = {
9407             name => 'LGPL-2.1-or-later',
9408             'name.alt.org.debian' => 'LGPL-2.1+',
9409             'name.alt.org.spdx.until.date_20150513' => 'LGPL-2.1+',
9410             'name.alt.org.spdx.since.date_20171228' => 'LGPL-2.1-or-later',
9411             'name.alt.org.wikidata.synth.nogrant' => 'Q27016757',
9412             'name.alt.misc.fossology_old' => 'LGPL_v2.1+',
9413             caption => 'GNU Lesser General Public License v2.1 or later',
9414             'caption.alt.org.wikidata' =>
9415             'GNU Lesser General Public License, version 2.1 or later',
9416             tags => [
9417             'family:gpl',
9418             'license:published:by_fsf',
9419             'type:usage:lgpl_2_1:or_later',
9420             ],
9421             };
9422              
9423             $RE{lgpl_3} = {
9424             name => 'LGPL-3',
9425             'name.alt.misc.short' => 'LGPLv3',
9426             'name.alt.org.debian' => 'LGPL-3',
9427             'name.alt.org.fsf' => 'LGPLv3',
9428             'name.alt.org.osi' => 'LGPL-3.0',
9429             'name.alt.org.osi.iri.stem.until.date_20110430' => 'lgpl-3.0',
9430             'name.alt.org.perl' => 'lgpl_3_0',
9431             'name.alt.org.tldr' => 'gnu-lesser-general-public-license-v3-(lgpl-3)',
9432             'name.alt.org.tldr.path.short' => 'lgpl-3.0',
9433             'name.alt.org.trove' => 'LGPLv3',
9434             'name.alt.org.wikidata.synth.nogrant' => 'Q18534393',
9435             'name.alt.misc.fossology_old' => 'LGPL_v3',
9436             'name.alt.misc.fossology_old_short' => 'LGPL3.0',
9437             caption => 'GNU Lesser General Public License, Version 3',
9438             'caption.alt.org.fsf' =>
9439             'GNU Lesser General Public License (LGPL) version 3',
9440             'caption.alt.org.osi' => 'GNU Lesser General Public License version 3',
9441             'caption.alt.org.perl' =>
9442             'GNU Lesser General Public License, Version 3.0',
9443             'caption.alt.org.trove' =>
9444             'GNU Lesser General Public License v3 (LGPLv3)',
9445             'caption.alt.org.osi' => 'GNU Lesser General Public License version 3',
9446             'caption.alt.org.tldr' =>
9447             'GNU Lesser General Public License v3 (LGPL-3.0)',
9448             'caption.alt.org.wikidata' =>
9449             'GNU Lesser General Public License, version 3.0',
9450             iri => 'https://www.gnu.org/licenses/lgpl-3.0.html',
9451             'iri.alt.format.txt' => 'https://www.gnu.org/licenses/lgpl-3.0.txt',
9452             tags => [
9453             'family:gpl',
9454             'license:published:by_fsf',
9455             'type:singleversion:lgpl',
9456             ],
9457             licenseversion => '3.0',
9458              
9459             'pat.alt.subject.license' =>
9460             '["][Tt]his License["] refers to version 3 of the GNU Lesser General',
9461             };
9462              
9463             $RE{lgpl_3_only} = {
9464             name => 'LGPL-3.0-only',
9465             'name.alt.org.fedora.synth.nogrant' => 'LGPLv3',
9466             'name.alt.org.spdx.until.date_20171228.synth.nogrant' => 'LGPL-3.0',
9467             'name.alt.org.spdx.since.date_20171228' => 'LGPL-3.0-only',
9468             caption => 'GNU Lesser General Public License v3.0 only',
9469             tags => [
9470             'family:gpl',
9471             'license:published:by_fsf',
9472             'type:usage:lgpl_3:only',
9473             ],
9474             };
9475              
9476             $RE{lgpl_3_or_later} = {
9477             name => 'LGPL-3.0-or-later',
9478             'name.alt.org.fedora' => 'LGPLv3+',
9479             'name.alt.org.debian' => 'LGPL-3+',
9480             'name.alt.org.spdx.until.date_20150513' => 'LGPL-3.0+',
9481             'name.alt.org.spdx.since.date_20171228' => 'LGPL-3.0-or-later',
9482             'name.alt.org.trove' => 'LGPLv3+',
9483             'name.alt.org.wikidata.synth.nogrant' => 'Q27016762',
9484             'name.alt.misc.fossology_old' => 'LGPL_v3+',
9485             caption => 'GNU Lesser General Public License v3.0 or later',
9486             'caption.alt.org.trove' =>
9487             'GNU Lesser General Public License v3 or later (LGPLv3+)',
9488             'caption.alt.org.wikidata' =>
9489             'GNU Lesser General Public License, version 3.0 or later',
9490             tags => [
9491             'family:gpl',
9492             'license:published:by_fsf',
9493             'type:usage:lgpl_3:or_later',
9494             ],
9495             };
9496              
9497             =item * lgpl_bdwgc
9498              
9499             I
9500              
9501             =cut
9502              
9503             $RE{lgpl_bdwgc} = {
9504             name => 'LGPL-bdwgc',
9505             caption =>
9506             'GNU Lesser General Public License (modified-code-notice clause)',
9507             summary =>
9508             'The GNU Lesser General Public License, with modified-code-notice clause',
9509             description => <<'END',
9510             Origin: Possibly Boehm-Demers-Weiser conservative C/C++ Garbage Collector (libgc, bdwgc, boehm-gc).
9511             END
9512             tags => [
9513             'type:unversioned',
9514             ],
9515              
9516             'pat.alt.subject.license.scope.multisection' => $P{perm_granted}
9517             . $P{to_copy_prg}
9518             . "under the terms of $the${gnu}LGPL, "
9519             . $P{retain_copr_avail_orig}
9520             . '[.][ ]'
9521             . $P{repro_code_modcode_cite_copr_avail_note}
9522             . $P{and_used_by_perm} . '[". ]'
9523             . $P{perm_dist_mod}
9524             . $P{granted}
9525             . $P{retain_copr_avail_note}
9526             . $P{note_mod_inc} . '[.]',
9527             'pat.alt.subject.license.part.credit' => 'code must cite the Copyright',
9528             };
9529              
9530             =item * libpng
9531              
9532             =cut
9533              
9534             $RE{libpng} = {
9535             name => 'Libpng',
9536             'name.alt.org.spdx' => 'Libpng',
9537             'name.alt.org.wikidata.synth.nogrant' => 'Q6542418',
9538             caption => 'libpng License',
9539             'caption.alt.org.wikidata' => 'Libpng License',
9540             tags => [
9541             'type:unversioned',
9542             ],
9543              
9544             'pat.alt.subject.license.scope.multisection' =>
9545             $P{origin_src_no_misrepresent}
9546             . '[.][ ]'
9547             . $P{altered_ver_mark}
9548             . '[.][ ]'
9549             . $P{copr_no_alter},
9550             };
9551              
9552             =item * libtiff
9553              
9554             I
9555              
9556             =cut
9557              
9558             $RE{libtiff} = {
9559             name => 'libtiff',
9560             'name.alt.org.fedora.iri.self' => 'libtiff',
9561             'name.alt.org.fedora.iri.mit_short' => 'Hylafax',
9562             'name.alt.org.spdx.since.date_20140807' => 'libtiff',
9563             'name.alt.org.wikidata.synth.nogrant' => 'Q105688056',
9564             caption => 'libtiff License',
9565             'caption.alt.org.tldr' => 'libtiff License',
9566             'summary.alt.org.fedora.iri.mit' => 'MIT-style license, Hylafax Variant',
9567             tags => [
9568             'type:unversioned',
9569             ],
9570              
9571             'pat.alt.subject.license.scope.line.scope.sentence' =>
9572             'relating to the software without the specific',
9573             };
9574              
9575             =item * liliq_p
9576              
9577             I
9578              
9579             =item * liliq_p_1_1
9580              
9581             I
9582              
9583             =cut
9584              
9585             $RE{liliq_p} = {
9586             name => 'LiLiQ-P',
9587             'name.alt.org.wikidata.synth.nogrant' => 'Q38493399',
9588             caption => 'Licence Libre du Québec – Permissive (LiLiQ-P)',
9589             'caption.alt.org.wikidata' => 'Licence Libre du Québec – Permissive',
9590             tags => [
9591             'type:versioned:decimal',
9592             ],
9593             };
9594              
9595             $RE{liliq_p_1_1} = {
9596             name => 'LiLiQ-P-1.1',
9597             'name.alt.org.osi' => 'LiLiQ-P-1.1',
9598             'name.alt.org.spdx.since.date_20160323' => 'LiLiQ-P-1.1',
9599             caption => 'Licence Libre du Québec – Permissive version 1.1',
9600             'caption.alt.org.osi' =>
9601             'Licence Libre du Québec – Permissive (LiLiQ-P) version 1.1',
9602             tags => [
9603             'type:singleversion:liliq_p',
9604             ],
9605             licenseversion => '1.1',
9606              
9607             'pat.alt.subject.license.scope.line.scope.sentence.part.part8' =>
9608             'Le conc[é]dant ne saurait [ê]tre tenu responsable de dommages subis',
9609             'pat.alt.subject.license.scope.line.scope.sentence.part.part9' =>
9610             'La pr[é]sente licence est automatiquement r[é]sili[é]e',
9611             };
9612              
9613             =item * liliq_r
9614              
9615             I
9616              
9617             =item * liliq_r_1_1
9618              
9619             I
9620              
9621             =cut
9622              
9623             $RE{liliq_r} = {
9624             name => 'LiLiQ-R',
9625             'name.alt.org.wikidata.synth.nogrant' => 'Q38490890',
9626             caption => 'Licence Libre du Québec – Réciprocité (LiLiQ-R)',
9627             'caption.alt.org.wikidata' =>
9628             'Licence Libre du Québec – Réciprocité',
9629             tags => [
9630             'type:versioned:decimal',
9631             ],
9632             };
9633              
9634             $RE{liliq_r_1_1} = {
9635             name => 'LiLiQ-R-1.1',
9636             'name.alt.org.osi' => 'LiLiQ-R-1.1',
9637             'name.alt.org.spdx.since.date_20160323' => 'LiLiQ-R-1.1',
9638             caption => 'Licence Libre du Québec – Réciprocité version 1.1',
9639             'caption.alt.org.osi' =>
9640             'Licence Libre du Québec – Réciprocité (LiLiQ-R) version 1.1',
9641             tags => [
9642             'license:contains:name:cddl_1',
9643             'license:contains:name:cecill_2_1',
9644             'license:contains:name:cecill_c',
9645             'license:contains:name:cpl_1',
9646             'license:contains:name:epl_1',
9647             'license:contains:name:eupl_1_1',
9648             'license:contains:name:gpl_2',
9649             'license:contains:name:gpl_3',
9650             'license:contains:name:lgpl_2_1',
9651             'license:contains:name:lgpl_3',
9652             'license:contains:name:liliq_r_plus_1_1',
9653             'license:contains:name:mpl_2',
9654             'type:singleversion:liliq_r',
9655             ],
9656             licenseversion => '1.1',
9657              
9658             'pat.alt.subject.license.scope.line.scope.sentence.part.part4_1' =>
9659             'Chaque fois que le licenci[é] distribue le logiciel ou un logiciel modifi[é]',
9660             };
9661              
9662             =item * liliq_r_plus
9663              
9664             I
9665              
9666             =item * liliq_r_plus_1_1
9667              
9668             I
9669              
9670             =cut
9671              
9672             $RE{liliq_r_plus} = {
9673             name => 'LiLiQ-R+',
9674             'name.alt.org.wikidata.synth.nogrant' => 'Q38493724',
9675             caption => 'Licence Libre du Québec – Réciprocité forte (LiLiQ-R+)',
9676             'caption.alt.org.wikidata' =>
9677             'Licence Libre du Québec – Réciprocité forte',
9678             tags => [
9679             'type:versioned:decimal',
9680             ],
9681             };
9682              
9683             $RE{liliq_r_plus_1_1} = {
9684             name => 'LiLiQ-R+-1.1',
9685             'name.alt.org.osi' => 'LiLiQ-Rplus-1.1',
9686             'name.alt.org.spdx.since.date_20160323' => 'LiLiQ-Rplus-1.1',
9687             caption => 'Licence Libre du Québec – Réciprocité forte version 1.1',
9688             'caption.alt.org.osi' =>
9689             'Licence Libre du Québec – Réciprocité forte (LiLiQ-R+) version 1.1',
9690             tags => [
9691             'license:contains:name:cecill_2_1',
9692             'license:contains:name:cpl_1',
9693             'license:contains:name:epl_1',
9694             'license:contains:name:eupl_1_1',
9695             'license:contains:name:gpl_2',
9696             'license:contains:name:gpl_3',
9697             'type:singleversion:liliq_r_plus',
9698             ],
9699             licenseversion => '1.1',
9700              
9701             'pat.alt.subject.license.scope.line.scope.sentence.part.part4_1' =>
9702             'Chaque fois que le licenci[é] distribue le logiciel, un logiciel modifi[é], ou',
9703             };
9704              
9705             =item * llgpl
9706              
9707             =cut
9708              
9709             $RE{llgpl} = {
9710             name => 'LLGPL',
9711             'name.alt.org.fedora' => 'LLGPL',
9712             'name.alt.org.tldr' => 'lisp-lesser-general-public-license',
9713             caption => 'Lisp Lesser General Public License',
9714             'caption.alt.org.fedora' => 'Lisp Library General Public License',
9715             'caption.alt.org.tldr' => 'Lisp Lesser General Public License (LLGPL)',
9716             iri => 'http://opensource.franz.com/preamble.html',
9717             'iri.alt.misc.cliki' => 'http://www.cliki.net/LLGPL',
9718             tags => [
9719             'license:contains:license:lgpl_2_1',
9720             'type:unversioned',
9721             ],
9722             };
9723              
9724             =item * lpl
9725              
9726             I
9727              
9728             =item * lpl_1
9729              
9730             I
9731              
9732             =item * lpl_1_02
9733              
9734             I
9735              
9736             =cut
9737              
9738             $RE{lpl} = {
9739             name => 'LPL',
9740             'name.alt.org.fedora' => 'LPL',
9741             'name.alt.org.osi.iri.stem.until.date_20110430' => 'plan9',
9742             'name.alt.org.wikidata.synth.nogrant' => 'Q6696468',
9743             caption => 'Lucent Public License',
9744             'caption.alt.org.fedora' => 'Lucent Public License (Plan9)',
9745             tags => [
9746             'type:versioned:decimal',
9747             ],
9748             };
9749              
9750             $RE{lpl_1} = {
9751             name => 'LPL-1.0',
9752             'name.alt.org.osi' => 'LPL-1.0',
9753             'name.alt.org.spdx' => 'LPL-1.0',
9754             'name.alt.misc.fossology_old' => 'Lucent_v1.0',
9755             'name.alt.misc.fossology_old_short' => 'Lucent1.0',
9756             caption => 'Lucent Public License Version 1.0',
9757             'caption.alt.org.osi' => 'Lucent Public License, Plan 9, version 1.0',
9758             'caption.alt.org.spdx.until.date_20130117' =>
9759             'Lucent Public License Version 1.0 (Plan9)',
9760             'caption.alt.org.spdx.since.date_20130117' =>
9761             'Lucent Public License Version 1.0',
9762             'caption.alt.org.osi.misc.list' =>
9763             'Lucent Public License ("Plan9"), version 1.0',
9764             tags => [
9765             'type:singleversion:lpl',
9766             ],
9767             licenseversion => '1.0',
9768              
9769             'pat.alt.subject.license.scope.multisection.part.head' =>
9770             '(?:Lucent Public License Version 1\.0[ ])?'
9771             . 'THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS PUBLIC LICENSE [(]["]AGREEMENT["][)][. ]'
9772             . "ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT[']S ACCEPTANCE OF THIS AGREEMENT[.][ ]"
9773             . '[*)][ ]?DEFINITIONS[ ]'
9774             . '["]Contribution["] means[:"]?[ ]'
9775             . '[*)]in the case of[ word]{0,15}, the Original Program, and[ ]'
9776             . '[*)]in the case of each Contributor,[ ]'
9777             . '[*)]changes to the Program, and[ ]'
9778             . '[*)]additions to the Program[;]'
9779             . '[ ]where such changes and[/]or additions to the Program originate from',
9780             };
9781              
9782             $RE{lpl_1_02} = {
9783             name => 'LPL-1.02',
9784             'name.alt.org.osi' => 'LPL-1.02',
9785             'name.alt.org.osi.iri.stem.until.date_20110430' => 'lucent1.02',
9786             'name.alt.org.spdx' => 'LPL-1.02',
9787             'name.alt.misc.fossology_old' => 'Lucent_v1.02',
9788             'name.alt.misc.fossology_old_short' => 'Lucent1.02',
9789             caption => 'Lucent Public License v1.02',
9790             'caption.alt.org.osi' => 'Lucent Public License Version 1.02',
9791             'caption.alt.org.tldr' => 'Lucent Public License v1.02 (LPL-1.02)',
9792             description => <<'END',
9793             Identical to Lucent Public License Version 1.0, except...
9794             * rephrase Contribution definition
9795             * rephrase Contributor identification clause in section 3.C
9796             * add export-control clause as section 7
9797             END
9798             tags => [
9799             'type:singleversion:lpl',
9800             ],
9801             licenseversion => '1.02',
9802              
9803             'pat.alt.subject.license.scope.multisection.part.head' =>
9804             '(?:Lucent Public License Version 1\.02[ ])?'
9805             . 'THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS PUBLIC LICENSE [(]["]AGREEMENT["][)][. ]'
9806             . "ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT[']S ACCEPTANCE OF THIS AGREEMENT[.][ ]"
9807             . '[*)][ ]?DEFINITIONS[ ]'
9808             . '["]Contribution["] means[:"]?[ ]'
9809             . '[*)]in the case of Lucent Technologies Inc\. [(]["]LUCENT["][)], the Original Program, and[ ]'
9810             . '[*)]in the case of each Contributor,[ ]'
9811             . '[*)]changes to the Program, and[ ]'
9812             . '[*)]additions to the Program[;]'
9813             . '[ ]where such changes and[/]or additions to the Program were added',
9814             };
9815              
9816             =item * lppl
9817              
9818             =item * lppl_1
9819              
9820             =item * lppl_1_1
9821              
9822             =item * lppl_1_2
9823              
9824             =item * lppl_1_3a
9825              
9826             =item * lppl_1_3c
9827              
9828             =cut
9829              
9830             $RE{lppl} = {
9831             name => 'LPPL',
9832             'name.alt.org.fedora' => 'LPPL',
9833             'name.alt.org.osi.iri.stem.until.date_20110430' => 'lppl',
9834             'name.alt.org.wikidata.synth.nogrant' => 'Q1050635',
9835             caption => 'LaTeX Project Public License',
9836             'caption.alt.org.wikipedia' => 'LaTeX Project Public License',
9837             tags => [
9838             'type:versioned:decimal',
9839             ],
9840             };
9841              
9842             $RE{lppl_1} = {
9843             name => 'LPPL-1.0',
9844             'name.alt.org.spdx' => 'LPPL-1.0',
9845             'name.alt.misc.fossology_old' => 'LPPL_v1.0',
9846             'name.alt.misc.fossology_old_short' => 'LaTeX1.0',
9847             caption => 'LaTeX Project Public License 1',
9848             'caption.alt.org.spdx' => 'LaTeX Project Public License v1.0',
9849             tags => [
9850             'license:contains:grant',
9851             'type:singleversion:lppl',
9852             ],
9853             licenseversion => '1.0',
9854              
9855             'pat.alt.subject.license' => 'LPPL Version 1\.0 1999[-]03[-]01',
9856             };
9857              
9858             $RE{lppl_1_1} = {
9859             name => 'LPPL-1.1',
9860             'name.alt.org.spdx' => 'LPPL-1.1',
9861             'name.alt.misc.fossology_old' => 'LPPL_v1.1',
9862             'name.alt.misc.fossology_old_short' => 'LaTeX1.1',
9863             caption => 'LaTeX Project Public License 1.1',
9864             'caption.alt.org.spdx' => 'LaTeX Project Public License v1.1',
9865             tags => [
9866             'license:contains:grant',
9867             'type:singleversion:lppl',
9868             ],
9869             licenseversion => '1.1',
9870              
9871             'pat.alt.subject.license' => 'LPPL Version 1\.1 1999[-]07[-]10',
9872             };
9873              
9874             $RE{lppl_1_2} = {
9875             name => 'LPPL-1.2',
9876             'name.alt.org.spdx' => 'LPPL-1.2',
9877             'name.alt.misc.fossology_old' => 'LPPL_v1.2',
9878             'name.alt.misc.fossology_old_short' => 'LaTeX1.2',
9879             caption => 'LaTeX Project Public License 1.2',
9880             'caption.alt.org.spdx' => 'LaTeX Project Public License v1.2',
9881             tags => [
9882             'license:contains:grant',
9883             'type:singleversion:lppl',
9884             ],
9885             licenseversion => '1.2',
9886              
9887             'pat.alt.subject.license' => 'LPPL Version 1\.2 1999[-]09[-]03',
9888             };
9889              
9890             $RE{lppl_1_3a} = {
9891             name => 'LPPL-1.3a',
9892             'name.alt.org.spdx.since.date_20130117' => 'LPPL-1.3a',
9893             'name.alt.misc.fossology_old' => 'LPPL_v1.3a',
9894             'name.alt.misc.fossology_old_short' => 'LaTeX1.3a',
9895             caption => 'LaTeX Project Public License 1.3a',
9896             'caption.alt.org.spdx.until.date_20160103' =>
9897             'LaTeX Project Public License 1.3a',
9898             'caption.alt.org.spdx.since.date_20160103' =>
9899             'LaTeX Project Public License v1.3a',
9900             tags => [
9901             'license:contains:grant',
9902             'type:singleversion:lppl',
9903             ],
9904             licenseversion => '1.3a',
9905              
9906             'pat.alt.subject.license' => 'LPPL Version 1\.3a 2004[-]10[-]01',
9907             };
9908              
9909             $RE{lppl_1_3c} = {
9910             name => 'LPPL-1.3c',
9911             'name.alt.org.osi' => 'LPPL-1.3c',
9912             'name.alt.org.spdx' => 'LPPL-1.3c',
9913             'name.alt.misc.fossology_old' => 'LPPL_v1.3c',
9914             'name.alt.misc.fossology_old_short' => 'LaTeX1.3c',
9915             caption => 'LaTeX Project Public License 1.3c',
9916             'caption.alt.org.osi' => 'LaTeX Project Public License, Version 1.3c',
9917             'caption.alt.org.osi.misc.list' => 'LaTeX Project Public License 1.3c',
9918             'caption.alt.org.spdx' => 'LaTeX Project Public License v1.3c',
9919             'caption.alt.org.tldr' =>
9920             'LaTeX Project Public License v1.3c (LPPL-1.3c)',
9921             iri => 'https://www.latex-project.org/lppl.txt',
9922             tags => [
9923             'license:contains:grant',
9924             'type:singleversion:lppl',
9925             ],
9926             licenseversion => '1.3c',
9927              
9928             'pat.alt.subject.license' => 'LPPL Version 1\.3c 2008[-]05[-]04',
9929             };
9930              
9931             =item * miros
9932              
9933             I
9934              
9935             =cut
9936              
9937             $RE{miros} = {
9938             name => 'MirOS',
9939             'name.alt.org.fedora' => 'MirOS',
9940             'name.alt.org.osi' => 'MirOS',
9941             'name.alt.org.osi.iri.stem.until.date_20110430' => 'miros',
9942             'name.alt.org.spdx' => 'MirOS',
9943             'name.alt.org.wikidata.synth.nogrant' => 'Q1951343',
9944             caption => 'The MirOS License',
9945             'caption.alt.org.fedora' => 'MirOS License',
9946             'caption.alt.org.osi' => 'MirOS Licence',
9947             'caption.alt.org.spdx.until.date_20171228' => 'MirOS Licence',
9948             'caption.alt.org.spdx.since.date_20171228.until.date_20191022' =>
9949             'MirOS License',
9950             'caption.alt.org.spdx.since.date_20191022' => 'The MirOS License',
9951             'caption.alt.org.tldr' => 'MirOS License (MirOS)',
9952             'caption.alt.org.trove' => 'MirOS License (MirOS)',
9953             'caption.alt.org.wikidata' => 'MirOS Licence',
9954             tags => [
9955             'license:is:grant',
9956             'type:unversioned',
9957             ],
9958              
9959             'pat.alt.subject.license.scope.line.scope.sentence' =>
9960             'merge, give away, or sublicence',
9961             };
9962              
9963             =item * mit_0
9964              
9965             I
9966              
9967             =cut
9968              
9969             $RE{mit_0} = {
9970             name => 'MIT-0',
9971             'name.alt.org.fedora.iri.self.since.date_20210215' => 'MIT-0',
9972             'name.alt.org.osi' => 'MIT-0',
9973             'name.alt.org.spdx.since.date_20180414' => 'MIT-0',
9974             'name.alt.org.wikidata.synth.nogrant' => 'Q67538600',
9975             caption => 'MIT No Attribution',
9976             'caption.alt.org.fedora.since.date_20210215' =>
9977             'MIT No Attribution (MIT-0)',
9978             'caption.alt.org.osi' => 'MIT No Attribution License',
9979             'caption.alt.org.trove' => 'MIT No Attribution License (MIT-0)',
9980             'caption.alt.org.wikidata' => 'MIT No Attribution License',
9981             description => <<'END',
9982             Identical to MIT (Expat), except...
9983             * omit retention clause
9984             END
9985             tags => [
9986             'family:mit',
9987             'license:is:grant',
9988             'type:unversioned',
9989             ],
9990              
9991             'pat.alt.subject.license.scope.line.scope.sentence' =>
9992             'to whom the Software is furnished to do so[.][ ]'
9993             . $P{asis_sw_warranty},
9994             };
9995              
9996             =item * mit_advertising
9997              
9998             =cut
9999              
10000             $RE{mit_advertising} = {
10001             name => 'MIT-advertising',
10002             'name.alt.org.spdx.since.date_20140807' => 'MIT-advertising',
10003             caption => 'Enlightenment License (e16)',
10004             'caption.alt.org.fedora.iri.self' => 'MIT With Advertising',
10005             tags => [
10006             'family:mit',
10007             'license:is:grant',
10008             'type:unversioned',
10009             ],
10010              
10011             'pat.alt.subject.license.scope.sentence' => $P{note_marketing}
10012             . '\b[^.,]+, and '
10013             . $P{ack_doc_mat_pkg_use},
10014             };
10015              
10016             =item * mit_cmu
10017              
10018             =cut
10019              
10020             $RE{mit_cmu} = {
10021             name => 'MIT-CMU',
10022             'name.alt.org.spdx.since.date_20140807' => 'MIT-CMU',
10023             'name.alt.org.wikidata.synth.nogrant' => 'Q2939745',
10024             caption => 'CMU License',
10025             'caption.alt.org.fedora' => 'CMU License (BSD like)',
10026             'caption.alt.org.fedora.iri.mit' => 'CMU Style',
10027             'caption.alt.org.tldr' => 'CMU License',
10028             'caption.alt.org.wikidata' => 'Carnegie Mellon University License',
10029             description => <<'END',
10030             Identical to NTP, except...
10031             * omit explicit permission for charging fee
10032             * exclude suitability disclaimer
10033             * exclude terse "as is" warranty disclaimer
10034             * include elaborate warranty disclaimer
10035             * include liability disclaimer
10036              
10037             SPDX and fedora sample seem not generic but the unique file COPYING from project net-snmp.
10038             END
10039             tags => [
10040             'family:mit',
10041             'license:is:grant',
10042             'type:unversioned',
10043             ],
10044              
10045             'pat.alt.subject.license.scope.sentence' => 'Permission '
10046             . $P{to_dist}
10047             . $P{sw_doc_nofee}
10048             . $P{granted}
10049             . $P{retain_copr_appear}
10050             . ' and that '
10051             . $P{repro_copr_perm_appear_doc}
10052             . ', and that '
10053             . $P{nopromo_name_written} . '[.]',
10054             'pat.alt.subject.license.part.endorsement' =>
10055             'without specific written permission',
10056             };
10057              
10058             =item * mit_cmu_warranty
10059              
10060             =cut
10061              
10062             $RE{mit_cmu_warranty} = {
10063             name => 'SMLNJ',
10064             'name.alt.org.debian' => 'MIT-CMU~warranty',
10065             'name.alt.org.spdx.since.date_20130117' => 'SMLNJ',
10066             'name.alt.org.spdx.misc.long.since.date_20140807.until.date_20150513' =>
10067             'StandardML-NJ',
10068             'name.alt.org.wikidata.synth.nogrant' => 'Q99635287',
10069             caption => 'Standard ML of New Jersey License',
10070             'caption.alt.org.tldr' => 'Standard ML of New Jersey License (SMLNJ)',
10071             'summary.alt.org.fedora.iri.mit' =>
10072             'MIT-style license, Standard ML of New Jersey Variant',
10073             'summary.alt.org.fedora.iri.mit_semishort' =>
10074             'MIT-style license, MLton variant',
10075             description => <<'END',
10076             Identical to MIT-CMU, except...
10077             * add requirement of "warranty disclaimer" appearing in documentation
10078             END
10079             tags => [
10080             'family:mit',
10081             'license:is:grant',
10082             'type:unversioned',
10083             ],
10084              
10085             'pat.alt.subject.license.scope.sentence' => 'Permission '
10086             . $P{to_dist}
10087             . $P{sw_doc_nofee}
10088             . $P{granted}
10089             . $P{retain_copr_appear}
10090             . ' and that '
10091             . $P{repro_copr_perm_warr_appear_doc}
10092             . ', and that '
10093             . $P{nopromo_name_written_prior} . '[.]',
10094             'pat.alt.subject.license.part.disclaimer' => 'warranty disclaimer appear',
10095             };
10096              
10097             =item * mit_enna
10098              
10099             =cut
10100              
10101             $RE{mit_enna} = {
10102             name => 'MIT-enna',
10103             'name.alt.org.fedora.iri.mit_short' => 'enna',
10104             'name.alt.org.spdx.since.date_20140807' => 'MIT-enna',
10105             caption => 'enna License',
10106             'caption.alt.org.tldr' => 'enna License',
10107             'summary.alt.org.fedora.iri.mit' => 'MIT-style license, enna variant',
10108             tags => [
10109             'family:mit',
10110             'license:is:grant',
10111             'type:unversioned',
10112             ],
10113              
10114             'pat.alt.subject.license.scope.section' => $P{perm_granted}
10115             . $P{free_charge}
10116             . $P{to_pers}
10117             . $P{the_sw}
10118             . $P{to_deal_the_sw_rights}
10119             . $P{subj_cond}
10120             . $P{to_copy_sublicence_conditions}
10121             . '[:]?[ ]'
10122             . $P{retain_copr_perm_sw_copr} . '[. ]'
10123             . $P{ack_pub_use_nosrc} . '[. ]'
10124             . 'This includes acknowledgments '
10125             . 'in either Copyright notices, Manuals, Publicity and Marketing documents '
10126             . 'or any documentation provided '
10127             . 'with any product containing this software[. ]'
10128             . $P{license_not_lib} . '[.]',
10129             'pat.alt.subject.license.scope.line' => $P{ack_pub_use_nosrc},
10130             };
10131              
10132             =item * mit_epinions
10133              
10134             I
10135              
10136             =cut
10137              
10138             $RE{mit_epinions} = {
10139             'name.alt.org.debian' => 'MIT~Epinions',
10140             'summary.alt.org.fedora.iri.mit' => 'MIT-style license, Epinions Variant',
10141             tags => [
10142             'family:mit',
10143             'license:is:grant',
10144             'type:unversioned',
10145             ],
10146              
10147             'pat.alt.subject.license.scope.line.scope.sentence' =>
10148             'Subject to the following 3 conditions',
10149             };
10150              
10151             =item * mit_feh
10152              
10153             =cut
10154              
10155             $RE{mit_feh} = {
10156             name => 'MIT-feh',
10157             'name.alt.org.fedora.iri.mit_short' => 'feh',
10158             'name.alt.org.spdx.since.date_20140807' => 'MIT-feh',
10159             caption => 'feh License',
10160             'caption.alt.org.tldr' => 'feh License',
10161             'summary.alt.org.fedora.iri.mit' => 'MIT-style license, feh variant',
10162             tags => [
10163             'family:mit',
10164             'license:is:grant',
10165             'type:unversioned',
10166             ],
10167              
10168             'pat.alt.subject.license.scope.paragraph' => $P{perm_granted}
10169             . $P{free_charge}
10170             . $P{to_pers}
10171             . $P{the_sw}
10172             . $P{to_deal_the_sw_rights}
10173             . $P{to_copy_sublicence_conditions}
10174             . '[:]?[ ]'
10175             . $P{retain_copr_perm_sw_doc} . ' and '
10176             . $P{ack_doc_pkg_use} . '[.]',
10177             };
10178              
10179             =item * mit_new
10180              
10181             =cut
10182              
10183             $RE{mit_new} = {
10184             'name.alt.org.debian' => 'Expat',
10185             'name.alt.org.osi' => 'MIT',
10186             'name.alt.org.osi.iri.stem.until.date_20110430' => 'mit-license',
10187             'name.alt.org.perl' => 'mit',
10188             'name.alt.org.spdx' => 'MIT',
10189             'name.alt.org.tldr' => 'mit-license',
10190             'name.alt.org.tldr.path.short' => 'mit',
10191             'name.alt.org.wikidata.synth.nogrant' => 'Q18526198',
10192             'name.alt.misc.mit' => 'MIT/Expat',
10193             caption => 'MIT License',
10194             'caption.alt.org.debian' => 'Expat License',
10195             'caption.alt.org.fedora' => 'MIT license (also X11)',
10196             'caption.alt.org.osi' => 'The MIT License',
10197             'caption.alt.org.osi.misc.list' => 'MIT License',
10198             'caption.alt.org.osi.misc.cat_list' => 'MIT license',
10199             'caption.alt.org.perl' => 'MIT (aka X11) License',
10200             'caption.alt.org.tldr' => 'MIT License (Expat)',
10201             'summary.alt.org.fedora.iri.mit' =>
10202             'MIT-style license, Modern Style with sublicense',
10203             'caption.alt.org.wikidata' => 'Expat license',
10204             'caption.alt.org.wikipedia' => 'MIT License',
10205             'caption.alt.misc.mit_expat' => 'MIT Expat',
10206             'caption.alt.misc.wayland' => 'the MIT Expat license',
10207             iri => 'http://www.jclark.com/xml/copying.txt',
10208             description => <<'END',
10209             Origin: X11 Licene
10210              
10211             Identical to X11 License, except...
10212             * drop non-endorsement clause at the end
10213             * drop trademark notice at the end
10214             END
10215             tags => [
10216             'family:mit',
10217             'license:is:grant',
10218             'license:published:by_james_clark',
10219             'type:unversioned',
10220             ],
10221              
10222             'pat.alt.subject.license.scope.multisection' =>
10223             $P{to_copy_sublicence_conditions}
10224             . '[:][ ]'
10225             . $P{retain_copr_perm_subst},
10226             };
10227              
10228             =item * mit_new_materials
10229              
10230             =cut
10231              
10232             $RE{mit_new_materials} = {
10233             name => 'Khronos',
10234             caption => 'Khronos License',
10235             tags => [
10236             'family:mit',
10237             'license:is:grant',
10238             'type:unversioned',
10239             ],
10240              
10241             'pat.alt.subject.license.scope.sentence' => $P{perm_granted}
10242             . $P{free_charge}
10243             . $P{to_pers}
10244             . $P{the_material}
10245             . $P{to_deal_mat},
10246             };
10247              
10248             =item * mit_old
10249              
10250             =cut
10251              
10252             $RE{mit_old} = {
10253             'name.alt.org.debian' => 'MIT~old',
10254             'name.alt.org.gentoo' => 'Old-MIT',
10255             caption => 'MIT (old)',
10256             tags => [
10257             'family:mit',
10258             'license:is:grant',
10259             'type:unversioned',
10260             ],
10261              
10262             'pat.alt.subject.license' => $P{perm_granted} . $P{free_agree_fee},
10263             };
10264              
10265             =item * mit_oldstyle
10266              
10267             =cut
10268              
10269             $RE{mit_oldstyle} = {
10270             'name.alt.org.debian' => 'MIT~oldstyle',
10271             caption => 'MIT (Old Style)',
10272             'summary.alt.org.fedora.iri.mit' => 'MIT-style license, Old Style',
10273             description => <<'END',
10274             Origin: Possibly by Jamie Zawinski in 1993 for xscreensaver.
10275             END
10276             tags => [
10277             'family:mit',
10278             'license:is:grant',
10279             'type:unversioned',
10280             ],
10281              
10282             'pat.alt.subject.license.scope.line.scope.paragraph' =>
10283             'documentation[. ]No representations are made',
10284             };
10285              
10286             =item * mit_oldstyle_disclaimer
10287              
10288             =cut
10289              
10290             $RE{mit_oldstyle_disclaimer} = {
10291             'name.alt.org.debian' => 'MIT~oldstyle~disclaimer',
10292             caption => 'MIT (Old Style, legal disclaimer)',
10293             'summary.alt.org.fedora.iri.mit' =>
10294             'MIT-style license, Old Style with legal disclaimer',
10295             tags => [
10296             'family:mit',
10297             'license:is:grant',
10298             'type:unversioned',
10299             ],
10300              
10301             'pat.alt.subject.license.scope.multisection' =>
10302             'supporting documentation[.][ ]' . $P{asis_name_sw},
10303             };
10304              
10305             =item * mit_oldstyle_permission
10306              
10307             =cut
10308              
10309             $RE{mit_oldstyle_permission} = {
10310             'name.alt.org.debian' => 'MIT~oldstyle~permission',
10311             'summary.alt.org.fedora.iri.mit' =>
10312             'MIT-style license, Old Style (no advertising without permission)',
10313             tags => [
10314             'family:mit',
10315             'license:is:grant',
10316             'type:unversioned',
10317             ],
10318              
10319             'pat.alt.subject.license.scope.multisection' => $P{without_written_prior}
10320             . '[.][ ]'
10321             . $P{asis_name_sw},
10322             };
10323              
10324             =item * mit_open_group
10325              
10326             I
10327              
10328             =cut
10329              
10330             $RE{mit_open_group} = {
10331             name => 'MIT-Open-Group',
10332             'name.alt.org.spdx.since.date_20201125' => 'MIT-Open-Group',
10333             caption => 'MIT Open Group variant',
10334             description => <<'END',
10335             Identical to NTP, except...
10336             * add explicit permission to sell
10337             * omit explicit permission to charge or not charge fee
10338             * extend permissions with note that they are granted without fee
10339             * add retain-copyright-notices clause
10340             * rephrase disclaimers
10341             * rephrase non-endorsement clause and move it to the end
10342             END
10343             tags => [
10344             'family:mit',
10345             'license:contains:license:hpnd_sell',
10346             'license:is:grant',
10347             'type:unversioned',
10348             ],
10349              
10350             'pat.alt.subject.license.scope.paragraph' =>
10351             'Permission to use, copy, modify, distribute, and sell '
10352             . 'this software and its documentation '
10353             . 'for any purpose is hereby granted without fee, '
10354             . 'provided that the above copyright notice appears? in all copies,?(?: and)? '
10355             . 'that both(?: that)?(?: the)? copyright notice '
10356             . 'and this permission notice appear in supporting documentation[.]',
10357             };
10358              
10359             =item * mit_openvision
10360              
10361             I
10362              
10363             =cut
10364              
10365             $RE{mit_openvision} = {
10366             'name.alt.org.debian' => 'MIT~OpenVision',
10367             'summary.alt.org.fedora.iri.mit' =>
10368             'MIT-style license, OpenVision Variant',
10369             tags => [
10370             'family:mit',
10371             'license:is:grant',
10372             'type:unversioned',
10373             ],
10374              
10375             'pat.alt.subject.license.scope.line.scope.sentence' =>
10376             'You may freely use and distribute the Source Code and Object Code',
10377             };
10378              
10379             =item * mit_osf
10380              
10381             I
10382              
10383             =cut
10384              
10385             $RE{mit_osf} = {
10386             'name.alt.org.debian' => 'MIT~OSF',
10387             'summary.alt.org.fedora.iri.mit' => 'MIT-style license, HP Variant',
10388             tags => [
10389             'family:mit',
10390             'license:is:grant',
10391             'type:unversioned',
10392             ],
10393              
10394             'pat.alt.subject.license.scope.line.scope.sentence' =>
10395             'To anyone who acknowledges that this file is provided',
10396             };
10397              
10398             =item * mit_unixcrypt
10399              
10400             I
10401              
10402             =cut
10403              
10404             $RE{mit_unixcrypt} = {
10405             'name.alt.org.debian' => 'MIT~UnixCrypt',
10406             'summary.alt.org.fedora.iri.mit' =>
10407             'MIT-style license, UnixCrypt Variant',
10408             tags => [
10409             'family:mit',
10410             'license:is:grant',
10411             'type:unversioned',
10412             ],
10413              
10414             'pat.alt.subject.license.scope.line.scope.sentence' =>
10415             'for non-commercial or commercial purposes and without fee',
10416             };
10417              
10418             =item * mit_whatever
10419              
10420             I
10421              
10422             =cut
10423              
10424             $RE{mit_whatever} = {
10425             'name.alt.org.debian' => 'MIT~whatever',
10426             'summary.alt.org.fedora.iri.mit' => 'MIT-style license, Whatever Variant',
10427             tags => [
10428             'family:mit',
10429             'license:is:grant',
10430             'type:unversioned',
10431             ],
10432              
10433             'pat.alt.subject.license.scope.sentence' =>
10434             'and to alter it and redistribute it freely[.]',
10435             };
10436              
10437             =item * mit_widget
10438              
10439             I
10440              
10441             =cut
10442              
10443             $RE{mit_widget} = {
10444             'name.alt.org.debian' => 'MIT~Widget',
10445             'summary.alt.org.fedora.iri.mit' => 'MIT-style license, Nuclear Variant',
10446             tags => [
10447             'family:mit',
10448             'license:is:grant',
10449             'type:unversioned',
10450             ],
10451              
10452             'pat.alt.subject.license.scope.line.scope.sentence' =>
10453             'its documentation for NON-COMMERCIAL or COMMERCIAL purposes',
10454             };
10455              
10456             =item * mit_xfig
10457              
10458             I
10459              
10460             =cut
10461              
10462             $RE{mit_xfig} = {
10463             'name.alt.org.debian' => 'MIT~Xfig',
10464             'name.alt.org.fedora.iri.mit_short' => 'Xfig',
10465             'summary.alt.org.fedora.iri.mit' => 'MIT-style license, Xfig Variant',
10466             tags => [
10467             'family:mit',
10468             'license:is:grant',
10469             'type:unversioned',
10470             ],
10471              
10472             'pat.alt.subject.license.scope.line.scope.sentence' =>
10473             'Any party obtaining a copy of these files is granted, free of charge',
10474             };
10475              
10476             =item * motosoto
10477              
10478             I
10479              
10480             =cut
10481              
10482             $RE{motosoto} = {
10483             name => 'Motosoto',
10484             'name.alt.org.fedora' => 'Motosoto',
10485             'name.alt.org.osi' => 'Motosoto',
10486             'name.alt.org.osi.iri.stem.until.date_20110430' => 'motosoto',
10487             'name.alt.org.spdx' => 'Motosoto',
10488             'name.alt.org.wikidata.synth.nogrant' => 'Q38494497',
10489             'name.alt.misc.fossology_old' => 'Motosoto_v0.9.1',
10490             caption => 'Motosoto License',
10491             'caption.alt.org.osi' => 'Motosoto Open Source License - Version 0.9.1',
10492             'caption.alt.org.osi.misc.list' => 'Motosoto License',
10493             'caption.alt.org.trove' => 'Motosoto License',
10494             'caption.alt.org.wikidata' => 'Motosoto Open Source License',
10495             description => <<'END',
10496             Identical to Jabber Open Source License, except...
10497             * rephrase grant clause to explicitly cover whole product (not only modified parts)
10498             * extend grant clause to explicitly cover creation of derivative works
10499             * replace references, e.g. "Jabber Server" -> "Community Portal Server"
10500             * document that license is derived from Jabber Open Source License
10501             * drop some disclaimers
10502             END
10503             tags => [
10504             'type:unversioned',
10505             ],
10506              
10507             'pat.alt.subject.license.part.header' =>
10508             'MOTOSOTO OPEN SOURCE LICENSE[ - ]Version 0\.9\.1',
10509             'pat.alt.subject.license.part.intro' =>
10510             'This Motosoto Open Source License [(]the ["]License["][)]'
10511             . ' applies to ["]Community Portal Server["] and related software products',
10512             'pat.alt.subject.license.scope.multisection.part.part7' =>
10513             'Versions of This License'
10514             . '[.][ ][*)]'
10515             . 'Version[. ]The Motosoto Open Source License is derived',
10516             };
10517              
10518             =item * mpich2
10519              
10520             I
10521              
10522             =cut
10523              
10524             $RE{mpich2} = {
10525             name => 'mpich2',
10526             'name.alt.org.spdx.since.date_20140807' => 'mpich2',
10527             'name.alt.org.wikidata.synth.nogrant' => 'Q17070027',
10528             caption => 'mpich2 License',
10529             'caption.alt.org.fedora' => 'mpich2 License',
10530             'caption.alt.org.wikidata' => 'MPICH2 license',
10531             'summary.alt.org.fedora.iri.mit' => 'MIT-style license, mpich2 variant',
10532             tags => [
10533             'family:mit',
10534             'license:is:grant',
10535             'type:unversioned',
10536             ],
10537              
10538             'pat.alt.subject.license.scope.paragraph' => $P{perm_granted}
10539             . $P{to_reproduce} . '[. ]'
10540             . 'This software was authored by',
10541             };
10542              
10543             =item * mpl
10544              
10545             =item * mpl_1
10546              
10547             I
10548              
10549             =item * mpl_1_1
10550              
10551             I
10552              
10553             =item * mpl_2
10554              
10555             I
10556              
10557             =item * mpl_2_no_copyleft_exception
10558              
10559             I
10560              
10561             =cut
10562              
10563             $RE{mpl} = {
10564             name => 'MPL',
10565             'name.alt.org.wikidata.synth.nogrant' => 'Q308915',
10566             caption => 'Mozilla Public License',
10567             'caption.alt.org.wikipedia' => 'Mozilla Public License',
10568             iri => 'https://www.mozilla.org/MPL',
10569             tags => [
10570             'type:versioned:decimal',
10571             ],
10572              
10573             'pat.alt.subject.name' => "$the?Mozilla Public Licen[cs]e"
10574             . '(?: [(]["]?(?:[http://]mozilla.org/)?MPL["]?[)])?'
10575             . "(?: (?:as )?published by $the\{0,2}Mozilla Foundation)?",
10576             };
10577              
10578             $RE{mpl_1} = {
10579             name => 'MPL-1.0',
10580             'name.alt.org.fedora' => 'MPLv1.0',
10581             'name.alt.org.osi' => 'MPL-1.0',
10582             'name.alt.org.osi.iri.stem.until.date_20110430' => 'mozilla1.0',
10583             'name.alt.org.perl' => 'mozilla_1_0',
10584             'name.alt.org.spdx' => 'MPL-1.0',
10585             'name.alt.org.wikidata.synth.nogrant' => 'Q26737738',
10586             'name.alt.misc.fossology_old' => 'Mozilla1.0',
10587             'name.alt.misc.fossology_old_short' => 'MPL_v1.0',
10588             caption => 'Mozilla Public License 1.0',
10589             'caption.alt.org.fedora' => 'Mozilla Public License v1.0',
10590             'caption.alt.org.osi' => 'The Mozilla Public License (MPL), version 1.0',
10591             'caption.alt.org.osi.misc.list' => 'Mozilla Public License 1.0',
10592             'caption.alt.org.osi.misc.do_not_use_list' =>
10593             'Mozilla Public License, version 1.0',
10594             'caption.alt.org.perl' => 'Mozilla Public License, Version 1.0',
10595             'caption.alt.org.tldr' => 'Mozilla Public License 1.0 (MPL-1.0)',
10596             'caption.alt.org.trove' => 'Mozilla Public License 1.0 (MPL)',
10597             'caption.alt.org.wikidata' => 'Mozilla Public License, version 1.0',
10598             'caption.alt.misc.trove' => 'Mozilla Public License 1.0 (MPL)',
10599             description => <<'END',
10600             Origin: Netscape Public License 1.0
10601             END
10602             tags => [
10603             'license:contains:grant',
10604             'type:singleversion:mpl',
10605             ],
10606             licenseversion => '1.0',
10607              
10608             'pat.alt.subject.license.scope.multiparagraph.part.head' =>
10609             'MOZILLA PUBLIC LICENSE[ ]Version 1\.0[ ]' . '[*)]Definitions',
10610             };
10611              
10612             $RE{mpl_1_1} = {
10613             name => 'MPL-1.1',
10614             'name.alt.org.fedora' => 'MPLv1.1',
10615             'name.alt.org.osi' => 'MPL-1.1',
10616             'name.alt.org.osi.iri.stem.until.date_20110430' => 'mozilla1.1',
10617             'name.alt.org.perl' => 'mozilla_1_1',
10618             'name.alt.org.spdx' => 'MPL-1.1',
10619             'name.alt.org.wikidata.synth.nogrant' => 'Q26737735',
10620             'name.alt.misc.fossology_old' => 'Mozilla1.1',
10621             'name.alt.misc.fossology_old_short' => 'MPL_v1.1',
10622             caption => 'Mozilla Public License 1.1',
10623             'caption.alt.org.fedora' => 'Mozilla Public License v1.1',
10624             'caption.alt.org.osi.misc.do_not_use_list' =>
10625             'Mozilla Public License, version 1.1',
10626             'caption.alt.org.perl' => 'Mozilla Public License, Version 1.1',
10627             'caption.alt.org.tldr' => 'Mozilla Public License 1.1 (MPL-1.1)',
10628             'caption.alt.org.trove' => 'Mozilla Public License 1.1 (MPL 1.1)',
10629             'caption.alt.org.trove.misc.short' => 'MPL 1.1',
10630             'caption.alt.org.wikidata' => 'Mozilla Public License, version 1.1',
10631             'caption.alt.misc.trove' => 'Mozilla Public License 1.1 (MPL 1.1)',
10632             tags => [
10633             'license:contains:grant',
10634             'type:singleversion:mpl',
10635             ],
10636             licenseversion => '1.1',
10637              
10638             'pat.alt.subject.license.scope.multiparagraph.part.head' =>
10639             'Mozilla Public License Version 1\.1[ ]' . '[*)]Definitions',
10640             };
10641              
10642             $RE{mpl_2} = {
10643             name => 'MPL-2.0',
10644             'name.alt.org.fedora' => 'MPLv2.0',
10645             'name.alt.org.osi' => 'MPL-2.0',
10646             'name.alt.org.spdx' => 'MPL-2.0',
10647             'name.alt.org.tldr' => 'mozilla-public-license-2.0-(mpl-2)',
10648             'name.alt.org.wikidata.synth.nogrant' => 'Q25428413',
10649             'name.alt.misc.fossology_old' => 'MPL_v2.0',
10650             caption => 'Mozilla Public License 2.0',
10651             'caption.alt.org.fedora' => 'Mozilla Public License v2.0',
10652             'caption.alt.org.osi' => 'Mozilla Public License 2.0',
10653             'caption.alt.org.tldr' => 'Mozilla Public License 2.0 (MPL-2.0)',
10654             'caption.alt.org.trove' => 'Mozilla Public License 2.0 (MPL 2.0)',
10655             'caption.alt.org.trove.misc.short' => 'MPL 2.0',
10656             'caption.alt.org.wikidata' => 'Mozilla Public License, version 2.0',
10657             'caption.alt.misc.trove' => 'Mozilla Public License 2.0 (MPL 2.0)',
10658             tags => [
10659             'license:contains:grant',
10660             'type:singleversion:mpl',
10661             ],
10662             licenseversion => '2.0',
10663              
10664             'pat.alt.subject.license.scope.multiparagraph.part.head' =>
10665             'Mozilla Public License Version 2\.0[ ]' . '[*)]Definitions',
10666             };
10667              
10668             $RE{mpl_2_no_copyleft_exception} = {
10669             name => 'MPL-2.0-no-copyleft-exception',
10670             'name.alt.org.spdx' => 'MPL-2.0-no-copyleft-exception',
10671             caption => 'Mozilla Public License 2.0 (no copyleft exception)',
10672             description => <<'END',
10673             Usage: When the MPL\'s Exhibit B is used,
10674             which effectively negates the copyleft compatibility clause in section 3.3.
10675             END
10676             tags => [
10677             'type:usage:ofl_1:no_copyleft_exception',
10678             ],
10679             };
10680              
10681             =item * ms_cl
10682              
10683             I
10684              
10685             =cut
10686              
10687             $RE{ms_cl} = {
10688             name => 'MS-CL',
10689             caption => 'Microsoft Shared Source Community License',
10690             caption => 'Microsoft Shared Source Community License (MS-CL)',
10691             'caption.alt.org.tldr' =>
10692             'Microsoft Shared Source Community License (MS-CL)',
10693             tags => [
10694             'type:unversioned',
10695             ],
10696              
10697             'pat.alt.subject.license.scope.line.scope.sentence' =>
10698             'If you distribute the larger work as a series of files, you must grant',
10699             };
10700              
10701             =item * ms_pl
10702              
10703             =cut
10704              
10705             $RE{ms_pl} = {
10706             name => 'MS-PL',
10707             'name.alt.org.fedora' => 'MS-PL',
10708             'name.alt.org.osi' => 'MS-PL',
10709             'name.alt.org.osi.iri.stem.until.date_20110430' => 'ms-pl',
10710             'name.alt.org.spdx' => 'MS-PL',
10711             'name.alt.org.tldr.path.short' => 'mspl',
10712             'name.alt.org.wikidata.synth.nogrant' => 'Q15477153',
10713             'name.alt.misc.fossology_old' => 'Ms-PL',
10714             caption => 'Microsoft Public License',
10715             'caption.alt.org.tldr' => 'Microsoft Public License (Ms-PL)',
10716             'iri.alt.org.wikipedia' =>
10717             'https://en.wikipedia.org/wiki/Shared_source#Microsoft_Public_License_(Ms-PL)',
10718             tags => [
10719             'license:is:grant',
10720             'type:unversioned',
10721             ],
10722              
10723             'pat.alt.subject.license.scope.multiparagraph' =>
10724             'Microsoft Public License [(]Ms-PL[)][ ]This license governs use',
10725             };
10726              
10727             =item * ms_rl
10728              
10729             =cut
10730              
10731             $RE{ms_rl} = {
10732             name => 'MS-RL',
10733             'name.alt.org.fedora' => 'MS-RL',
10734             'name.alt.org.osi' => 'MS-RL',
10735             'name.alt.org.osi.iri.stem.until.date_20110430' => 'ms-rl',
10736             'name.alt.org.spdx' => 'MS-RL',
10737             'name.alt.org.tldr.path.short' => 'nsrl',
10738             'name.alt.org.wikidata.synth.nogrant' => 'Q1772828',
10739             'name.alt.misc.fossology_old' => 'Ms-RL',
10740             caption => 'Microsoft Reciprocal License',
10741             'caption.alt.org.tldr' => 'Microsoft Reciprocal License (Ms-RL)',
10742             'iri.alt.org.wikipedia' =>
10743             'https://en.wikipedia.org/wiki/Shared_source#Microsoft_Reciprocal_License_(Ms-RL)',
10744             tags => [
10745             'license:is:grant',
10746             'type:unversioned',
10747             ],
10748              
10749             'pat.alt.subject.license.part.part3a' =>
10750             'Reciprocal Grants[-]For any file you distribute that contains code',
10751             'pat.alt.subject.license.scope.multiparagraph' =>
10752             'Microsoft Reciprocal License [(]Ms[-]RL[)][ ]This license governs use',
10753             };
10754              
10755             =item * mulan
10756              
10757             I
10758              
10759             =item * mulan_1
10760              
10761             I
10762              
10763             =item * mulan_2
10764              
10765             I
10766              
10767             =cut
10768              
10769             $RE{mulan} = {
10770             name => 'MulanPSL',
10771             caption => 'Mulan Permissive Software License',
10772             'caption.alt.lang.zh_CN' => '木兰宽松许可证',
10773             tags => [
10774             'type:versioned:decimal',
10775             ],
10776             };
10777              
10778             $RE{mulan_1} = {
10779             name => 'MulanPSL-1',
10780             'name.alt.org.spdx.since.date_20191022' => 'MulanPSL-1.0',
10781             'name.alt.org.wikidata.synth.nogrant' => 'Q66563953',
10782             caption => 'Mulan Permissive Software License, Version 1',
10783             'caption.alt.lang.zh_CN' => '木兰宽松许可证, 第1版',
10784             'caption.alt.misc.shortname' => 'Mulan PSL v1',
10785             iri => 'https://license.coscl.org.cn/MulanPSL',
10786             tags => [
10787             'license:contains:grant',
10788             'type:singleversion:mulan',
10789             ],
10790             licenseversion => '1.0',
10791              
10792             'pat.alt.subject.license.scope.sentence.part.intro' =>
10793             'Your reproduction, use, modification and distribution'
10794             . ' of the Software'
10795             . ' shall be subject to Mulan PSL v1 [(]this License[)]'
10796             . ' with following',
10797             'pat.alt.subject.license.scope.sentence.part.intro.lang.zh_CN' =>
10798             '您对["]软件["]的复制[, ]使用'
10799             . '[, ]修改及分发受木兰宽松许可证[, ]第1版[(]["]本许可证["][)]'
10800             . '的如下条款的约束',
10801             'pat.alt.subject.license.scope.multisection.part.grant' =>
10802             '[*]Software Name[*] is licensed under the Mulan PSL v1[. ]'
10803             . 'You can use this software'
10804             . ' according to the terms and conditions of the Mulan PSL v1'
10805             };
10806              
10807             $RE{mulan_2} = {
10808             name => 'MulanPSL-2',
10809             'name.alt.org.osi' => 'MulanPSL-2.0',
10810             'name.alt.org.spdx.since.date_20200515' => 'MulanPSL-2.0',
10811             'name.alt.org.wikidata.synth.nogrant' => 'Q99634430',
10812             caption => 'Mulan Permissive Software License, Version 2',
10813             'caption.alt.lang.zh_CN' => '木兰宽松许可证, 第2版',
10814             'caption.alt.org.osi' => 'Mulan Permissive Software License v2',
10815             'caption.alt.org.osi.misc.shortname' => 'MulanPSL - 2.0',
10816             'caption.alt.misc.shortname' => 'Mulan PSL v2',
10817             iri => 'https://license.coscl.org.cn/MulanPSL2',
10818             tags => [
10819             'license:contains:grant',
10820             'type:singleversion:mulan',
10821             ],
10822             licenseversion => '2.0',
10823              
10824             'pat.alt.subject.license.scope.sentence.part.intro' =>
10825             'Your reproduction, use, modification and distribution'
10826             . ' of the Software'
10827             . ' shall be subject to Mulan PSL v2 [(]this License[)]'
10828             . ' with the following terms and conditions',
10829             'pat.alt.subject.license.scope.sentence.part.intro.lang.zh_CN' =>
10830             '您对["]软件["]的复制[, ]使用'
10831             . '[, ]修改及分发受木兰宽松许可证[, ]第2版[(]["]本许可证["][)]'
10832             . '的如下条款的约束',
10833             'pat.alt.subject.license.scope.multisection.part.grant' =>
10834             '[*]Software Name[*] is licensed under Mulan PSL v2[. ]'
10835             . 'You can use this software'
10836             . ' according to the terms and conditions of the Mulan PSL v2',
10837             };
10838              
10839             =item * multics
10840              
10841             I
10842              
10843             =cut
10844              
10845             $RE{multics} = {
10846             name => 'Multics',
10847             'name.alt.org.osi' => 'Multics',
10848             'name.alt.org.osi.iri.stem.until.date_20110430' => 'multics',
10849             'name.alt.org.spdx' => 'Multics',
10850             'name.alt.org.wikidata.synth.nogrant' => 'Q38494754',
10851             caption => 'Multics License',
10852             'caption.alt.org.tldr' => 'Multics License (Multics)',
10853             description => <<'END',
10854             Identical to NTP, except...
10855             * add Paragraph "Historical Background"
10856             * omit explicit permission to charge fee
10857             * replace "software" with "programs"
10858             * extend things to retain to include historical background
10859             * omit suitability disclaimer and terse "as is" warranty disclaimer
10860             * list copyrights at bottom
10861             END
10862             tags => [
10863             'family:mit',
10864             'license:is:grant',
10865             'type:unversioned',
10866             ],
10867              
10868             'pat.alt.subject.license.scope.line.scope.sentence.part.intro' =>
10869             'This edition of the Multics software materials and documentation',
10870             'pat.alt.subject.license.scope.line.scope.sentence.part.permissions_first'
10871             => 'Permission to use, copy, modify, and distribute these programs',
10872             'pat.alt.subject.license.scope.sentence.part.permissions_middle' =>
10873             'copyright notice and(?: this)? historical background appear',
10874             };
10875              
10876             =item * nasa
10877              
10878             I
10879              
10880             =item * nasa_1_3
10881              
10882             I
10883              
10884             =cut
10885              
10886             $RE{nasa} = {
10887             name => 'NASA',
10888             'name.alt.misc.abbrev' => 'NOSA',
10889             'name.alt.org.wikidata.synth.nogrant' => 'Q6952418',
10890             caption => 'NASA Open Source Agreement',
10891             'caption.alt.org.wikipedia' => 'NASA Open Source Agreement',
10892             tags => [
10893             'type:versioned:decimal',
10894             ],
10895             };
10896              
10897             $RE{nasa_1_3} = {
10898             name => 'NASA-1.3',
10899             'name.alt.org.osi' => 'NASA-1.3',
10900             'name.alt.org.osi.iri.stem.until.date_20110430' => 'nasa1.3',
10901             'name.alt.org.spdx' => 'NASA-1.3',
10902             'name.alt.misc.fossology_old' => 'NASA_v1.3',
10903             'name.alt.misc.fossology_old_short' => 'NASA1.3',
10904             caption => 'NASA Open Source Agreement 1.3',
10905             'caption.alt.org.fedora' => 'NASA Open Source Agreement v1.3',
10906             'caption.alt.org.fedora.iri.self.synth.nogrant' =>
10907             'NASA Open Source Agreement',
10908             'caption.alt.org.osi' => 'NASA Open Source Agreement v1.3',
10909             'caption.alt.org.osi.misc.list' => 'NASA Open Source Agreement 1.3',
10910             'caption.alt.org.tldr' => 'NASA Open Source Agreement 1.3 (NASA-1.3)',
10911             iri => 'https://ti.arc.nasa.gov/opensource/nosa/',
10912             tags => [
10913             'type:singleversion:nasa',
10914             ],
10915             licenseversion => '1.3',
10916              
10917             'pat.alt.subject.license.scope.line.scope.sentence.part.definitions' =>
10918             '["]Contributor["] means Government Agency',
10919             };
10920              
10921             =item * naumen
10922              
10923             I
10924              
10925             =cut
10926              
10927             $RE{naumen} = {
10928             name => 'Naumen',
10929             'name.alt.org.fedora' => 'Naumen',
10930             'name.alt.org.osi' => 'Naumen',
10931             'name.alt.org.osi.iri.stem.until.date_20110430' => 'naumen',
10932             'name.alt.org.spdx' => 'Naumen',
10933             'name.alt.org.wikidata.synth.nogrant' => 'Q38495690',
10934             'name.alt.misc.fossology_old' => 'NAUMEN',
10935             caption => 'Naumen Public License',
10936             'caption.alt.org.osi' => 'NAUMEN Public License',
10937             'caption.alt.org.osi.misc.list' => 'Naumen Public License',
10938             'caption.alt.org.tldr' => 'Naumen Public License (Naumen)',
10939             'caption.alt.org.wikidata' => 'NAUMEN Public License',
10940             tags => [
10941             'family:bsd',
10942             'license:contains:license:bsd_3_clause',
10943             'license:is:grant',
10944             'type:unversioned',
10945             ],
10946              
10947             'pat.alt.subject.license.scope.multisection.part.part2_3' =>
10948             $P{repro_copr_cond_discl}
10949             . '[.][ ]' . '[*)]'
10950             . 'The name NAUMEN[tm] must not '
10951             . $P{used_endorse_deriv}
10952             . $P{without_prior_written},
10953             'pat.alt.subject.license.scope.sentence.part.part3' =>
10954             'The name NAUMEN[tm] must not be used to endorse',
10955             };
10956              
10957             =item * nbpl
10958              
10959             I
10960              
10961             =item * nbpl_1
10962              
10963             I
10964              
10965             =cut
10966              
10967             $RE{nbpl} = {
10968             name => 'NBPL',
10969             caption => 'Net Boolean Public License',
10970             tags => [
10971             'type:versioned:decimal',
10972             ],
10973             };
10974              
10975             $RE{nbpl_1} = {
10976             name => 'NBPL-1.0',
10977             'name.alt.org.spdx' => 'NBPL-1.0',
10978             caption => 'Net Boolean Public License v1',
10979             'caption.alt.org.spdx.since.date_20130117' =>
10980             'Net Boolean Public License v1',
10981             'caption.alt.org.tldr' => 'Net Boolean Public License v1 (NBPL-1.0)',
10982             description => <<'END',
10983             Identical to OLDAP-1.1, exept...
10984             * title
10985             * copyright holder
10986             END
10987             tags => [
10988             'type:singleversion:nbpl',
10989             ],
10990             licenseversion => '1.0',
10991              
10992             'pat.alt.subject.license.scope.multisection.part.header' =>
10993             'The Net Boolean Public License[ ]Version 1, 22 August 1998',
10994             };
10995              
10996             =item * ncsa
10997              
10998             I
10999              
11000             =cut
11001              
11002             $RE{ncsa} = {
11003             name => 'NCSA',
11004             'name.alt.org.fedora' => 'NCSA',
11005             'name.alt.org.osi' => 'NCSA',
11006             'name.alt.org.osi.iri.stem.until.date_20110430' => 'UoI-NCSA',
11007             'name.alt.org.spdx' => 'NCSA',
11008             'name.alt.org.wikidata.synth.nogrant' => 'Q2495855',
11009             caption => 'University of Illinois/NCSA Open Source License',
11010             'caption.alt.org.fedora' =>
11011             'NCSA/University of Illinois Open Source License',
11012             'caption.alt.misc.short' => 'UIUC license',
11013             'caption.alt.org.osi' =>
11014             'The University of Illinois/NCSA Open Source License',
11015             'caption.alt.org.osi.misc.list' =>
11016             'University of Illinois/NCSA Open Source License',
11017             'caption.alt.org.tldr' =>
11018             'University of Illinois - NCSA Open Source License (NCSA)',
11019             'caption.alt.org.tldr.path.short' => 'ncsa',
11020             'caption.alt.org.trove' =>
11021             'University of Illinois/NCSA Open Source License',
11022             'caption.alt.org.wikipedia' =>
11023             'University of Illinois/NCSA Open Source License',
11024             description => <<'END',
11025             Identical to MIT (Expat), except...
11026             * replace retain-copyright-notices clause with BSD 3 Clause clauses
11027              
11028             Identical to BSD 3 Clause, except...
11029             * add MIT permissions clause
11030             * replace disclaimers with MIT disclaimers
11031             END
11032             iri =>
11033             'http://otm.illinois.edu/disclose-protect/illinois-open-source-license',
11034             tags => [
11035             'license:contains:license:bsd_3_clause',
11036             'license:contains:license:mit_new',
11037             'license:is:grant',
11038             'type:unversioned',
11039             ],
11040              
11041             'pat.alt.subject.license.scope.sentence' =>
11042             $P{to_copy_sublicence_conditions}
11043             . '[:]?[ ][*)]'
11044             . $P{retain_notice_cond_discl},
11045             };
11046              
11047             =item * ngpl
11048              
11049             =cut
11050              
11051             $RE{ngpl} = {
11052             name => 'NGPL',
11053             'name.alt.org.fedora' => 'NGPL',
11054             'name.alt.org.osi' => 'NGPL',
11055             'name.alt.org.osi.iri.stem.until.date_20110430' => 'nethack',
11056             'name.alt.org.spdx' => 'NGPL',
11057             'name.alt.org.wikidata.synth.nogrant' => 'Q20764732',
11058             'name.alt.misc.fossology_old' => 'Nethack',
11059             caption => 'Nethack General Public License',
11060             'caption.alt.org.osi' => 'The Nethack General Public License',
11061             'caption.alt.org.osi.misc.list' => 'Nethack General Public License',
11062             'caption.alt.org.tldr' => 'Nethack General Public License (NGPL)',
11063             'caption.alt.org.trove' => 'Nethack General Public License',
11064             tags => [
11065             'type:unversioned',
11066             ],
11067              
11068             'pat.alt.subject.license' =>
11069             'You may copy and distribute verbatim copies of NetHack',
11070             };
11071              
11072             =item * nokia
11073              
11074             I
11075              
11076             =cut
11077              
11078             $RE{nokia} = {
11079             name => 'Nokia',
11080             'name.alt.org.fedora' => 'Nokia',
11081             'name.alt.org.osi' => 'Nokia',
11082             'name.alt.org.osi.iri.stem.until.date_20110430' => 'nokia',
11083             'name.alt.org.osi.misc.upper' => 'NOKIA',
11084             'name.alt.org.spdx' => 'Nokia',
11085             'name.alt.org.trove' => 'NOKOS',
11086             'name.alt.org.wikidata.synth.nogrant' => 'Q38495954',
11087             'name.alt.misc.fossology_old' => 'Nokia_v1.0a',
11088             caption => 'Nokia Open Source License',
11089             'caption.alt.org.osi' => 'Nokia Open Source License Version 1.0a',
11090             'caption.alt.org.osi.misc.list' => 'Nokia Open Source License',
11091             'caption.alt.org.trove' => 'Nokia Open Source License',
11092             'caption.alt.misc.legal' => 'NOKOS License Version 1.0',
11093             'caption.alt.org.tldr' =>
11094             'Nokia Open Source License (Nokia Open Source License)',
11095             'caption.alt.org.trove' => 'Nokia Open Source License',
11096             'caption.alt.org.trove.misc.long' => 'Nokia Open Source License (NOKOS)',
11097             description => <<'END',
11098             Origin: Possibly Mozilla Public License
11099             END
11100             tags => [
11101             'type:unversioned',
11102             ],
11103              
11104             'pat.alt.subject.name.misc.free' =>
11105             '(?:Nokia|NOKOS)(?: Open Source)?(?: [Ll]icen[cs]e)?' . '(?:'
11106             . $RE{version_prefix}
11107             {'pat.alt.subject.trait.scope.line.scope.sentence'}
11108             . '1\.0a?)?',
11109             'pat.alt.subject.license.scope.line.scope.sentence.part.definitions' =>
11110             '["]Affiliates["] of a party shall mean an entity',
11111             };
11112              
11113             =item * nosl
11114              
11115             I
11116              
11117             =item * nosl_1
11118              
11119             I
11120              
11121             =cut
11122              
11123             $RE{nosl} = {
11124             name => 'NOSL',
11125             caption => 'Netizen Open Source License',
11126             'caption.alt.org.tldr' => 'Netizen Open Source License (NOSL)',
11127             tags => [
11128             'type:versioned:decimal',
11129             ],
11130             };
11131              
11132             $RE{nosl_1} = {
11133             name => 'NOSL-1.0',
11134             'name.alt.org.fedora.synth.nogrant' => 'NOSL',
11135             'name.alt.org.spdx.synth.nogrant' => 'NOSL',
11136             caption => 'Netizen Open Source License 1.0',
11137             'caption.alt.org.fedora.synth.nogrant' => 'Netizen Open Source License',
11138             'caption.alt.org.spdx.since.date_20130117.synth.nogrant' =>
11139             'Netizen Open Source License',
11140             description => <<'END',
11141             Origin: Mozilla Public License 1.1
11142              
11143             Identical to Mozilla Pulbic License 1.0, except...
11144             * replace "Mozilla", "Netscape", "MPL" etc. with "Netizen" and "NOSL" in section 6
11145             * add disclaimer as section 7.1
11146             * change requirement of governance from California to Australia in section 11
11147             END
11148             tags => [
11149             'license:contains:grant',
11150             'type:singleversion:nosl',
11151             ],
11152             licenseversion => '1.0',
11153              
11154             'pat.alt.subject.license.scope.multiparagraph.part.head' =>
11155             'NETIZEN OPEN SOURCE LICENSE[ ]Version 1\.0[ ]' . '[*)]Definitions',
11156             };
11157              
11158             =item * npl
11159              
11160             =item * npl_1
11161              
11162             =item * npl_1_1
11163              
11164             =cut
11165              
11166             $RE{npl} = {
11167             name => 'NPL',
11168             'name.alt.org.wikidata.synth.nogrant' => 'Q2306611',
11169             'name.alt.misc.fossology_old_vague.synth.nogrant' => 'Netscape',
11170             caption => 'Netscape Public License',
11171             'caption.alt.org.trove' => 'Netscape Public License (NPL)',
11172             'caption.alt.org.wikipedia' => 'Netscape Public License',
11173             tags => [
11174             'type:versioned:decimal',
11175             ],
11176             };
11177              
11178             $RE{npl_1} = {
11179             name => 'NPL-1.0',
11180             'name.alt.org.fedora.synth.nogrant' => 'Netscape',
11181             'name.alt.org.spdx.since.date_20130117' => 'NPL-1.0',
11182             'name.alt.misc.fossology_old' => 'NPL_v1.0',
11183             caption => 'Netscape Public License v1.0',
11184             'caption.alt.org.fedora.synth.nogrant' => 'Netscape Public License',
11185             iri =>
11186             'https://website-archive.mozilla.org/www.mozilla.org/mpl/MPL/NPL/1.0/',
11187             tags => [
11188             'type:singleversion:npl',
11189             ],
11190             licenseversion => '1.0',
11191              
11192             'pat.alt.subject.license.scope.multiparagraph' =>
11193             'NETSCAPE PUBLIC LICENSE[ ]Version 1\.0[ ][*)]Definitions[.]',
11194             };
11195              
11196             $RE{npl_1_1} = {
11197             name => 'NPL-1.1',
11198             'name.alt.org.spdx.since.date_20130117' => 'NPL-1.1',
11199             caption => 'Netscape Public License v1.1',
11200             'caption.alt.org.tldr' => 'Netscape Public License v1.1 (NPL-1.1)',
11201             'name.alt.misc.fossology_old' => 'NPL_v1.1',
11202             'name.alt.misc.fossology_old_long' => 'Netscape1.1',
11203             iri =>
11204             'https://website-archive.mozilla.org/www.mozilla.org/mpl/MPL/NPL/1.1/',
11205             tags => [
11206             'type:singleversion:npl',
11207             ],
11208             licenseversion => '1.1',
11209              
11210             'pat.alt.subject.license' =>
11211             'The Netscape Public License Version 1\.1 [(]["]NPL["][)] consists of',
11212             };
11213              
11214             =item * nposl
11215              
11216             I
11217              
11218             =item * nposl_3
11219              
11220             I
11221              
11222             =cut
11223              
11224             $RE{nposl} = {
11225             name => 'NPOSL',
11226             'name.alt.org.wikidata.synth.nogrant' => 'Q38495282',
11227             caption => 'Non-Profit Open Software License',
11228             tags => [
11229             'type:versioned:decimal',
11230             ],
11231             };
11232              
11233             $RE{nposl_3} = {
11234             name => 'NPOSL-3.0',
11235             'name.alt.org.osi' => 'NPOSL-3.0',
11236             'name.alt.org.osi.iri.stem.until.date_20110430' => 'NOSL3.0',
11237             'name.alt.org.spdx' => 'NPOSL-3.0',
11238             caption => 'Non-Profit Open Software License 3.0',
11239             'caption.alt.org.osi' =>
11240             'The Non-Profit Open Software License version 3.0',
11241             'caption.alt.org.osi.misc.list' => 'Non-Profit Open Software License 3.0',
11242             'caption.alt.org.tldr' =>
11243             'Non-Profit Open Software License 3.0 (NPOSL-3.0)',
11244             description => <<'END',
11245             Identical to Open Software License 3.0, except...
11246             * drop provenance warranty
11247             * add Non-Profit Amendment
11248             * rename license name
11249             END
11250             tags => [
11251             'license:contains:grant',
11252             'type:singleversion:nposl',
11253             ],
11254             licenseversion => '3.0',
11255              
11256             'pat.alt.subject.license.scope.multisection.part.part1' =>
11257             'Licensed under the Non-Profit Open Software License version 3\.0[ ]'
11258             . '[*)]Grant of Copyright License[.]',
11259             'pat.alt.subject.license.scope.paragraph' =>
11260             'Warranty of Provenance and Disclaimer of Warranty'
11261             . '[. ]The Original Work is provided',
11262             };
11263              
11264             =item * ntp
11265              
11266             =cut
11267              
11268             $RE{ntp} = {
11269             name => 'NTP',
11270             'name.alt.org.osi' => 'NTP',
11271             'name.alt.org.osi.iri.stem.until.date_20110430' => 'ntp-license',
11272             'name.alt.org.spdx' => 'NTP',
11273             'name.alt.org.wikidata.synth.nogrant' => 'Q38495487',
11274             caption => 'NTP License',
11275             'caption.alt.org.tldr' => 'NTP License (NTP)',
11276             'summary.alt.org.fedora.iri.mit' => 'MIT-style license, NTP variant',
11277             tags => [
11278             'family:mit',
11279             'license:is:grant',
11280             'type:unversioned',
11281             ],
11282              
11283             'pat.alt.subject.license' => $P{asis_expr_warranty},
11284             };
11285              
11286             =item * ntp_disclaimer
11287              
11288             =cut
11289              
11290             $RE{ntp_disclaimer} = {
11291             'name.alt.org.debian' => 'NTP~disclaimer',
11292             caption => 'NTP License (legal disclaimer)',
11293             tags => [
11294             'family:mit',
11295             'license:is:grant',
11296             'type:unversioned',
11297             ],
11298              
11299             'pat.alt.subject.license.scope.paragraph' => $P{asis_expr_warranty}
11300             . '[. ]'
11301             . $P{discl_name_warranties},
11302             };
11303              
11304             =item * oclc
11305              
11306             =item * oclc_1
11307              
11308             =item * oclc_2
11309              
11310             =cut
11311              
11312             $RE{oclc} = {
11313             name => 'OCLC',
11314             'name.alt.org.wikidata.synth.nogrant' => 'Q38496210',
11315             caption => 'OCLC Research Public License',
11316             tags => [
11317             'type:versioned:decimal',
11318             ],
11319             };
11320              
11321             $RE{oclc_1} = {
11322             name => 'OCLC-1.0',
11323             'name.alt.misc.fossology_old' => 'OCLC_v1.0',
11324             caption => 'OCLC Research Public License 1.0',
11325             tags => [
11326             'type:singleversion:oclc',
11327             ],
11328             licenseversion => '1.0',
11329              
11330             'pat.alt.subject.license' =>
11331             'If you distribute the Program or any derivative work of',
11332             };
11333              
11334             $RE{oclc_2} = {
11335             name => 'OCLC-2.0',
11336             'name.alt.org.osi' => 'OCLC-2.0',
11337             'name.alt.org.osi.iri.stem.until.date_20110430' => 'oclc2',
11338             'name.alt.org.spdx' => 'OCLC-2.0',
11339             'name.alt.misc.fossology_old' => 'OCLC_v2.0',
11340             caption => 'OCLC Research Public License 2.0',
11341             'caption.alt.org.fedora' => 'OCLC Public Research License 2.0',
11342             'caption.alt.org.osi' => 'The OCLC Research Public License 2.0 License',
11343             'caption.alt.org.osi.misc.list' => 'OCLC Research Public License 2.0',
11344             'caption.alt.org.tldr' => 'OCLC Research Public License 2.0 (OCLC-2.0)',
11345             tags => [
11346             'type:singleversion:oclc',
11347             ],
11348             licenseversion => '2.0',
11349              
11350             'pat.alt.subject.license' =>
11351             'The Program must be distributed without charge beyond',
11352             };
11353              
11354             =item * odbl
11355              
11356             I
11357              
11358             =item * odbl_1
11359              
11360             I
11361              
11362             =cut
11363              
11364             $RE{odbl} = {
11365             name => 'ODbL',
11366             'name.alt.org.wikidata.synth.nogrant' => 'Q1224853',
11367             caption => 'ODC Open Database License',
11368             'caption.alt.org.wikidata' => 'Open Database License',
11369             tags => [
11370             'type:versioned:decimal',
11371             ],
11372             };
11373              
11374             $RE{odbl_1} = {
11375             name => 'ODbL-1.0',
11376             'name.alt.org.spdx' => 'ODbL-1.0',
11377             caption => 'ODC Open Database License v1.0',
11378             'caption.alt.org.tldr.synth.nogrant' =>
11379             'ODC Open Database License (ODbL)',
11380             tags => [
11381             'type:singleversion:odbl',
11382             ],
11383             licenseversion => '1.0',
11384              
11385             'pat.alt.subject.license.scope.line.scope.sentence.part.intro' =>
11386             'The Open Database License [(]ODbL[)] is a license agreement',
11387             };
11388              
11389             =item * odc_by
11390              
11391             I
11392              
11393             =item * odc_by_1
11394              
11395             I
11396              
11397             =cut
11398              
11399             $RE{odc_by} = {
11400             name => 'ODC-By',
11401             caption => 'Open Data Commons Attribution License',
11402             tags => [
11403             'type:versioned:decimal',
11404             ],
11405             };
11406              
11407             $RE{odc_by_1} = {
11408             name => 'ODC-By-1.0',
11409             'name.alt.org.spdx.since.date_20180710' => 'ODC-By-1.0',
11410             caption => 'Open Data Commons Attribution License v1.0',
11411             tags => [
11412             'type:singleversion:odc_by',
11413             ],
11414             licenseversion => '1.0',
11415              
11416             'pat.alt.subject.license.scope.line.scope.sentence.part.intro' =>
11417             'The Open Data Commons Attribution License is a license agreement',
11418             };
11419              
11420             =item * ofl
11421              
11422             =item * ofl_1
11423              
11424             I
11425              
11426             =item * ofl_1_no_rfn
11427              
11428             I
11429              
11430             =item * ofl_1_rfn
11431              
11432             I
11433              
11434             =item * ofl_1_1
11435              
11436             I
11437              
11438             =item * ofl_1_1_no_rfn
11439              
11440             I
11441              
11442             =item * ofl_1_1_rfn
11443              
11444             I
11445              
11446             =cut
11447              
11448             $RE{ofl} = {
11449             name => 'OFL',
11450             'name.alt.org.osi.iri.stem.until.date_20110430' => 'openfont',
11451             'name.alt.org.wikidata.synth.nogrant' => 'Q1150837',
11452             caption => 'SIL Open Font License',
11453             'caption.alt.misc.shorter' => 'Open Font License',
11454             iri => 'http://scripts.sil.org/OFL',
11455             tags => [
11456             'type:versioned:decimal',
11457             ],
11458             };
11459              
11460             $RE{ofl_1} = {
11461             name => 'OFL-1.0',
11462             'name.alt.org.spdx' => 'OFL-1.0',
11463             caption => 'SIL Open Font License 1.0',
11464             tags => [
11465             'type:singleversion:ofl',
11466             ],
11467             licenseversion => '1.0',
11468              
11469             'pat.alt.subject.license' =>
11470             '["]Font Software["] refers to any and all of the following',
11471             };
11472              
11473             $RE{ofl_1_no_rfn} = {
11474             name => 'OFL-1.0-no-RFN',
11475             'name.alt.org.spdx.since.date_20200209' => 'OFL-1.0-no-RFN',
11476             caption => 'SIL Open Font License 1.0 with no Reserved Font Name',
11477             description => <<'END',
11478             Usage: Should only be used when there is no Reserved Font Name.
11479             END
11480             tags => [
11481             'type:usage:ofl_1:no_rfn',
11482             ],
11483             };
11484              
11485             $RE{ofl_1_rfn} = {
11486             name => 'OFL-1.0-RFN',
11487             'name.alt.org.spdx.since.date_20200209' => 'OFL-1.0-RFN',
11488             caption => 'SIL Open Font License 1.0 with Reserved Font Name',
11489             description => <<'END',
11490             Usage: Should only be used when a Reserved Font Name applies.
11491             END
11492             tags => [
11493             'type:usage:ofl_1:rfn',
11494             ],
11495             };
11496              
11497             $RE{ofl_1_1} = {
11498             name => 'OFL-1.1',
11499             'name.alt.org.fedora.synth.nogrant' => 'OFL',
11500             'name.alt.org.osi' => 'OFL-1.1',
11501             'name.alt.org.spdx' => 'OFL-1.1',
11502             'name.alt.org.tldr.synth.nogrant' => 'open-font-license-(ofl)-explained',
11503             caption => 'SIL Open Font License 1.1',
11504             'caption.alt.org.osi.synth.nogrant' => 'SIL OPEN FONT LICENSE',
11505             'caption.alt.org.osi.misc.list' => 'SIL Open Font License 1.1',
11506             'caption.alt.org.tldr' => 'SIL Open Font License v1.1 (OFL-1.1)',
11507             'caption.alt.org.trove' => 'SIL Open Font License 1.1 (OFL-1.1)',
11508             tags => [
11509             'type:singleversion:ofl',
11510             ],
11511             licenseversion => '1.1',
11512              
11513             'pat.alt.subject.license' =>
11514             '["]Font Software["] refers to the set of files released',
11515             };
11516              
11517             $RE{ofl_1_1_no_rfn} = {
11518             name => 'OFL-1.1-no-RFN',
11519             'name.alt.org.spdx.since.date_20200209' => 'OFL-1.1-no-RFN',
11520             caption => 'SIL Open Font License 1.1 with no Reserved Font Name',
11521             description => <<'END',
11522             Usage: Should only be used when there is no Reserved Font Name.
11523             END
11524             tags => [
11525             'type:usage:ofl_1_1:no_rfn',
11526             ],
11527             };
11528              
11529             $RE{ofl_1_1_rfn} = {
11530             name => 'OFL-1.1-RFN',
11531             'name.alt.org.spdx.since.date_20200209' => 'OFL-1.1-RFN',
11532             caption => 'SIL Open Font License 1.1 with Reserved Font Name',
11533             description => <<'END',
11534             Usage: Should only be used when a Reserved Font Name applies.
11535             END
11536             tags => [
11537             'type:usage:ofl_1_1:rfn',
11538             ],
11539             };
11540              
11541             =item * ogc
11542              
11543             I
11544              
11545             =item * ogc_1
11546              
11547             I
11548              
11549             =cut
11550              
11551             $RE{ogc} = {
11552             name => 'OGC',
11553             caption => 'OGC Software License',
11554             tags => [
11555             'type:versioned:decimal',
11556             ],
11557             };
11558              
11559             $RE{ogc_1} = {
11560             name => 'OGC-1.0',
11561             'name.alt.org.spdx.since.date_20200515' => 'OGC-1.0',
11562             caption => 'OGC Software License, Version 1.0',
11563             iri => 'https://www.ogc.org/ogc/software/1.0',
11564             tags => [
11565             'license:is:grant',
11566             'type:singleversion:ogc',
11567             ],
11568             licenseversion => '19980720',
11569              
11570             'pat.alt.subject.license.scope.line.scope.sentence.part.intro' =>
11571             'This OGC work [(]including software, documents, or other',
11572             'pat.alt.subject.license.scope.line.scope.sentence.part.clause3' =>
11573             'Notice of any changes or modifications to the OGC files',
11574             };
11575              
11576             =item * ogtsl
11577              
11578             =cut
11579              
11580             $RE{ogtsl} = {
11581             name => 'OGTSL',
11582             'name.alt.org.osi' => 'OGTSL',
11583             'name.alt.org.osi.iri.stem.until.date_20110430.synth.nogrant' =>
11584             'opengroup',
11585             'name.alt.org.spdx' => 'OGTSL',
11586             'name.alt.org.wikidata.synth.nogrant' => 'Q38686558',
11587             caption => 'Open Group Test Suite License',
11588             'caption.alt.org.fedora' => 'Open Group Test Suite License',
11589             'caption.alt.org.osi' => 'The Open Group Test Suite License',
11590             'caption.alt.org.osi.misc.list' => 'Open Group Test Suite License',
11591             'caption.alt.org.tldr' => 'Open Group Test Suite License (OGTSL)',
11592             'caption.alt.org.trove' => 'Open Group Test Suite License',
11593             tags => [
11594             'type:unversioned',
11595             ],
11596              
11597             'pat.alt.subject.license.scope.line.scope.sentence' =>
11598             'rename any non-standard executables and testcases',
11599             };
11600              
11601             =item * oldap
11602              
11603             I
11604              
11605             =item * oldap_1_1
11606              
11607             I
11608              
11609             =item * oldap_1_2
11610              
11611             I
11612              
11613             =item * oldap_1_3
11614              
11615             I
11616              
11617             =item * oldap_1_4
11618              
11619             I
11620              
11621             =item * oldap_2
11622              
11623             I
11624              
11625             =item * oldap_2_0_1
11626              
11627             I
11628              
11629             =item * oldap_2_1
11630              
11631             I
11632              
11633             =item * oldap_2_2
11634              
11635             I
11636              
11637             =item * oldap_2_2_1
11638              
11639             I
11640              
11641             =item * oldap_2_2_2
11642              
11643             I
11644              
11645             =item * oldap_2_3
11646              
11647             I
11648              
11649             =item * oldap_2_4
11650              
11651             I
11652              
11653             =item * oldap_2_5
11654              
11655             I
11656              
11657             =item * oldap_2_6
11658              
11659             I
11660              
11661             =item * oldap_2_7
11662              
11663             I
11664              
11665             =item * oldap_2_8
11666              
11667             I
11668              
11669             =cut
11670              
11671             $RE{oldap} = {
11672             name => 'OLDAP',
11673             'name.alt.org.fedora' => 'OpenLDAP',
11674             caption => 'Open LDAP Public License',
11675             'caption.alt.org.fedora' => 'OpenLDAP License',
11676             tags => [
11677             'type:versioned:decimal',
11678             ],
11679             '_pat.alt.subject.license.scope.line.scope.sentence' => [
11680             'C subroutines supplied by you',
11681             'Due credit should be given',
11682             'may revise this license from time to time',
11683             ]
11684             };
11685              
11686             $RE{oldap_1_1} = {
11687             name => 'OLDAP-1.1',
11688             'name.alt.org.spdx.since.date_20130117' => 'OLDAP-1.1',
11689             caption => 'Open LDAP Public License v1.1',
11690             tags => [
11691             'type:singleversion:oldap',
11692             ],
11693             licenseversion => '1.1',
11694              
11695             'pat.alt.subject.license.scope.multisection.part.header' =>
11696             'The OpenLDAP Public License[ ]Version 1\.1, 25 August 1998',
11697             };
11698              
11699             $RE{oldap_1_2} = {
11700             name => 'OLDAP-1.2',
11701             'name.alt.org.spdx.since.date_20130117' => 'OLDAP-1.2',
11702             'name.alt.misc.fossology_old' => 'OpenLDAP_v1.2',
11703             caption => 'Open LDAP Public License v1.2',
11704             tags => [
11705             'type:singleversion:oldap',
11706             ],
11707             licenseversion => '1.2',
11708              
11709             'pat.alt.subject.license.scope.multisection.part.header' =>
11710             'The OpenLDAP Public License[ ]Version 1\.2, 1 September 1998',
11711             };
11712              
11713             $RE{oldap_1_3} = {
11714             name => 'OLDAP-1.3',
11715             'name.alt.org.spdx.since.date_20130117' => 'OLDAP-1.3',
11716             caption => 'Open LDAP Public License v1.3',
11717             tags => [
11718             'type:singleversion:oldap',
11719             ],
11720             licenseversion => '1.3',
11721              
11722             'pat.alt.subject.license.scope.multisection.part.header' =>
11723             'The OpenLDAP Public License[ ]Version 1\.3, 17 January 1999',
11724             'pat.alt.subject.license.part.part8' =>
11725             ' and do not automatically fall under the copyright of this Package'
11726             . ', and the executables produced by linking',
11727             };
11728              
11729             $RE{oldap_1_4} = {
11730             name => 'OLDAP-1.4',
11731             'name.alt.org.spdx.since.date_20130117' => 'OLDAP-1.4',
11732             caption => 'Open LDAP Public License v1.4',
11733             tags => [
11734             'type:singleversion:oldap',
11735             ],
11736             licenseversion => '1.4',
11737              
11738             'pat.alt.subject.license.scope.multisection.part.header' =>
11739             'The OpenLDAP Public License[ ]Version 1\.4, 18 January 1999',
11740             'pat.alt.subject.license.part.part8' =>
11741             ' and do not automatically fall under the copyright of this Package'
11742             . '[. ]Executables produced by linking',
11743             };
11744              
11745             $RE{oldap_2} = {
11746             name => 'OLDAP-2.0',
11747             'name.alt.org.spdx.since.date_20130117' => 'OLDAP-2.0',
11748             caption => 'Open LDAP Public License v2',
11749             'caption.alt.org.spdx' =>
11750             'Open LDAP Public License v2.0 (or possibly 2.0A and 2.0B)',
11751             'caption.alt.misc.spdx' => 'Open LDAP Public License v2.0',
11752             'caption.alt.misc.spdx_a' => 'Open LDAP Public License v2.0A',
11753             'caption.alt.misc.spdx_b' => 'Open LDAP Public License v2.0B',
11754             tags => [
11755             'type:singleversion:oldap',
11756             ],
11757             licenseversion => '2.0',
11758              
11759             'pat.alt.subject.license.scope.multisection.part.header' =>
11760             'The OpenLDAP Public License[ ]Version 2\.0, 7 June 1999',
11761             'pat.alt.subject.license.part.clauses_minimal' =>
11762             'without prior written permission of the OpenLDAP Foundation'
11763             . '[. ]OpenLDAP is a registered trademark of the OpenLDAP Foundation',
11764             };
11765              
11766             $RE{oldap_2_0_1} = {
11767             name => 'OLDAP-2.0.1',
11768             'name.alt.org.spdx.since.date_20130117' => 'OLDAP-2.0.1',
11769             caption => 'Open LDAP Public License v2.0.1',
11770             tags => [
11771             'type:singleversion:oldap',
11772             ],
11773             licenseversion => '2.0.1',
11774              
11775             'pat.alt.subject.license.scope.multisection.part.header' =>
11776             'The OpenLDAP Public License[ ]Version 2\.0\.1, 21 December 1999',
11777             };
11778              
11779             $RE{oldap_2_1} = {
11780             name => 'OLDAP-2.1',
11781             'name.alt.org.spdx.since.date_20130117' => 'OLDAP-2.1',
11782             caption => 'Open LDAP Public License v2.1',
11783             tags => [
11784             'type:singleversion:oldap',
11785             ],
11786             licenseversion => '2.1',
11787              
11788             'pat.alt.subject.license.scope.multisection.part.header' =>
11789             'The OpenLDAP Public License[ ]Version 2\.1, 29 February 2000',
11790             };
11791              
11792             $RE{oldap_2_2} = {
11793             name => 'OLDAP-2.2',
11794             'name.alt.org.spdx.since.date_20130117' => 'OLDAP-2.2',
11795             caption => 'Open LDAP Public License v2.2',
11796             tags => [
11797             'type:singleversion:oldap',
11798             ],
11799             licenseversion => '2.2',
11800              
11801             'pat.alt.subject.license.scope.multisection.part.header' =>
11802             'The OpenLDAP Public License[ ]Version 2\.2, 1 March 2000',
11803             };
11804              
11805             $RE{oldap_2_2_1} = {
11806             name => 'OLDAP-2.2.1',
11807             'name.alt.org.spdx.since.date_20130117' => 'OLDAP-2.2.1',
11808             caption => 'Open LDAP Public License v2.2.1',
11809             tags => [
11810             'type:singleversion:oldap',
11811             ],
11812             licenseversion => '2.2.1',
11813              
11814             'pat.alt.subject.license.scope.multisection.part.header' =>
11815             'The OpenLDAP Public License[ ]Version 2\.2\.1, 1 March 2000',
11816             };
11817              
11818             $RE{oldap_2_2_2} = {
11819             name => 'OLDAP-2.2.2',
11820             'name.alt.org.spdx.since.date_20130117' => 'OLDAP-2.2.2',
11821             caption => 'Open LDAP Public License 2.2.2',
11822             tags => [
11823             'type:singleversion:oldap',
11824             ],
11825             licenseversion => '2.2.2',
11826              
11827             'pat.alt.subject.license.scope.multisection.part.header' =>
11828             'The OpenLDAP Public License[ ]Version 2\.2\.2, 28 July 2000',
11829             };
11830              
11831             $RE{oldap_2_3} = {
11832             name => 'OLDAP-2.3',
11833             'name.alt.org.spdx.since.date_20130117' => 'OLDAP-2.3',
11834             caption => 'Open LDAP Public License v2.3',
11835             tags => [
11836             'type:singleversion:oldap',
11837             ],
11838             licenseversion => '2.3',
11839              
11840             'pat.alt.subject.license.scope.multisection.part.header' =>
11841             'The OpenLDAP Public License[ ]Version 2\.3, 28 July 2000',
11842             };
11843              
11844             $RE{oldap_2_4} = {
11845             name => 'OLDAP-2.4',
11846             'name.alt.org.spdx.since.date_20130117' => 'OLDAP-2.4',
11847             caption => 'Open LDAP Public License v2.4',
11848             tags => [
11849             'type:singleversion:oldap',
11850             ],
11851             licenseversion => '2.4',
11852              
11853             'pat.alt.subject.license.scope.multisection.part.header' =>
11854             'The OpenLDAP Public License[ ]Version 2\.4, 8 December 2000',
11855             'pat.alt.subject.license.part.clauses_minimal' =>
11856             'Due credit should be given to the OpenLDAP Project[.]',
11857             };
11858              
11859             $RE{oldap_2_5} = {
11860             name => 'OLDAP-2.5',
11861             'name.alt.org.spdx.since.date_20130117' => 'OLDAP-2.5',
11862             caption => 'Open LDAP Public License v2.5',
11863             tags => [
11864             'type:singleversion:oldap',
11865             ],
11866             licenseversion => '2.5',
11867              
11868             'pat.alt.subject.license.scope.multisection.part.header' =>
11869             'The OpenLDAP Public License[ ]Version 2\.5, 11 May 2001',
11870             'pat.alt.subject.license.scope.multisection.part.clauses_minimal' =>
11871             'Due credit should be given to the authors of the Software'
11872             . '[.][ ][*)]'
11873             . 'The OpenLDAP Foundation may revise',
11874             };
11875              
11876             $RE{oldap_2_6} = {
11877             name => 'OLDAP-2.6',
11878             'name.alt.org.spdx.since.date_20130117' => 'OLDAP-2.6',
11879             caption => 'Open LDAP Public License v2.6',
11880             tags => [
11881             'type:singleversion:oldap',
11882             ],
11883             licenseversion => '2.6',
11884              
11885             'pat.alt.subject.license.scope.multisection.part.header' =>
11886             'The OpenLDAP Public License[ ]Version 2\.6, 14 June 2001',
11887             'pat.alt.subject.license.scope.multisection.part.clauses_minimal' =>
11888             ' without specific, written prior permission'
11889             . '[.][ ][*)]'
11890             . 'The OpenLDAP Foundation may revise',
11891             };
11892              
11893             $RE{oldap_2_7} = {
11894             name => 'OLDAP-2.7',
11895             'name.alt.org.spdx.since.date_20130117' => 'OLDAP-2.7',
11896             'name.alt.misc.fossology_old' => 'OpenLDAP_v2.7',
11897             caption => 'Open LDAP Public License v2.7',
11898             tags => [
11899             'type:singleversion:oldap',
11900             ],
11901             licenseversion => '2.7',
11902              
11903             'pat.alt.subject.license.scope.multisection.part.header' =>
11904             'The OpenLDAP Public License[ ]Version 2\.7, 7 September 2001',
11905             };
11906              
11907             $RE{oldap_2_8} = {
11908             name => 'OLDAP-2.8',
11909             'name.alt.org.osi' => 'OLDAP-2.8',
11910             'name.alt.org.spdx' => 'OLDAP-2.8',
11911             'name.alt.org.wikidata.synth.nogrant' => 'Q25273268',
11912             'name.alt.misc.fossology_old' => 'OpenLDAP_v2.8',
11913             'name.alt.misc.fossology_old_short' => 'OpenLDAP2.8',
11914             caption => 'Open LDAP Public License v2.8',
11915             'caption.alt.org.osi' => 'OpenLDAP Public License Version 2.8',
11916             'caption.alt.org.spdx.until.date_20150513' =>
11917             'OpenLDAP Public License v2.8',
11918             'caption.alt.org.spdx.since.date_20150513' =>
11919             'Open LDAP Public License v2.8',
11920             'caption.alt.org.tldr' => 'OpenLDAP Public License v2.8 (OLDAP-2.8)',
11921             'caption.alt.org.wikidata' => 'OpenLDAP Public License Version 2.8',
11922             tags => [
11923             'type:singleversion:oldap',
11924             ],
11925             licenseversion => '2.8',
11926              
11927             'pat.alt.subject.license.scope.multisection.part.header' =>
11928             'The OpenLDAP Public License[ ]Version 2\.8, 17 August 2003',
11929             };
11930              
11931             =item * openssl
11932              
11933             =cut
11934              
11935             $RE{openssl} = {
11936             name => 'OpenSSL',
11937             'name.alt.org.fedora' => 'OpenSSL',
11938             'name.alt.org.perl' => 'openssl',
11939             'name.alt.org.spdx' => 'OpenSSL',
11940             'name.alt.org.wikidata.synth.nogrant' => 'Q89948816',
11941             caption => 'OpenSSL License',
11942             'caption.alt.org.tldr' => 'OpenSSL License (OpenSSL)',
11943             description => <<'END',
11944             Specific instance of Apache License 1.0
11945             tied to "OpenSSL",
11946             followed by SSLeay License.
11947             END
11948             tags => [
11949             'family:bsd',
11950             'license:contains:license:apache_1',
11951             'license:contains:license:cryptix',
11952             'license:is:grant',
11953             'type:unversioned',
11954             ],
11955              
11956             'pat.alt.subject.license.scope.multisection.part.apache_1_overlap' =>
11957             $P{repro_copr_cond_discl}
11958             . '[.][ ]' . '[*)]?'
11959             . $P{ad_mat_ack_this}
11960             . 'the OpenSSL Project for use in the OpenSSL Toolkit[. ][(][http://]www\.openssl\.org[/][)]["]'
11961             . '[ ]'
11962             . '[*)]?'
11963             . $P{nopromo_neither}
11964             . '[. ]For written permission, please contact openssl[-]core[@]openssl\.org'
11965             . '[.][ ]' . '[*)]?'
11966             . 'Products derived from this software may not be called ["]OpenSSL["]',
11967             'pat.alt.subject.license.scope.paragraph.part.apache_1_overlap' =>
11968             $P{redist_ack_this}
11969             . 'the OpenSSL Project for use in the OpenSSL Toolkit',
11970             'pat.alt.subject.license.scope.multisection.part.second_half' =>
11971             $P{redist_ack_this}
11972             . 'the OpenSSL Project for use in the OpenSSL Toolkit[. ][(][http://]www\.openssl\.org[/][)]["]'
11973             . '[ ]'
11974             . $P{discl_warranties} . '[. ]'
11975             . $P{discl_liability}
11976             . '[.][ ]'
11977             . 'This product includes cryptographic software written by Eric Young [(]eay[@]cryptsoft\.com[)]'
11978             . '[. ]'
11979             . 'This product includes software written by Tim Hudson [(]tjh[@]cryptsoft\.com[)]'
11980             . '[.][ ]',
11981             };
11982              
11983             =item * opl
11984              
11985             I
11986              
11987             =item * opl_1
11988              
11989             I
11990              
11991             =cut
11992              
11993             $RE{opl} = {
11994             name => 'OPL',
11995             'name.alt.misc.shortname' => 'OpenPL',
11996             'name.alt.misc.fossology_old' => 'OpenPublication',
11997             'name.alt.misc.fossology_old_dash' => 'Open-Publication',
11998             caption => 'Open Public License',
11999             tags => [
12000             'type:versioned:decimal',
12001             ],
12002             };
12003              
12004             $RE{opl_1} = {
12005             name => 'OPL-1.0',
12006             'name.alt.org.spdx.since.date_20130117' => 'OPL-1.0',
12007             'name.alt.misc.fossology_old' => 'Open-Publication_v1.0',
12008             'name.alt.misc.fossology_old_short' => 'OpenPL_v1.0',
12009             caption => 'Open Public License v1.0',
12010             'caption.alt.org.fedora.iri.self.synth.nogrant' => 'Open Public License',
12011             'caption.alt.org.tldr' => 'Open Public License v1.0 (OPL-1.0)',
12012             'caption.alt.misc.shortname' => 'OpenPL 1.0',
12013             description => <<'END',
12014             Origin: Possibly Mozilla Public License Version 1.0
12015             END
12016             tags => [
12017             'type:singleversion:opl',
12018             ],
12019             licenseversion => '1.0',
12020              
12021             'pat.alt.subject.license.scope.line.scope.sentence.part.definitions' =>
12022             '["]License Author["] means Lutris Technologies, Inc',
12023             };
12024              
12025             =item * oset_pl
12026              
12027             I
12028              
12029             =item * oset_pl_2_1
12030              
12031             I
12032              
12033             =cut
12034              
12035             $RE{oset_pl} = {
12036             name => 'OPL',
12037             'name.alt.org.wikidata.synth.nogrant' => 'Q38496558',
12038             caption => 'OSET Public License',
12039             'caption.alt.org.wikidata' => 'OSET Foundation Public License',
12040             iri => 'https://www.osetfoundation.org/public-license',
12041             tags => [
12042             'type:versioned:decimal',
12043             ],
12044             };
12045              
12046             $RE{oset_pl_2_1} = {
12047             name => 'OSET-PL-2.1',
12048             'name.alt.org.osi.synth.nogrant' => 'OPL-2.1',
12049             'name.alt.org.osi.misc.shortname' => 'OSET-PL-2.1',
12050             'name.alt.org.spdx.since.date_20160323' => 'OSET-PL-2.1',
12051             caption => 'OSET Public License version 2.1',
12052             'iri.alt.format.pdf' => 'https://www.osetfoundation.org/s/OPL_v21.pdf',
12053             'iri.alt.format.txt' =>
12054             'https://www.osetfoundation.org/s/OPL_v21-plain.txt',
12055             description => <<'END',
12056             Origin: Mozilla Public License Version 2.0
12057             END
12058             tags => [
12059             'type:singleversion:oset_pl',
12060             ],
12061             licenseversion => '2.1',
12062              
12063             'pat.alt.subject.license.scope.line.scope.sentence.part.head' =>
12064             'This license was prepared based on the Mozilla Public License',
12065             'pat.alt.subject.license.scope.line.scope.sentence.part.section_3_5_2' =>
12066             'You may place additional conditions upon the rights granted',
12067             };
12068              
12069             =item * osl
12070              
12071             =item * osl_1
12072              
12073             =item * osl_1_1
12074              
12075             =item * osl_2
12076              
12077             =item * osl_2_1
12078              
12079             =item * osl_3
12080              
12081             =cut
12082              
12083             $RE{osl} = {
12084             name => 'OSL',
12085             'name.alt.org.wikidata.synth.nogrant' => 'Q777520',
12086             'name.alt.misc.fossology_old' => 'OpenSoftware',
12087             caption => 'Open Software License',
12088             tags => [
12089             'type:versioned:decimal',
12090             ],
12091             };
12092              
12093             $RE{osl_1} = {
12094             name => 'OSL-1.0',
12095             'name.alt.org.osi' => 'OSL-1.0',
12096             'name.alt.org.spdx' => 'OSL-1.0',
12097             'name.alt.org.tldr.synth.nogrant' =>
12098             'open-software-license-1.0-(opl-1.0)',
12099             'name.alt.misc.fossology_old' => 'OpenSoftware1.0',
12100             'name.alt.misc.fossology_old_short' => 'OSL_v1.0',
12101             caption => 'Open Software License 1.0',
12102             'caption.alt.org.fedora' => 'Open Software License 1.0',
12103             'caption.alt.org.fedora.misc.short' => 'OSL 1.0',
12104             'caption.alt.org.osi' => 'Open Software License, version 1.0',
12105             'caption.alt.org.osi.misc.list' => 'Open Software License 1.0',
12106             'caption.alt.org.tldr' => 'Open Software License 1.0 (OSL-1.0)',
12107             tags => [
12108             'license:contains:grant',
12109             'type:singleversion:osl',
12110             ],
12111             licenseversion => '1.0',
12112              
12113             'pat.alt.subject.license.scope.multisection' =>
12114             '["]Licensed under the Open Software License version 1\.0["][ ]'
12115             . 'License Terms',
12116             'pat.alt.subject.license.scope.multisection.part.part1_with_grant' =>
12117             '["]Licensed under the Open Software License version 1\.0["][ ]'
12118             . '[*)]Grant of Copyright License[.] '
12119             . 'Licensor hereby grants You a world-wide, royalty-free, '
12120             . 'non-exclusive, perpetual, non-sublicenseable license to do the following[:][ ]'
12121             . '[*)]to reproduce the Original Work in copies;[ ]'
12122             . '[*)]to prepare derivative works [(]["]Derivative Works["][)] based upon the Original Work;[ ]'
12123             . '[*)]to distribute copies of the Original Work and Derivative Works to the public, '
12124             . 'with the proviso that copies of Original Work or Derivative Works '
12125             . 'that You distribute shall be licensed under the Open Software License;'
12126             };
12127              
12128             $RE{osl_1_1} = {
12129             name => 'OSL-1.1',
12130             'name.alt.org.fedora' => 'OSL1.1',
12131             'name.alt.org.spdx.since.date_20140807' => 'OSL-1.1',
12132             'name.alt.misc.fossology_old' => 'OpenSoftware1.1',
12133             'name.alt.misc.fossology_old_short' => 'OSL_v1.1',
12134             caption => 'Open Software License 1.1',
12135             'caption.alt.org.fedora' => 'Open Software License 1.1',
12136             'caption.alt.org.fedora.misc.short' => 'OSL 1.1',
12137             'caption.alt.org.tldr' => 'Open Software License 1.1 (OSL-1.1)',
12138             tags => [
12139             'license:contains:grant',
12140             'type:singleversion:osl',
12141             ],
12142             licenseversion => '1.1',
12143              
12144             'pat.alt.subject.license.scope.multisection' =>
12145             'Licensed under the Open Software License version 1\.1[ ]'
12146             . '[*)]Grant of Copyright License[.]',
12147             'pat.alt.subject.license.scope.multisection.part.part1_with_grant' =>
12148             'Licensed under the Open Software License version 1\.1[ ]'
12149             . '[*)]Grant of Copyright License[.] '
12150             . 'Licensor hereby grants You a world-wide, royalty-free, '
12151             . 'non-exclusive, perpetual, non-sublicenseable license to do the following[:][ ]'
12152             . '[*)]to reproduce the Original Work in copies;[ ]'
12153             . '[*)]to prepare derivative works [(]["]Derivative Works["][)] based upon the Original Work;[ ]'
12154             . '[*)]to distribute copies of the Original Work and Derivative Works to the public, '
12155             . 'with the proviso that copies of Original Work or Derivative Works '
12156             . 'that You distribute shall be licensed under the Open Software License;'
12157             };
12158              
12159             $RE{osl_2} = {
12160             name => 'OSL-2.0',
12161             'name.alt.org.spdx' => 'OSL-2.0',
12162             'name.alt.misc.fossology_old' => 'OpenSoftware2.0',
12163             'name.alt.misc.fossology_old_short' => 'OSL_v2.0',
12164             caption => 'Open Software License 2.0',
12165             'caption.alt.org.fedora' => 'Open Software License 2.0',
12166             'caption.alt.org.fedora.misc.short' => 'OSL 2.0',
12167             'caption.alt.org.tldr' => 'Open Software License 2.0 (OSL-2.0)',
12168             tags => [
12169             'license:contains:grant',
12170             'type:singleversion:osl',
12171             ],
12172             licenseversion => '2.0',
12173              
12174             'pat.alt.subject.license.scope.multisection.part.part1' =>
12175             'Licensed under the Open Software License version 2\.0[ ]'
12176             . '[*)]Grant of Copyright License[.]',
12177             'pat.alt.subject.license.scope.multisection.part.part1_with_grant' =>
12178             'Licensed under the Open Software License version 2\.0[ ]'
12179             . '[*)]Grant of Copyright License[.] '
12180             . 'Licensor hereby grants You a world-wide, royalty-free, '
12181             . 'non-exclusive, perpetual, sublicenseable license to do the following[:][ ]'
12182             . '[*)]to reproduce the Original Work in copies;[ ]'
12183             . '[*)]to prepare derivative works [(]["]Derivative Works["][)] based upon the Original Work;[ ]'
12184             . '[*)]to distribute copies of the Original Work and Derivative Works to the public, '
12185             . 'with the proviso that copies of Original Work or Derivative Works '
12186             . 'that You distribute shall be licensed under the Open Software License;',
12187             'pat.alt.subject.license.scope.multisection.part.part10' =>
12188             'its terms and conditions[.][ ]'
12189             . 'This License shall terminate immediately '
12190             . 'and you may no longer exercise '
12191             . 'any of the rights granted to You by this License '
12192             . 'upon Your failure to honor the proviso '
12193             . 'in Section 1[(]c[)] herein[.][ ]'
12194             . $termination_for_patent_including_counterclaim
12195             . ' for patent infringement',
12196             };
12197              
12198             $RE{osl_2_1} = {
12199             name => 'OSL-2.1',
12200             'name.alt.org.fedora' => 'OSL2.1',
12201             'name.alt.org.osi' => 'OSL-2.1',
12202             'name.alt.org.spdx' => 'OSL-2.1',
12203             'name.alt.misc.fossology_old' => 'OpenSoftware2.1',
12204             'name.alt.misc.fossology_old_short' => 'OSL_v2.1',
12205             caption => 'Open Software License 2.1',
12206             'caption.alt.org.fedora' => 'Open Software License 2.1',
12207             'caption.alt.org.fedora.misc.short' => 'OSL 2.1',
12208             'caption.alt.org.osi' => 'The Open Software License 2.1',
12209             'caption.alt.org.osi.misc.list' => 'Open Software License 2.1',
12210             'caption.alt.org.tldr' => 'Open Software License 2.1 (OSL-2.1)',
12211             tags => [
12212             'license:contains:grant',
12213             'type:singleversion:osl',
12214             ],
12215             licenseversion => '2.1',
12216              
12217             'pat.alt.subject.license.scope.multisection.part.part1' =>
12218             'Licensed under the Open Software License version 2\.1[ ]'
12219             . '[*)]Grant of Copyright License[.]',
12220             'pat.alt.subject.license.scope.multisection.part.part1_with_grant' =>
12221             'Licensed under the Open Software License version 2\.1[ ]'
12222             . '[*)]Grant of Copyright License[.] '
12223             . 'Licensor hereby grants You a world-wide, royalty-free, '
12224             . 'non-exclusive, perpetual, sublicenseable license to do the following[:][ ]'
12225             . '[*)]to reproduce the Original Work in copies;[ ]'
12226             . '[*)]to prepare derivative works [(]["]Derivative Works["][)] based upon the Original Work;[ ]'
12227             . '[*)]to distribute copies of the Original Work and Derivative Works to the public, '
12228             . 'with the proviso that copies of Original Work or Derivative Works '
12229             . 'that You distribute shall be licensed under the Open Software License;'
12230             };
12231              
12232             $RE{osl_3} = {
12233             name => 'OSL-3.0',
12234             'name.alt.org.osi' => 'OSL-3.0',
12235             'name.alt.org.osi.iri.stem.until.date_20110430' => 'osl-3.0',
12236             'name.alt.org.spdx' => 'OSL-3.0',
12237             'name.alt.misc.fossology_old' => 'OpenSoftware3.0',
12238             'name.alt.misc.fossology_old_short' => 'OSL_v3.0',
12239             caption => 'Open Software License 3.0',
12240             'caption.alt.org.fedora' => 'Open Software License 3.0',
12241             'caption.alt.org.fedora.misc.short' => 'OSL 3.0',
12242             'caption.alt.org.osi' => 'The Open Software License 3.0',
12243             'caption.alt.org.osi.misc.list' => 'Open Software License 3.0',
12244             'caption.alt.org.osi.misc.cat_list.synth.nogrant' =>
12245             'Open Software License',
12246             'caption.alt.org.tldr' => 'Open Software Licence 3.0',
12247             'caption.alt.org.trove' => 'Open Software License 3.0 (OSL-3.0)',
12248             tags => [
12249             'license:contains:grant',
12250             'type:singleversion:osl',
12251             ],
12252             licenseversion => '3.0',
12253              
12254             'pat.alt.subject.license.scope.multisection.part.part1' =>
12255             'Licensed under the Open Software License version 3\.0[ ]'
12256             . '[*)]Grant of Copyright License[.]',
12257             };
12258              
12259             =item * pddl
12260              
12261             I
12262              
12263             =item * pddl_1
12264              
12265             I
12266              
12267             =cut
12268              
12269             $RE{pddl} = {
12270             name => 'PDDL',
12271             caption => 'Open Data Commons Public Domain Dedication & License',
12272             tags => [
12273             'type:versioned:decimal',
12274             ],
12275             };
12276              
12277             $RE{pddl_1} = {
12278             name => 'PDDL-1.0',
12279             'name.alt.org.fedora' => 'PDDL-1.0',
12280             'name.alt.org.fedora.iri.self.synth.nogrant' => 'PDDL',
12281             'name.alt.org.spdx' => 'PDDL-1.0',
12282             'name.alt.org.wikidata.synth.nogrant' => 'Q24273512',
12283             caption => 'Open Data Commons Public Domain Dedication & License 1.0',
12284             'caption.alt.org.fedora.synth.nogrant' =>
12285             'Open Data Commons Public Domain Dedication and Licence',
12286             'caption.alt.org.spdx.until.date_20210307' =>
12287             'ODC Public Domain Dedication & License 1.0',
12288             'caption.alt.org.spdx.since.date_20210307' =>
12289             'Open Data Commons Public Domain Dedication & License 1.0',
12290             'caption.alt.org.tldr' =>
12291             'ODC Public Domain Dedication & License 1.0 (PDDL-1.0)',
12292             'caption.alt.org.wikidata' => 'Public Domain Dedication and License v1.0',
12293             tags => [
12294             'type:singleversion:pddl',
12295             ],
12296             licenseversion => '1.0',
12297              
12298             'pat.alt.subject.license.scope.line.scope.sentence.part.intro' =>
12299             'The Open Data Commons[ - ]Public Domain Dedication & Licence is a document',
12300             };
12301              
12302             =item * peer_production
12303              
12304             I
12305              
12306             =cut
12307              
12308             $RE{peer_production} = {
12309             name => 'Peer-Production',
12310             caption => 'Peer Production License',
12311             'caption.alt.org.tldr' => 'Peer Production License',
12312             iri => 'https://wiki.p2pfoundation.net/Peer_Production_License',
12313             description => <<'END',
12314             Origin: Creative Commons Attribution-NonCommercial-ShareAlike 3.0
12315             END
12316             tags => [
12317             'type:unversioned',
12318             ],
12319              
12320             'pat.alt.subject.license.scope.sentence.part.intro' =>
12321             'THE WORK [(]AS DEFINED BELOW[)] IS PROVIDED '
12322             . 'UNDER THE TERMS OF THIS COPYFARLEFT PUBLIC LICENSE',
12323             };
12324              
12325             =item * php
12326              
12327             I
12328              
12329             =item * php_3
12330              
12331             I
12332              
12333             =item * php_3_01
12334              
12335             I
12336              
12337             =cut
12338              
12339             $RE{php} = {
12340             name => 'PHP',
12341             'name.alt.org.osi.iri.stem.until.date_20110430' => 'php',
12342             'name.alt.org.wikidata.synth.nogrant' => 'Q376841',
12343             caption => 'PHP License',
12344             'caption.alt.org.wikipedia' => 'PHP License',
12345             iri => 'https://secure.php.net/license/',
12346             tags => [
12347             'type:versioned:decimal',
12348             ],
12349             };
12350              
12351             $RE{php_3} = {
12352             name => 'PHP-3.0',
12353             'name.alt.org.fedora.synth.nogrant' => 'PHP',
12354             'name.alt.org.osi' => 'PHP-3.0',
12355             'name.alt.org.spdx' => 'PHP-3.0',
12356             'name.alt.org.tldr.path.short' => 'php',
12357             'name.alt.misc.fossology_old' => 'PHP_v3.0',
12358             caption => 'PHP License v3.0',
12359             'caption.alt.org.osi' => 'The PHP License 3.0',
12360             'caption.alt.org.osi.misc.list' => 'PHP License 3.0',
12361             'caption.alt.org.tldr' => 'PHP License 3.0 (PHP)',
12362             description => <<'END',
12363             Origin: Possibly OpenSSL License
12364             END
12365             tags => [
12366             'family:bsd',
12367             'license:contains:license:bsd_2_clause',
12368             'license:is:grant',
12369             'type:singleversion:php',
12370             ],
12371             licenseversion => '3.0',
12372              
12373             'pat.alt.subject.license.scope.multisection.part.last_clauses' =>
12374             $P{repro_copr_cond_discl}
12375             . '[.][ ]'
12376             . '[*)]The name ["]PHP["] must not be used '
12377             . 'to endorse or promote products derived from this software '
12378             . 'without prior written permission' . '[. ]'
12379             . 'For written permission, please contact group\@php\.net'
12380             . '[.][ ]'
12381             . '[*)]Products derived from this software may not be called ["]PHP["], '
12382             . 'nor may ["]PHP["] appear in their name, '
12383             . 'without prior written permission from group\@php\.net' . '[. ]'
12384             . 'You may indicate that your software works in conjunction with PHP '
12385             . 'by saying ["]Foo for PHP["] instead of calling it ["]PHP Foo["] or ["]phpfoo["]'
12386             . '[ ]'
12387             . '[*)]The PHP Group may publish revised and[/]or new versions of the license from time to time'
12388             . '[. ]'
12389             . 'Each version will be given a distinguishing version number'
12390             . '[. ]'
12391             . 'Once covered code has been published under a particular version of the license, '
12392             . 'you may always continue to use it under the terms of that version'
12393             . '[. ]'
12394             . 'You may also choose to use such covered code '
12395             . 'under the terms of any subsequent version of the license '
12396             . 'published by the PHP Group' . '[. ]'
12397             . 'No one other than the PHP Group has the right to modify the terms '
12398             . 'applicable to covered code created under this License'
12399             . '[.][ ]'
12400             . '[*)]Redistributions of any form whatsoever must retain the following acknowledgment'
12401             . '[:][ ]'
12402             . '["]This product includes PHP, freely available',
12403             'pat.alt.subject.license.scope.line.scope.sentence.part.clause_6' =>
12404             'This product includes PHP, freely available',
12405             };
12406              
12407             $RE{php_3_01} = {
12408             name => 'PHP-3.01',
12409             'name.alt.org.osi' => 'PHP-3.01',
12410             'name.alt.org.spdx' => 'PHP-3.01',
12411             'name.alt.org.tldr' => 'the-php-license-3.0.1',
12412             'name.alt.misc.fossology_old' => 'PHP_v3.01',
12413             'name.alt.misc.fossology_old_short' => 'PHP3.01',
12414             caption => 'PHP License v3.01',
12415             'caption.alt.org.osi' => 'PHP License 3.01',
12416             'caption.alt.org.spdx.until.date_20130912' => 'PHP LIcense v3.01',
12417             'caption.alt.org.spdx.since.date_20130912' => 'PHP License v3.01',
12418             'caption.alt.org.tldr' => 'PHP License 3.0.1',
12419             'caption.alt.misc.legal' => 'The PHP License, version 3.01',
12420             iri => 'https://secure.php.net/license/3_01.txt',
12421             tags => [
12422             'family:bsd',
12423             'license:contains:license:bsd_2_clause',
12424             'license:is:grant',
12425             'type:singleversion:php',
12426             ],
12427             licenseversion => '3.01',
12428              
12429             'pat.alt.subject.license.scope.multisection.part.last_clauses' =>
12430             $P{repro_copr_cond_discl}
12431             . '[.][ ]'
12432             . '[*)]The name ["]PHP["] must not be used '
12433             . 'to endorse or promote products derived from this software '
12434             . 'without prior written permission' . '[. ]'
12435             . 'For written permission, please contact group\@php\.net'
12436             . '[.][ ]'
12437             . '[*)]Products derived from this software may not be called ["]PHP["], '
12438             . 'nor may ["]PHP["] appear in their name, '
12439             . 'without prior written permission from group\@php\.net' . '[. ]'
12440             . 'You may indicate that your software works in conjunction with PHP '
12441             . 'by saying ["]Foo for PHP["] instead of calling it ["]PHP Foo["] or ["]phpfoo["]'
12442             . '[ ]'
12443             . '[*)]The PHP Group may publish revised and[/]or new versions of the license from time to time'
12444             . '[. ]'
12445             . 'Each version will be given a distinguishing version number'
12446             . '[. ]'
12447             . 'Once covered code has been published under a particular version of the license, '
12448             . 'you may always continue to use it under the terms of that version'
12449             . '[. ]'
12450             . 'You may also choose to use such covered code '
12451             . 'under the terms of any subsequent version of the license '
12452             . 'published by the PHP Group' . '[. ]'
12453             . 'No one other than the PHP Group has the right to modify the terms '
12454             . 'applicable to covered code created under this License'
12455             . '[.][ ]'
12456             . '[*)]Redistributions of any form whatsoever must retain the following acknowledgment'
12457             . '[:][ ]'
12458             . '["]This product includes PHP software, freely available',
12459             'pat.alt.subject.license.scope.line.scope.sentence.part.clause_6' =>
12460             'This product includes PHP software, freely available',
12461             };
12462              
12463             =item * postgresql
12464              
12465             =cut
12466              
12467             $RE{postgresql} = {
12468             name => 'PostgreSQL',
12469             'name.alt.org.fedora' => 'PostgreSQL',
12470             'name.alt.org.osi' => 'PostgreSQL',
12471             'name.alt.org.osi.iri.stem.until.date_20110430' => 'postgresql',
12472             'name.alt.org.spdx' => 'PostgreSQL',
12473             'name.alt.org.wikidata.synth.nogrant' => 'Q18563589',
12474             caption => 'PostgreSQL License',
12475             'caption.alt.org.fedora.iri.self' => 'PostgreSQL License',
12476             'caption.alt.org.osi' => 'The PostgreSQL Licence',
12477             'caption.alt.org.osi.misc.list' => 'The PostgreSQL License',
12478             'caption.alt.org.tldr' => 'PostgreSQL License (PostgreSQL)',
12479             'caption.alt.org.trove' => 'PostgreSQL License',
12480             'summary.alt.org.fedora.iri.mit' =>
12481             'MIT-style license, PostgreSQL License (MIT Variant)',
12482             tags => [
12483             'family:mit',
12484             'license:is:grant',
12485             'type:unversioned',
12486             ],
12487              
12488             'pat.alt.subject.license' => $P{permission_use_fee_agree},
12489             };
12490              
12491             =item * psf_2
12492              
12493             I
12494              
12495             =cut
12496              
12497             # license scheme is unversioned, despite versioned name
12498             $RE{psf_2} = {
12499             name => 'PSF-2.0',
12500             'name.alt.org.debian.misc.short' => 'PSF-2',
12501             'name.alt.org.wikidata' => 'Q2600299',
12502             'name.alt.misc.short' => 'PSFL',
12503             'name.alt.misc.shortest' => 'PSF',
12504             caption => 'Python Software Foundation License 2.0',
12505             'caption.alt.org.steward' => 'PSF License Agreement',
12506             'caption.alt.org.trove' => 'Python Software Foundation License',
12507             'caption.alt.misc.legal' =>
12508             'PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2',
12509             'caption.alt.org.wikipedia' => 'Python Software Foundation License',
12510             iri =>
12511             'https://docs.python.org/3/license.html#psf-license-agreement-for-python-release',
12512             'iri.alt.misc.short' =>
12513             'https://docs.python.org/3/license.html#psf-license',
12514             tags => [
12515             'license:published:by_psf',
12516             'type:unversioned',
12517             ],
12518             licenseversion => '2.0',
12519              
12520             'pat.alt.subject.license' =>
12521             '[*)]PSF is making Python available to Licensee',
12522             };
12523              
12524             =item * public_domain
12525              
12526             =cut
12527              
12528             $RE{public_domain} = {
12529             name => 'public-domain',
12530             'name.alt.org.fsf' => 'PublicDomain',
12531             'name.alt.misc.case_and_dash' => 'Public-Domain',
12532             caption => 'Public domain',
12533             'caption.alt.org.fedora' => 'Public Domain',
12534             'caption.alt.org.trove' => 'Public Domain',
12535             'iri.alt.org.linfo' => 'http://www.linfo.org/publicdomain.html',
12536             tags => [
12537             'license:is:grant',
12538             'type:unversioned',
12539             ],
12540              
12541             'pat.alt.subject.name' =>
12542             "$the?(?:[Pp]ublic|PUBLIC)[- ](?:[Dd]omain|DOMAIN)",
12543             };
12544             $RE{public_domain}{'_pat.alt.subject.grant'} = [
12545             '(?:[Tt]his is|[Tt]hey are|[Ii]t[\']s) in '
12546             . $RE{public_domain}{'pat.alt.subject.name'},
12547             '(?:[Tt]his|[Tt]he)[ ](?:(?:source )?code|document|file|library|macros|opening book|work)[ ]is(?: put)?(?: in)? '
12548             . $RE{public_domain}{'pat.alt.subject.name'},
12549             'are dedicated to ' . $RE{public_domain}{'pat.alt.subject.name'},
12550             'for use in ' . $RE{public_domain}{'pat.alt.subject.name'},
12551             'placed in(?:to)? ' . $RE{public_domain}{'pat.alt.subject.name'},
12552             'considered to be in ' . $RE{public_domain}{'pat.alt.subject.name'},
12553             'offered to use in ' . $RE{public_domain}{'pat.alt.subject.name'},
12554             'provided [as is] into ' . $RE{public_domain}{'pat.alt.subject.name'},
12555             'released to ' . $RE{public_domain}{'pat.alt.subject.name'},
12556             'RELEASED INTO ' . $RE{public_domain}{'pat.alt.subject.name'},
12557             ];
12558              
12559             =item * qpl
12560              
12561             =item * qpl_1
12562              
12563             =cut
12564              
12565             $RE{qpl} = {
12566             name => 'QPL',
12567             'name.alt.org.fedora' => 'QPL',
12568             'name.alt.org.osi.iri.stem.until.date_20110430' => 'qtpl',
12569             'name.alt.org.wikidata.synth.nogrant' => 'Q1396282',
12570             caption => 'Q Public License',
12571             'caption.alt.org.trove' => 'Qt Public License (QPL)',
12572             'caption.alt.org.wikipedia' => 'Q Public License',
12573             tags => [
12574             'type:versioned:decimal',
12575             ],
12576             };
12577              
12578             $RE{qpl_1} = {
12579             name => 'QPL-1.0',
12580             'name.alt.org.osi' => 'QPL-1.0',
12581             'name.alt.org.spdx' => 'QPL-1.0',
12582             'name.alt.org.perl' => 'qpl_1_0',
12583             'name.alt.misc.fossology_old' => 'QPL_v1.0',
12584             caption => 'Q Public License 1.0',
12585             'caption.alt.org.fsf' => 'Q Public License (QPL), Version 1.0',
12586             'caption.alt.org.osi.synth.nogrant' => 'The Q Public License Version',
12587             'caption.alt.org.osi.misc.list.synth.nogrant' => 'Q Public License',
12588             'caption.alt.org.perl' => 'Q Public License, Version 1.0',
12589             'caption.alt.org.tldr' => 'Q Public License 1.0 (QPL-1.0)',
12590             tags => [
12591             'type:singleversion:qpl',
12592             ],
12593             licenseversion => '1.0',
12594              
12595             'pat.alt.subject.license.scope.sentence' =>
12596             'This license applies to any software '
12597             . 'containing a notice placed by the copyright holder '
12598             . 'saying that it may be distributed '
12599             . 'under the terms of the Q Public License '
12600             . 'version 1\.0[.]',
12601             };
12602              
12603             =item * rpl
12604              
12605             =item * rpl_1
12606              
12607             =item * rpl_1_1
12608              
12609             =item * rpl_1_3
12610              
12611             =item * rpl_1_5
12612              
12613             =cut
12614              
12615             $RE{rpl} = {
12616             name => 'RPL',
12617             'name.alt.org.wikidata.synth.nogrant' => 'Q7302458',
12618             caption => 'Reciprocal Public License',
12619             'caption.alt.org.fedora' => 'Reciprocal Public License',
12620             'caption.alt.org.wikipedia' => 'Reciprocal Public License',
12621             tags => [
12622             'type:versioned:decimal',
12623             ],
12624             };
12625              
12626             $RE{rpl_1} = {
12627             name => 'RPL-1',
12628             'name.alt.org.osi.iri.stem.until.date_20110430' => 'rpl1.0',
12629             caption => 'Reciprocal Public License, Version 1.0',
12630             'iri.alt.archive.time_20020223190112' =>
12631             'http://www.technicalpursuit.com/Biz_RPL.html',
12632             tags => [
12633             'type:singleversion:rpl',
12634             ],
12635             licenseversion => '1.0',
12636              
12637             'pat.alt.subject.license.scope.multisection.part.part1' =>
12638             'This Reciprocal Public License Version 1\.0 [(]["]License["][)] applies to any programs'
12639             };
12640              
12641             $RE{rpl_1_1} = {
12642             name => 'RPL-1.1',
12643             'name.alt.org.osi' => 'RPL-1.1',
12644             'name.alt.org.spdx.since.date_20130410' => 'RPL-1.1',
12645             'name.alt.misc.fossology_old' => 'RPL_v1.1',
12646             'name.alt.misc.fossology_old_short' => 'RPL1.1',
12647             caption => 'Reciprocal Public License 1.1',
12648             'caption.alt.org.osi' => 'Reciprocal Public License, version 1.1',
12649             tags => [
12650             'type:singleversion:rpl',
12651             ],
12652             licenseversion => '1.1',
12653              
12654             'pat.alt.subject.license.scope.multisection.part.part1' =>
12655             'This Reciprocal Public License Version 1\.1 [(]["]License["][)] applies to any programs'
12656             };
12657              
12658             $RE{rpl_1_3} = {
12659             name => 'RPL-1.3',
12660             caption => 'Reciprocal Public License 1.3',
12661             'iri.alt.archive.time_20080828191234' =>
12662             'http://www.technicalpursuit.com/licenses/RPL_1.3.html',
12663             tags => [
12664             'type:singleversion:rpl',
12665             ],
12666             licenseversion => '1.3',
12667              
12668             'pat.alt.subject.license.scope.multisection.part.part1' =>
12669             'This Reciprocal Public License Version 1\.3 [(]["]License["][)] applies to any programs'
12670             };
12671              
12672             $RE{rpl_1_5} = {
12673             name => 'RPL-1.5',
12674             'name.alt.org.osi' => 'RPL-1.5',
12675             'name.alt.org.osi.iri.stem.until.date_20110430' => 'rpl1.5',
12676             'name.alt.org.spdx' => 'RPL-1.5',
12677             'name.alt.misc.fossology_old' => 'RPL_v1.5',
12678             'name.alt.misc.fossology_old_short' => 'RPL1.5',
12679             caption => 'Reciprocal Public License 1.5',
12680             'caption.alt.org.tldr' => 'Reciprocal Public License 1.5 (RPL-1.5)',
12681             tags => [
12682             'type:singleversion:rpl',
12683             ],
12684             licenseversion => '1.5',
12685              
12686             'pat.alt.subject.license.scope.multisection.part.part1' =>
12687             'This Reciprocal Public License Version 1\.5 [(]["]License["][)] applies to any programs',
12688             'pat.alt.subject.license.scope.line.scope.sentence.part.exhibit_a' =>
12689             'All software distributed under the RPL is provided strictly',
12690             };
12691              
12692             =item * rpsl
12693              
12694             =item * rpsl_1
12695              
12696             I
12697              
12698             =cut
12699              
12700             $RE{rpsl} = {
12701             name => 'RPSL',
12702             'name.alt.org.osi.iri.stem.until.date_20110430' => 'real',
12703             'name.alt.org.wikidata.synth.nogrant' => 'Q7300815',
12704             'name.alt.misc.fossology_old' => 'RealNetworks-EULA',
12705             'name.alt.misc.fossology_old_short' => 'RealNetworks',
12706             caption => 'RealNetworks Public Source License',
12707             'caption.alt.org.wikipedia' => 'RealNetworks Public Source License',
12708             tags => [
12709             'type:versioned:decimal',
12710             ],
12711             };
12712              
12713             $RE{rpsl_1} = {
12714             name => 'RPSL-1.0',
12715             'name.alt.org.osi' => 'RPSL-1.0',
12716             'name.alt.org.spdx' => 'RPSL-1.0',
12717             'name.alt.misc.fossology_old' => 'RPSL_v1.1',
12718             'name.alt.misc.fossology_old_short' => 'RPSL1.1',
12719             caption => 'RealNetworks Public Source License v1.0',
12720             'caption.alt.org.osi' => 'RealNetworks Public Source License Version 1.0',
12721             'caption.alt.org.osi.misc.list' =>
12722             'RealNetworks Public Source License V1.0',
12723             'caption.alt.legal.license' =>
12724             'RealNetworks Public Source License Version 1.0',
12725             'caption.alt.org.tldr' =>
12726             'RealNetworks Public Source License v1.0 (RPSL-1.0)',
12727             tags => [
12728             'license:contains:name:afl',
12729             'license:contains:name:apache',
12730             'license:contains:name:artistic',
12731             'license:contains:name:bsd',
12732             'license:contains:name:cpl',
12733             'license:contains:name:expat',
12734             'license:contains:name:gpl_1',
12735             'license:contains:name:intel',
12736             'license:contains:name:lgpl_1',
12737             'license:contains:name:libpng',
12738             'license:contains:name:Motosoto',
12739             'license:contains:name:mpl_1',
12740             'license:contains:name:mpl_1_1',
12741             'license:contains:name:ncsa',
12742             'license:contains:name:nokia',
12743             'license:contains:name:python',
12744             'license:contains:name:rscpl',
12745             'license:contains:name:siss_1_1',
12746             'license:contains:name:w3c',
12747             'license:contains:name:xnet',
12748             'license:contains:name:zlib',
12749             'license:contains:name:zpl',
12750             'type:singleversion:rpsl',
12751             ],
12752             licenseversion => '1.0',
12753              
12754             'pat.alt.subject.license.scope.sentence.part.part1' =>
12755             'General Definitions[. ]This License applies to any program or other work',
12756             'pat.alt.subject.license.scope.line.scope.sentence.part.exhibit_b' =>
12757             'Compatible Source Licenses for the RealNetworks Public Source License',
12758             'pat.alt.subject.license.scope.line.scope.sentence.part.note' =>
12759             'Covered Code may only be licensed under the RealNetworks Public Source License',
12760             };
12761              
12762             =item * ruby
12763              
12764             =cut
12765              
12766             $RE{ruby} = {
12767             name => 'Ruby',
12768             'name.alt.org.fedora' => 'Ruby',
12769             'name.alt.org.spdx' => 'Ruby',
12770             'name.alt.org.wikidata.synth.nogrant' => 'Q3066722',
12771             caption => 'Ruby License',
12772             'caption.alt.org.tldr' => 'Ruby License (Ruby)',
12773             tags => [
12774             'type:unversioned',
12775             ],
12776              
12777             'pat.alt.subject.license.scope.line.scope.sentence' =>
12778             'You may modify and include the part of the software into any',
12779             };
12780              
12781             =item * rscpl
12782              
12783             =cut
12784              
12785             $RE{rscpl} = {
12786             name => 'RSCPL',
12787             'name.alt.org.osi' => 'RSCPL',
12788             'name.alt.org.osi.iri.stem.until.date_20110430' => 'ricohpl',
12789             'name.alt.org.spdx' => 'RSCPL',
12790             'name.alt.misc.fossology_old' => 'Ricoh',
12791             'name.alt.misc.fossology_old_verson' => 'Ricoh_v1.0',
12792             'name.alt.org.wikidata.synth.nogrant' => 'Q7332330',
12793             caption => 'Ricoh Source Code Public License',
12794             'caption.alt.org.fedora' => 'Ricoh Source Code Public License',
12795             'caption.alt.org.osi' => 'The Ricoh Source Code Public License',
12796             'caption.alt.org.osi.misc.list' => 'Ricoh Source Code Public License',
12797             'caption.alt.org.tldr' => 'Ricoh Source Code Public License (RSCPL)',
12798             'caption.alt.org.trove' => 'Ricoh Source Code Public License',
12799             tags => [
12800             'type:unversioned',
12801             ],
12802              
12803             'pat.alt.subject.license.scope.sentence' =>
12804             'Endorsements[. ]The names ["]Ricoh,["] ["]Ricoh Silicon Valley,["] and ["]RSV["] must not'
12805             };
12806              
12807             =item * sax_pd
12808              
12809             I
12810              
12811             =cut
12812              
12813             $RE{sax_pd} = {
12814             name => 'SAX-PD',
12815             'name.alt.org.spdx' => 'SAX-PD',
12816             caption => 'Sax Public Domain Notice',
12817             'caption.alt.org.tldr' => 'Sax Public Domain Notice (SAX-PD)',
12818             tags => [
12819             'license:is:grant',
12820             'type:unversioned',
12821             ],
12822              
12823             'pat.alt.subject.license.scope.line.scope.sentence' =>
12824             'No one owns SAX[:][ ]you may use it freely in both commercial',
12825             };
12826              
12827             =item * sds
12828              
12829             I
12830              
12831             =item * sds_1
12832              
12833             I
12834              
12835             =cut
12836              
12837             $RE{sds} = {
12838             name => 'SdS',
12839             caption => 'Show don\'t Sell License',
12840             tags => [
12841             'type:versioned:decimal',
12842             ],
12843             };
12844              
12845             $RE{sds_1} = {
12846             name => 'SdS-1.0.0',
12847             caption => 'Show don\'t Sell License v1.0.0',
12848             description => <<'END',
12849             Proof:
12850             [Github](https://github.com/SparrowOchon/Humble-dl/blob/master/LICENSE)
12851             END
12852             tags => [
12853             'type:singleversion:sds',
12854             ],
12855             licenseversion => '1.0.0',
12856              
12857             'pat.alt.subject.license.scope.line.scope.sentence.part.part4_2' =>
12858             'If the clause 4\.1 becomes true the licensee must pay',
12859             };
12860              
12861             =item * sgi_b
12862              
12863             =item * sgi_b_1
12864              
12865             I
12866              
12867             =item * sgi_b_1_1
12868              
12869             I
12870              
12871             =item * sgi_b_2
12872              
12873             I
12874              
12875             =cut
12876              
12877             $RE{sgi_b} = {
12878             name => 'SGI-B',
12879             'name.alt.misc.unbranded' => 'FreeB',
12880             caption => 'SGI Free Software License B',
12881             'caption.alt.misc.shorter' => 'SGI FreeB',
12882             iri => 'https://www.sgi.com/projects/FreeB/',
12883             tags => [
12884             'type:versioned:decimal',
12885             ],
12886             };
12887              
12888             $RE{sgi_b_1} = {
12889             name => 'SGI-B-1.0',
12890             'name.alt.org.spdx.since.date_20130117' => 'SGI-B-1.0',
12891             'name.alt.misc.fossology_old_vague.synth.nogrant' => 'SGI-v1.0',
12892             caption => 'SGI Free Software License B v1.0',
12893             tags => [
12894             'type:singleversion:sgi_b',
12895             ],
12896             licenseversion => '1.0',
12897              
12898             'pat.alt.subject.license.scope.line.scope.paragraph' =>
12899             'License Grant[. ]Subject to the provisions',
12900             'pat.alt.subject.license.scope.multiparagraph.part.head' =>
12901             'SGI FREE SOFTWARE LICENSE B[ ][(]Version 1\.0 1[/]25[/]2000[)][ ]'
12902             . '[*)]Definitions[.]',
12903             };
12904              
12905             $RE{sgi_b_1_1} = {
12906             name => 'SGI-B-1.1',
12907             'name.alt.org.spdx.since.date_20130117' => 'SGI-B-1.1',
12908             'name.alt.misc.fossology_old' => 'SGI-B1.1',
12909             'name.alt.misc.fossology_old_vague.synth.nogrant' => 'SGI-v1.1',
12910             caption => 'SGI Free Software License B v1.1',
12911             tags => [
12912             'type:singleversion:sgi_b',
12913             ],
12914             licenseversion => '1.1',
12915              
12916             'pat.alt.subject.license.part.title' => 'SGI License Grant',
12917             'pat.alt.subject.license.scope.multiparagraph.part.head' =>
12918             'SGI FREE SOFTWARE LICENSE B[ ][(]Version 1\.1 02[/]22[/]2000[)][ ]'
12919             . '[*)]Definitions[.]',
12920             };
12921              
12922             $RE{sgi_b_2} = {
12923             name => 'SGI-B-2.0',
12924             'name.alt.org.spdx.since.date_20130117' => 'SGI-B-2.0',
12925             caption => 'SGI Free Software License B v2.0',
12926             'caption.alt.org.fedora' => 'SGI Free Software License B 2.0',
12927             'caption.alt.org.tldr' => 'SGI Free Software License B v2.0 (SGI-B-2.0)',
12928             'name.alt.misc.fossology_old' => 'RPSL_v1.1',
12929             'name.alt.misc.fossology_old' => 'SGI-B2.0',
12930             'name.alt.misc.fossology_old_vague.synth.nogrant' => 'SGI-2.0',
12931             tags => [
12932             'type:singleversion:sgi_b',
12933             ],
12934             licenseversion => '2.0',
12935              
12936             'pat.alt.subject.license.part.reproduction' =>
12937             'The above copyright notice including the dates of first publication',
12938             'pat.alt.subject.license.scope.multiparagraph.part.head' =>
12939             'SGI FREE SOFTWARE LICENSE B[ ]'
12940             . '[(]Version 2\.0, Sept\. 18, 2008[)] '
12941             . 'Copyright[c] \[dates of first publication\] Silicon Graphics, Inc[. ]'
12942             . 'All Rights Reserved[.][ ]'
12943             . $P{perm_granted},
12944             };
12945              
12946             =item * simpl
12947              
12948             I
12949              
12950             =item * simpl_2
12951              
12952             I
12953              
12954             =cut
12955              
12956             $RE{simpl} = {
12957             name => 'SimPL',
12958             'name.alt.org.wikidata.synth.nogrant' => 'Q38351460',
12959             caption => 'Simple Public License',
12960             tags => [
12961             'type:versioned:decimal',
12962             ],
12963             };
12964              
12965             $RE{simpl_2} = {
12966             name => 'SimPL-2.0',
12967             'name.alt.org.osi' => 'SimPL-2.0',
12968             'name.alt.org.osi.iri.stem.until.date_20110430' => 'simpl-2.0',
12969             'name.alt.org.osi.misc.cat_list' => 'Simple-2.0',
12970             'name.alt.org.spdx' => 'SimPL-2.0',
12971             'name.alt.org.tldr.path.short' => 'simpl',
12972             caption => 'Simple Public License 2.0',
12973             'caption.alt.org.osi.synth.nogrant' => 'Simple Public License',
12974             'caption.alt.org.osi.misc.list' => 'Simple Public License 2.0',
12975             'caption.alt.org.tldr' => 'Simple Public License 2.0 (SimPL)',
12976             description => <<'END',
12977             Origin: by Robert W. Gomulkiewicz in 2005,
12978             inspired by GNU General Public License, Version 2.
12979             Details at
12980             and at
12981             END
12982             tags => [
12983             'type:singleversion:simpl',
12984             ],
12985             licenseversion => '2.0',
12986              
12987             'pat.alt.subject.license.scope.line.scope.sentence.part.intro' =>
12988             'The SimPL applies to the software[\']s source and',
12989             'pat.alt.subject.license.scope.line.scope.sentence.part.pseudo_grant' =>
12990             'prevents you from distributing the software under the terms of the SimPL',
12991             };
12992              
12993             =item * simple_w3c
12994              
12995             I
12996              
12997             =item * simple_w3c_1_1
12998              
12999             I
13000              
13001             =cut
13002              
13003             $RE{simple_w3c} = {
13004             name => 'Simple',
13005             caption => 'Simple Public License',
13006             tags => [
13007             'type:versioned:decimal',
13008             ],
13009             };
13010              
13011             $RE{simple_w3c_1_1} = {
13012             name => 'Simple-1.1',
13013             caption => 'Simple Public License 1.1',
13014             iri => 'https://www.analysisandsolutions.com/software/license.htm',
13015             description => <<'END',
13016             Origin: W3C Software Notice and License (1998-07-20)
13017             END
13018             tags => [
13019             'license:is:grant',
13020             'type:singleversion:simpl',
13021             ],
13022             licenseversion => '1.1',
13023              
13024             'pat.alt.subject.license.scope.line.scope.sentence.part.clause2' =>
13025             'The name, servicemarks and trademarks of the copyright',
13026             };
13027              
13028             =item * sissl
13029              
13030             I
13031              
13032             =item * sissl_1_1
13033              
13034             I
13035              
13036             =item * sissl_1_2
13037              
13038             I
13039              
13040             =cut
13041              
13042             $RE{sissl} = {
13043             name => 'SISSL',
13044             'name.alt.org.fedora' => 'SISSL',
13045             'name.alt.org.osi.iri.stem.until.date_20110430' => 'sisslpl',
13046             'name.alt.org.perl' => 'sun',
13047             'name.alt.org.wikidata.synth.nogrant' => 'Q635577',
13048             caption => 'Sun Industry Standards Source License',
13049             'caption.alt.org.perl' => 'Sun Internet Standards Source License (SISSL)',
13050             'caption.alt.org.trove' =>
13051             'Sun Industry Standards Source License (SISSL)',
13052             'caption.alt.org.wikipedia' => 'Sun Industry Standards Source License',
13053             'caption.alt.misc.long' =>
13054             'Sun Industry Standards Source License (SISSL)',
13055             tags => [
13056             'type:versioned:decimal',
13057             ],
13058             };
13059              
13060             $RE{sissl_1_1} = {
13061             name => 'SISSL-1.1',
13062             'name.alt.org.osi.synth.nogrant' => 'SISSL',
13063             'name.alt.org.spdx.since.date_20130117.synth.nogrant' => 'SISSL',
13064             'name.alt.misc.fossology_old' => 'SISSL_v1.1',
13065             caption => 'Sun Industry Standards Source License v1.1',
13066             'caption.alt.org.osi.synth.nogrant' =>
13067             'Sun Industry Standards Source License',
13068             'caption.alt.org.spdx.until.date_20130912.synth.nogrant' =>
13069             'Sun Industry Standards Source License',
13070             'caption.alt.org.spdx.since.date_20130912' =>
13071             'Sun Industry Standards Source License v1.1',
13072             iri => 'https://www.openoffice.org/licenses/sissl_license.html',
13073             tags => [
13074             'type:singleversion:sissl',
13075             ],
13076             licenseversion => '1.1',
13077              
13078             'pat.alt.subject.license.scope.multisection.part.header' =>
13079             'Sun Industry Standards Source License[ - ]Version 1\.1[ ]'
13080             . '1\.0 DEFINITIONS',
13081             };
13082              
13083             $RE{sissl_1_2} = {
13084             name => 'SISSL-1.2',
13085             'name.alt.org.spdx.since.date_20130912' => 'SISSL-1.2',
13086             caption => 'Sun Industry Standards Source License v1.2',
13087             'caption.alt.org.tldr' =>
13088             'Sun Industry Standards Source License v1.2 (SISSL-1.2)',
13089             'caption.alt.misc.legal' =>
13090             'SUN INDUSTRY STANDARDS SOURCE LICENSE Version 1.2',
13091             iri =>
13092             'http://gridscheduler.sourceforge.net/Gridengine_SISSL_license.html',
13093             tags => [
13094             'type:singleversion:sissl',
13095             ],
13096             licenseversion => '1.2',
13097              
13098             'pat.alt.subject.license.scope.multisection.part.header' =>
13099             'SUN INDUSTRY STANDARDS SOURCE LICENSE[ ]'
13100             . 'Version 1\.2[ ]'
13101             . '1\.0 DEFINITIONS',
13102             };
13103              
13104             =item * sleepycat
13105              
13106             I
13107              
13108             =cut
13109              
13110             $RE{sleepycat} = {
13111             name => 'Sleepycat',
13112             'name.alt.org.fedora.iri.self' => 'Sleepycat',
13113             'name.alt.org.osi' => 'Sleepycat',
13114             'name.alt.org.osi.iri.stem.until.date_20110430' => 'sleepycat',
13115             'name.alt.org.spdx' => 'Sleepycat',
13116             'name.alt.org.tldr.path.short' => 'sleepycat',
13117             'name.alt.org.wikidata.synth.nogrant' => 'Q2294050',
13118             caption => 'Sleepycat License',
13119             'caption.alt.misc.berkeley' => 'Berkeley Database License',
13120             'caption.alt.misc.public' => 'Sleepycat Public License',
13121             'caption.alt.org.fedora' => 'Sleepycat Software Product License',
13122             'caption.alt.org.osi' => 'The Sleepycat License',
13123             'caption.alt.org.osi.misc.list' => 'Sleepycat License',
13124             'caption.alt.org.tldr' => 'Sleepycat License',
13125             'caption.alt.org.trove' => 'Sleepycat License',
13126             'caption.alt.org.wikipedia' => 'Sleepycat License',
13127             tags => [
13128             'type:unversioned',
13129             ],
13130              
13131             'pat.alt.subject.license.scope.line.part.clause4' =>
13132             'obtain complete source code for the DB software and',
13133             'pat.alt.subject.license.scope.paragraph.part.clause4' =>
13134             'Redistributions in any form must be accompanied by information on how to obtain'
13135             . ' complete source code for the DB software'
13136             . ' and any accompanying software that uses the DB software',
13137             };
13138              
13139             =item * sncl
13140              
13141             I
13142              
13143             =item * sncl_1_10
13144              
13145             I
13146              
13147             =item * sncl_2_0_1
13148              
13149             I
13150              
13151             =item * sncl_2_0_2
13152              
13153             I
13154              
13155             =item * sncl_2_1
13156              
13157             I
13158              
13159             =item * sncl_2_3
13160              
13161             I
13162              
13163             =cut
13164              
13165             $RE{sncl} = {
13166             name => 'SNCL',
13167             caption => 'Simple Non Code License',
13168             tags => [
13169             'type:versioned:decimal',
13170             ],
13171             };
13172              
13173             $RE{sncl_1_10} = {
13174             name => 'SNCL-1.10.0',
13175             caption => 'Simple Non Code License v1.10.0',
13176             'caption.alt.org.tldr.synth.nogrant' => 'Simple non code license (SNCL)',
13177             description => <<'END',
13178             Proof:
13179             [Github](https://github.com/SiddChugh/Diffie-Hellman-Algorithm/blob/master/License.txt)
13180             END
13181             tags => [
13182             'type:singleversion:sncl',
13183             ],
13184             licenseversion => '1.10.0',
13185              
13186             'pat.alt.subject.license.scope.line.scope.sentence.part.part1_6' =>
13187             'If the 1\.5 clause becomes true the licensee must pay',
13188             };
13189              
13190             $RE{sncl_2_0_1} = {
13191             name => 'SNCL-2.0.1',
13192             caption => 'Simple Non Code License v2.0.1',
13193             description => <<'END',
13194             Proof:
13195             [Github](https://github.com/MysteryDash/Simple-Non-Code-License/blob/af24a92211e3c35392acb21611f228200fd32fd0/License.txt)
13196             END
13197             tags => [
13198             'type:singleversion:sncl',
13199             ],
13200             licenseversion => '2.0.1',
13201              
13202             'pat.alt.subject.license.scope.line.scope.sentence.part.part3_2' =>
13203             'If the 3\.1 clause becaumes true the licensee must pay',
13204             };
13205              
13206             $RE{sncl_2_0_2} = {
13207             name => 'SNCL-2.0.2',
13208             caption => 'Simple Non Code License v2.0.2',
13209             description => <<'END',
13210             Identical to Simple Non Code License v2.0.1, except...
13211             * typo correction in section 3.2
13212              
13213             Proof:
13214             [Github](https://github.com/MysteryDash/Simple-Non-Code-License/blob/9a045d0a8dc58341a35d11e4f3d8343c2d498ca5/License.txt)
13215             END
13216             tags => [
13217             'type:singleversion:sncl',
13218             ],
13219             licenseversion => '2.0.2',
13220             };
13221              
13222             $RE{sncl_2_1} = {
13223             name => 'SNCL-2.1.0',
13224             'name.alt.org.tldr.synth.nogrant' => 'simple-non-code-license-2.0.2',
13225             caption => 'Simple Non Code License v2.1.0',
13226             'caption.alt.org.tldr' => 'Simple Non Code License (SNCL) 2.1.0',
13227             description => <<'END',
13228             Proof:
13229             [Github](https://github.com/MysteryDash/Simple-Non-Code-License/blob/480fb558b17aa1d23ad6d61ad420ea19d08d8940/License.txt)
13230             END
13231             tags => [
13232             'type:singleversion:sncl',
13233             ],
13234             licenseversion => '2.1.0',
13235              
13236             'pat.alt.subject.license.scope.line.scope.sentence.part.part1_3_4' =>
13237             'The same rule about commercial use stated in clause 1\.1 applies here',
13238             };
13239              
13240             $RE{sncl_2_3} = {
13241             name => 'SNCL-2.3.0',
13242             caption => 'Simple Non Code License v2.3.0',
13243             description => <<'END',
13244             Proof:
13245             [Github](https://github.com/MysteryDash/Simple-Non-Code-License/blob/17766cb9f31240dc04030412b1da94d43097408f/License.txt)
13246             END
13247             tags => [
13248             'type:singleversion:sncl',
13249             ],
13250             licenseversion => '2.3.0',
13251              
13252             'pat.alt.subject.license.scope.line.scope.sentence.part.part3_2' =>
13253             'If the clause 3\.1 becomes true the licensee must pay',
13254             };
13255              
13256             =item * spl
13257              
13258             =item * spl_1
13259              
13260             =cut
13261              
13262             $RE{spl} = {
13263             name => 'SPL',
13264             'name.alt.org.fedora' => 'SPL',
13265             'name.alt.org.osi.iri.stem.until.date_20110430' => 'sunpublic',
13266             'name.alt.org.wikidata.synth.nogrant' => 'Q648252',
13267             caption => 'Sun Public License',
13268             'caption.alt.org.trove' => 'Sun Public License',
13269             'caption.alt.org.wikipedia' => 'Sun Public License',
13270             tags => [
13271             'type:versioned:decimal',
13272             ],
13273             };
13274              
13275             $RE{spl_1} = {
13276             name => 'SPL-1.0',
13277             'name.alt.org.osi' => 'SPL-1.0',
13278             'name.alt.org.spdx' => 'SPL-1.0',
13279             'name.alt.misc.fossology_old' => 'Sun-PL_v1.0',
13280             'name.alt.misc.fossology_old_short' => 'SunPL1.0',
13281             caption => 'Sun Public License v1.0',
13282             'caption.alt.org.osi' => 'Sun Public License, Version 1.0',
13283             'caption.alt.org.osi.misc.list' => 'Sun Public License 1.0',
13284             'caption.alt.org.tldr' => 'Sun Public License v1.0 (SPL-1.0)',
13285             tags => [
13286             'type:singleversion:spl',
13287             ],
13288             licenseversion => '1.0',
13289              
13290             'pat.alt.subject.license.scope.multisection' =>
13291             'Exhibit A -Sun Public License Notice[.][ ]'
13292             . 'The contents of this file are subject to the Sun Public License'
13293             };
13294              
13295             =item * ssleay
13296              
13297             I
13298              
13299             =cut
13300              
13301             $RE{ssleay} = {
13302             name => 'SSLeay',
13303             'name.alt.org.perl' => 'ssleay',
13304             'caption.alt.org.perl' => 'Original SSLeay License',
13305             tags => [
13306             'license:contains:license:bsd_2_clause',
13307             'license:is:grant',
13308             'type:unversioned',
13309             ],
13310              
13311             'pat.alt.subject.license.part.attribution' =>
13312             'If this package is used in a product',
13313             'pat.alt.subject.license.scope.multisection' => $P{repro_copr_cond_discl}
13314             . '[.][ ]' . '[*)]'
13315             . $P{ad_mat_ack_ssleay} . '?',
13316             'pat.alt.subject.license.part.advertising_clause_2' =>
13317             'The word ["]cryptographic["] can be left out',
13318             };
13319              
13320             =item * stlport
13321              
13322             I
13323              
13324             =cut
13325              
13326             $RE{stlport} = {
13327             name => 'STLport',
13328             caption => 'STLport License Agreement',
13329             'summary.alt.org.fedora.iri.mit' => 'MIT-style license, Cheusov variant',
13330             iri => 'http://www.stlport.org/doc/license.html',
13331             tags => [
13332             'family:mit',
13333             'type:unversioned',
13334             ],
13335              
13336             'pat.alt.subject.license.scope.line.scope.sentence' =>
13337             'The Licensee may distribute binaries compiled',
13338             };
13339              
13340             =item * sugarcrm
13341              
13342             =item * sugarcrm_1_1_3
13343              
13344             =cut
13345              
13346             $RE{sugarcrm} = {
13347             name => 'SugarCRM',
13348             'name.alt.org.wikidata.synth.nogrant' => 'Q3976707',
13349             caption => 'SugarCRM Public License',
13350             tags => [
13351             'type:versioned:decimal',
13352             ],
13353             };
13354              
13355             $RE{sugarcrm_1_1_3} = {
13356             name => 'SugarCRM-1.1.3',
13357             'name.alt.org.spdx' => 'SugarCRM-1.1.3',
13358             'name.alt.org.tldr.path.short' => 'sugarcrm-1.1.3',
13359             caption => 'SugarCRM Public License v1.1.3',
13360             'caption.alt.org.tldr' =>
13361             'SugarCRM Public License v1.1.3 (SugarCRM-1.1.3)',
13362             tags => [
13363             'type:singleversion:sugarcrm',
13364             ],
13365             licenseversion => '1.1.3',
13366              
13367             'pat.alt.subject.license' =>
13368             'The SugarCRM Public License Version [(]["]SPL["][)] consists of',
13369             };
13370              
13371             =item * tosl
13372              
13373             I
13374              
13375             =cut
13376              
13377             # Yes, it is unversioned
13378             $RE{tosl} = {
13379             name => 'TOSL',
13380             'name.alt.org.fedora' => 'TOSL',
13381             'name.alt.org.spdx.since.date_20140807' => 'TOSL',
13382             'name.alt.misc.legal' => 'TRUST',
13383             caption => 'Trusster Open Source License',
13384             'caption.alt.org.fedora' => 'Trusster Open Source License',
13385             'caption.alt.misc.legal' =>
13386             'Trusster Open Source License version 1.0a (TRUST)',
13387             description => <<'END',
13388             Identical to Sleepycat, except...
13389             * generalize source access clause to cover "this software"
13390              
13391             Proof:
13392             [Github](https://github.com/trusster/trusster/blob/master/truss/cpp/src/truss_verification_top.cpp)
13393             END
13394             tags => [
13395             'type:unversioned',
13396             ],
13397              
13398             'pat.alt.subject.license.scope.line.part.clause4' =>
13399             'obtain complete source code for this software and',
13400             'pat.alt.subject.license.scope.paragraph.part.clause4' =>
13401             'Redistributions in any form must be accompanied by information on how to obtain'
13402             . ' complete source code for this software'
13403             . ' and any accompanying software that uses this software',
13404             };
13405              
13406             =item * truecrypt
13407              
13408             I
13409              
13410             =item * truecrypt_3
13411              
13412             I
13413              
13414             =cut
13415              
13416             $RE{truecrypt} = {
13417             name => 'TrueCrypt',
13418             caption => 'TrueCrypt License',
13419             'caption.alt.org.fedora' => 'TrueCrypt License',
13420             tags => [
13421             'type:versioned:decimal',
13422             ],
13423             };
13424              
13425             $RE{truecrypt_3} = {
13426             name => 'TrueCrypt-3.0',
13427             caption => 'TrueCrypt License Version 3.0',
13428             'caption.alt.org.tldr' => 'TrueCrypt License Version 3.0',
13429             iri => 'https://www.truecrypt71a.com/truecrypt-license/',
13430             tags => [
13431             'type:singleversion:truecrypt',
13432             ],
13433             licenseversion => '3.0',
13434              
13435             'pat.alt.subject.license.scope.line.scope.sentence' =>
13436             'License agreement for Encryption for the Masses',
13437             };
13438              
13439             =item * ucl
13440              
13441             I
13442              
13443             =item * ucl_1
13444              
13445             I
13446              
13447             =cut
13448              
13449             $RE{ucl} = {
13450             name => 'UCL',
13451             caption => 'Upstream Compatibility License',
13452             tags => [
13453             'type:versioned:decimal',
13454             ],
13455             };
13456              
13457             $RE{ucl_1} = {
13458             name => 'UCL-1.0',
13459             'name.alt.org.osi' => 'UCL-1.0',
13460             'name.alt.org.spdx.since.date_20191022' => 'UCL-1.0',
13461             caption => 'Upstream Compatibility License v. 1.0',
13462             'caption.alt.org.osi' => 'Upstream Compatibility License v1.0',
13463             tags => [
13464             'license:contains:grant',
13465             'type:singleversion:ucl',
13466             ],
13467             licenseversion => '1.0',
13468              
13469             'pat.alt.subject.license.scope.multisection.part.part1' =>
13470             'Licensed under the Upstream Compatibility License 1\.0[ ]'
13471             . '[*)]Grant of Copyright License[.]',
13472             };
13473              
13474             =item * unicode_dfs
13475              
13476             I
13477              
13478             =item * unicode_dfs_2015
13479              
13480             I
13481              
13482             =item * unicode_dfs_2016
13483              
13484             I
13485              
13486             =cut
13487              
13488             $RE{unicode_dfs} = {
13489             name => 'Unicode-DFS',
13490             'name.alt.org.wikidata.synth.nogrant' => 'Q67145209',
13491             caption => 'Unicode License Agreement - Data Files and Software',
13492             'caption.alt.org.wikidata' => 'Unicode, Inc. License Agreement',
13493             tags => [
13494             'license:is:grant',
13495             'type:versioned:decimal',
13496             ],
13497             };
13498              
13499             $RE{unicode_dfs_2015} = {
13500             name => 'Unicode-DFS-2015',
13501             'name.alt.org.fedora.synth.nogrant' => 'Unicode',
13502             'name.alt.org.spdx.since.date_20170106' => 'Unicode-DFS-2015',
13503             caption => 'Unicode License Agreement - Data Files and Software (2015)',
13504             'caption.alt.org.fedora' => 'Unicode License',
13505             'iri.alt.archive.time_20160426001149' =>
13506             'http://www.unicode.org/copyright.html#Exhibit1',
13507             tags => [
13508             'license:is:grant',
13509             'type:singleversion:unicode_dfs',
13510             ],
13511             licenseversion => '2015',
13512              
13513             'pat.alt.subject.license.part.clause_2' =>
13514             'this copyright and permission notice appear in associated documentation, and',
13515             };
13516              
13517             $RE{unicode_dfs_2016} = {
13518             name => 'Unicode-DFS-2016',
13519             'name.alt.org.osi' => 'Unicode-DFS-2016',
13520             'name.alt.org.spdx.since.date_20170106' => 'Unicode-DFS-2016',
13521             caption => 'Unicode License Agreement - Data Files and Software (2016)',
13522             'caption.alt.org.osi' =>
13523             'Unicode, Inc. License Agreement - Data Files and Software',
13524             'caption.alt.org.osi.misc.list' =>
13525             'Unicode Data Files and Software License',
13526             'caption.alt.org.osi.misc.cat_list' =>
13527             'Unicode License Agreement - Data Files and Software',
13528             iri => 'https://www.unicode.org/license.html',
13529             tags => [
13530             'license:is:grant',
13531             'type:singleversion:unicode_dfs',
13532             ],
13533             licenseversion => '2016',
13534              
13535             'pat.alt.subject.license.part.clause_2' =>
13536             'this copyright and permission notice appear in associated Documentation[.]',
13537             };
13538              
13539             =item * unicode_strict
13540              
13541             =cut
13542              
13543             $RE{unicode_strict} = {
13544             name => 'Unicode-strict',
13545             'name.alt.misc.scancode' => 'unicode-mappings',
13546             caption => 'Unicode strict',
13547             tags => [
13548             'license:is:grant',
13549             'type:unversioned',
13550             ],
13551              
13552             'pat.alt.subject.license' => 'hereby grants the right to freely use',
13553             };
13554              
13555             =item * unicode_tou
13556              
13557             =cut
13558              
13559             $RE{unicode_tou} = {
13560             name => 'Unicode-TOU',
13561             'name.alt.org.spdx.since.date_20140807' => 'Unicode-TOU',
13562             caption => 'Unicode Terms of Use',
13563             tags => [
13564             'type:unversioned',
13565             ],
13566              
13567             'pat.alt.subject.license' =>
13568             'distribute all documents and files solely for informational',
13569             };
13570              
13571             =item * unlicense
13572              
13573             =cut
13574              
13575             $RE{unlicense} = {
13576             name => 'Unlicense',
13577             'name.alt.org.osi' => 'Unlicense',
13578             'name.alt.org.spdx.since.date_20130912' => 'Unlicense',
13579             'name.alt.org.wikidata.synth.nogrant' => 'Q21659044',
13580             'iri.alt.org.wikipedia' => 'Unlicense',
13581             caption => 'The Unlicense',
13582             'caption.alt.org.fedora.iri.self' => 'Unlicense',
13583             'caption.alt.org.tldr' => 'Unlicense',
13584             'caption.alt.org.trove' => 'The Unlicense (Unlicense)',
13585             'caption.alt.org.wikidata' => 'Unlicense',
13586             iri => 'https://unlicense.org/',
13587             'iri.alt.format.txt' => 'https://unlicense.org/UNLICENSE',
13588             tags => [
13589             'type:unversioned',
13590             ],
13591              
13592             'pat.alt.subject.license.scope.line.scope.sentence' =>
13593             'This is free and unencumbered software released into the public domain',
13594             };
13595              
13596             =item * upl
13597              
13598             I
13599              
13600             =item * upl_1
13601              
13602             I
13603              
13604             =cut
13605              
13606             $RE{upl} = {
13607             name => 'UPL',
13608             'name.alt.org.fedora.iri.self' => 'UPL',
13609             'name.alt.org.wikidata.synth.nogrant' => 'Q38685700',
13610             caption => 'Universal Permissive License',
13611             'caption.alt.org.trove' => 'Universal Permissive License (UPL)',
13612             tags => [
13613             'type:versioned:decimal',
13614             ],
13615             };
13616              
13617             $RE{upl_1} = {
13618             name => 'UPL-1.0',
13619             'name.alt.org.osi.synth.nogrant' => 'UPL',
13620             'name.alt.org.spdx.since.date_20150730' => 'UPL-1.0',
13621             'name.alt.org.tldr.path.short' => 'upl-1,0',
13622             caption => 'Universal Permissive License v1.0',
13623             'caption.alt.org.osi' =>
13624             'The Universal Permissive License (UPL), Version 1.0',
13625             'caption.alt.org.osi.misc.list.synth.nogrant' =>
13626             'Universal Permissive License',
13627             'caption.alt.org.tldr' => 'Universal Permissive License 1.0 (UPL-1.0)',
13628             tags => [
13629             'license:is:grant',
13630             'type:singleversion:upl',
13631             ],
13632             licenseversion => '1.0',
13633              
13634             'pat.alt.subject.license.scope.line.scope.sentence' =>
13635             'The above copyright notice and either this complete permission notice',
13636             };
13637              
13638             =item * vsl
13639              
13640             I
13641              
13642             =item * vsl_1
13643              
13644             I
13645              
13646             =cut
13647              
13648             $RE{vsl} = {
13649             name => 'VSL',
13650             'name.alt.org.osi.iri.stem.until.date_20110430' => 'vovidapl',
13651             'name.alt.misc.fossology_old' => 'Vovida',
13652             caption => 'Vovida Software License',
13653             tags => [
13654             'type:versioned:decimal',
13655             ],
13656             };
13657              
13658             $RE{vsl_1} = {
13659             name => 'VSL-1.0',
13660             'name.alt.org.fedora.synth.nogrant' => 'VSL',
13661             'name.alt.org.osi' => 'VSL-1.0',
13662             'name.alt.org.spdx' => 'VSL-1.0',
13663             'name.alt.org.wikidata.synth.nogrant' => 'Q38349857',
13664             caption => 'Vovida Software License v1.0',
13665             'caption.alt.org.fedora' => 'Vovida Software License v. 1.0',
13666             'caption.alt.org.osi' => 'The Vovida Software License v. 1.0',
13667             'caption.alt.org.osi.misc.list' => 'Vovida Software License v. 1.0',
13668             'caption.alt.org.tldr' => 'Vovida Software License v1.0 (VSL-1.0)',
13669             'caption.alt.org.trove' => 'Vovida Software License 1.0',
13670             'caption.alt.org.wikidata' => 'Vovida Software License Version 1.0',
13671             description => <<'END',
13672             Identical to BSD (3 clause), except...
13673             * extend non-endorsement clause to include contact info
13674             * add derivatives-must-rename clause
13675              
13676             Identical to Apache 1.1, except...
13677             * drop advertisement clause
13678             * replace "Apache" and "Apache Software Foundation" with "VOCAL"
13679             * extend disclaimers to include title and non-infringement, and expensive damages
13680             END
13681             tags => [
13682             'license:contains:license:bsd_3_clause',
13683             'license:is:grant',
13684             'type:singleversion:vsl',
13685             ],
13686             licenseversion => '1.0',
13687              
13688             'pat.alt.subject.license.scope.line.scope.sentence.part.clause4' =>
13689             'Products derived from this software may not be called ["]VOCAL["],',
13690             };
13691              
13692             =item * vspl
13693              
13694             I
13695              
13696             =cut
13697              
13698             $RE{vspl} = {
13699             name => 'VSPL',
13700             caption => 'Very Simple Public License',
13701             'caption.alt.org.tldr' => 'Very Simple Public License (VSPL)',
13702             tags => [
13703             'type:unversioned',
13704             ],
13705              
13706             'pat.alt.subject.license.scope.sentence' =>
13707             'You can modify, distribute and use this software '
13708             . 'for any purpose without any restrictions '
13709             . 'as long as you keep this copyright notice intact' . '[. ]'
13710             . 'The software is provided without any warranty[.]',
13711             };
13712              
13713             =item * w3c
13714              
13715             I
13716              
13717             =item * w3c_19980519
13718              
13719             I
13720              
13721             =item * w3c_19980720
13722              
13723             I
13724              
13725             =item * w3c_20021231
13726              
13727             I
13728              
13729             =item * w3c_20150513
13730              
13731             I
13732              
13733             =cut
13734              
13735             $RE{w3c} = {
13736             name => 'W3C',
13737             'name.alt.org.debian.synth.nogrant' => 'W3C~unknown',
13738             'name.alt.org.wikidata.synth.nogrant' => 'Q3564577',
13739             caption => 'W3C License',
13740             'caption.alt.org.debian.synth.nogrant' => 'W3C License (unknown version)',
13741             'caption.alt.org.trove' => 'W3C License',
13742             'caption.alt.org.wikidata' => 'W3C Software Notice and License',
13743             'caption.alt.org.wikipedia' => 'W3C Software Notice and License',
13744             tags => [
13745             'type:versioned:decimal',
13746             ],
13747             };
13748              
13749             $RE{w3c_19980519} = {
13750             name => 'W3C-19980519',
13751             caption => 'W3C Software Notice and License (1998-05-19)',
13752             'caption.alt.misc.legal.synth.nogrant' => 'W3C IPR SOFTWARE NOTICE',
13753             iri =>
13754             'https://www.w3.org/Consortium/Legal/copyright-software-19980519.html',
13755             tags => [
13756             'license:is:grant',
13757             'type:singleversion:w3c',
13758             ],
13759             licenseversion => '19980519',
13760              
13761             'pat.alt.subject.license.scope.line.scope.sentence.part.intro' =>
13762             'This W3C software is being provided',
13763             'pat.alt.subject.license.scope.sentence.part.clause2' =>
13764             'If none exist, then a notice of the form',
13765             'pat.alt.subject.license.scope.line.scope.sentence.part.clause1' =>
13766             'A link or URL to the original W3C source',
13767             };
13768              
13769             $RE{w3c_19980720} = {
13770             name => 'W3C-19980720',
13771             'name.alt.org.spdx.since.date_20150513' => 'W3C-19980720',
13772             caption => 'W3C Software Notice and License (1998-07-20)',
13773             'caption.alt.misc.legal.synth.nogrant' =>
13774             'W3C® SOFTWARE NOTICE AND LICENSE',
13775             'caption.alt.misc.notice' =>
13776             'W3C\'s Software Intellectual Property License',
13777             iri => 'https://www.w3.org/Consortium/Legal/copyright-software-19980720',
13778             tags => [
13779             'license:is:grant',
13780             'type:singleversion:w3c',
13781             ],
13782             licenseversion => '19980720',
13783              
13784             'pat.alt.subject.license.scope.line.scope.sentence.part.intro' =>
13785             'This W3C work [(]including software, documents, or other',
13786             'pat.alt.subject.license.scope.line.scope.sentence.part.clause3' =>
13787             'Notice of any changes or modifications to the W3C files',
13788             };
13789              
13790             $RE{w3c_20021231} = {
13791             name => 'W3C-20021231',
13792             'name.alt.org.debian' => 'W3C-20021231',
13793             'name.alt.org.fedora.synth.nogrant' => 'W3C',
13794             'name.alt.org.osi.synth.nogrant' => 'W3C',
13795             'name.alt.org.spdx.synth.nogrant' => 'W3C',
13796             caption => 'W3C Software Notice and License (2002-12-31)',
13797             'caption.alt.org.fedora.synth.nogrant' =>
13798             'W3C Software Notice and License',
13799             'caption.alt.org.osi.synth.nogrant' =>
13800             'The W3C® SOFTWARE NOTICE AND LICENSE',
13801             'caption.alt.org.osi.misc.list.synth.nogrant' => 'W3C License',
13802             'caption.alt.org.spdx.until.date_20130912.synth.nogrant' =>
13803             'W3C Software and Notice License',
13804             'caption.alt.org.spdx.since.date_20130912.until.date_20150513.synth.nogrant'
13805             => 'W3C Software Notice and License',
13806             'caption.alt.org.spdx.since.date_20150513.synth.nogrant' =>
13807             'W3C Software Notice and License (2002-12-31)',
13808             'caption.alt.org.tldr.synth.nogrant' =>
13809             'W3C Software Notice and License (W3C)',
13810             'caption.alt.misc.notice' => 'W3C® Software License',
13811             iri =>
13812             'https://www.w3.org/Consortium/Legal/2002/copyright-software-20021231',
13813             tags => [
13814             'license:is:grant',
13815             'type:singleversion:w3c',
13816             ],
13817             licenseversion => '20021231',
13818              
13819             'pat.alt.subject.license.scope.line.scope.sentence.part.intro' =>
13820             'This work [(]and included software, documentation',
13821             'pat.alt.subject.license.scope.sentence.part.clause2' =>
13822             'If none exist, the W3C Software Short Notice',
13823             'pat.alt.subject.license.scope.line.scope.sentence.part.clause3' =>
13824             'Notice of any changes or modifications to the files,',
13825             };
13826              
13827             $RE{w3c_20150513} = {
13828             name => 'W3C-20150513',
13829             'name.alt.org.spdx.since.date_20170106' => 'W3C-20150513',
13830             caption => 'W3C Software and Document Notice and License (2015-05-13)',
13831             'caption.alt.org.spdx' =>
13832             'W3C Software Notice and Document License (2015-05-13)',
13833             'caption.alt.misc.notice' => 'W3C® Software and Document License',
13834             iri =>
13835             'https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document',
13836             tags => [
13837             'license:is:grant',
13838             'type:singleversion:w3c',
13839             ],
13840             licenseversion => '20150513',
13841              
13842             'pat.alt.subject.license.scope.line.scope.sentence.part.intro' =>
13843             'This work is being provided',
13844             'pat.alt.subject.license.scope.sentence.part.clause2' =>
13845             'If none exist, the W3C Software and Document Short Notice',
13846             'pat.alt.subject.license.scope.line.scope.sentence.part.clause3' =>
13847             'Notice of any changes or modifications, through',
13848             };
13849              
13850             =item * watcom
13851              
13852             =item * watcom_1
13853              
13854             =cut
13855              
13856             $RE{watcom} = {
13857             name => 'Watcom',
13858             'name.alt.org.osi.iri.stem.until.date_20110430' => 'sybase',
13859             'name.alt.org.wikidata.synth.nogrant' => 'Q7659488',
13860             caption => 'Sybase Open Watcom Public License',
13861             'caption.alt.org.wikipedia' => 'Sybase Open Watcom Public License',
13862             'caption.alt.misc.source' => 'The Sybase Open Source License',
13863             tags => [
13864             'type:versioned:decimal',
13865             ],
13866             };
13867              
13868             $RE{watcom_1} = {
13869             name => 'Watcom-1.0',
13870             'name.alt.org.osi' => 'Watcom-1.0',
13871             'name.alt.org.spdx' => 'Watcom-1.0',
13872             'name.alt.org.tldr' =>
13873             'sybase-open-watcom-public-license-1.0-(watcom-1.0)',
13874             caption => 'Sybase Open Watcom Public License 1.0',
13875             'caption.alt.org.fedora' => 'Sybase Open Watcom Public License 1.0',
13876             'caption.alt.org.osi.synth.nogrant' => 'The Sybase Open Source Licence',
13877             'caption.alt.org.osi.misc.list' =>
13878             'Sybase Open Watcom Public License 1.0',
13879             'caption.alt.org.tldr' =>
13880             'Sybase Open Watcom Public License 1.0 (Watcom-1.0)',
13881             iri => 'ftp://ftp.openwatcom.org/install/license.txt',
13882             tags => [
13883             'type:singleversion:watcom',
13884             ],
13885             licenseversion => '1.0',
13886              
13887             'pat.alt.subject.license.scope.line.scope.sentence' =>
13888             'USE OF THE SYBASE OPEN WATCOM SOFTWARE DESCRIBED BELOW',
13889             };
13890              
13891             =item * wordnet
13892              
13893             I
13894              
13895             =cut
13896              
13897             $RE{wordnet} = {
13898             name => 'WordNet',
13899             caption => 'WordNet License',
13900             'summary.alt.org.fedora.iri.mit' => 'MIT-style license, WordNet Variant',
13901             iri => 'https://wordnet.princeton.edu/license-and-commercial-use',
13902             'iri.alt.archive.time_20180118074053' =>
13903             'https://wordnet.princeton.edu/wordnet/license',
13904             tags => [
13905             'family:mit',
13906             'license:is:grant',
13907             'type:unversioned',
13908             ],
13909              
13910             'pat.alt.subject.license.scope.line.scope.sentence.part.intro' =>
13911             'This software and database is being provided',
13912             '_pat.alt.subject.license.scope.line.scope.sentence.part.permissions' => [
13913              
13914             # cover line wrapping at either side of word "database"
13915             'distribute this software and database',
13916             'database and its documentation for any purpose',
13917             ],
13918             };
13919              
13920             =item * wtfpl
13921              
13922             =item * wtfpl_1
13923              
13924             I
13925              
13926             =item * wtfpl_2
13927              
13928             I
13929              
13930             =cut
13931              
13932             $RE{wtfpl} = {
13933             name => 'WTFPL',
13934             'name.alt.org.fedora.iri.self' => 'WTFPL',
13935             'name.alt.org.wikidata.synth.nogrant' => 'Q152481',
13936             'name.alt.org.wikipedia' => 'WTFPL',
13937             caption => 'do What The Fuck you want to Public License',
13938             'caption.alt.org.fedora' => 'Do What The F*ck You Want To Public License',
13939             'caption.alt.misc.shorter' => 'WTF Public License',
13940             'caption.alt.org.wikidata' => 'WTFPL',
13941             iri => 'http://www.wtfpl.net/',
13942             'iri.alt.misc.old' => 'http://sam.zoy.org/wtfpl/COPYING',
13943             tags => [
13944             'type:versioned:decimal',
13945             ],
13946              
13947             'pat.alt.subject.name' =>
13948             "$the?[Dd]o What The F(?:u|[*])ck [Yy]ou [Ww]ant(?: [Tt]o)? Public License"
13949             . '(?: [(]WTFPL[)])?',
13950             'pat.alt.subject.license.scope.sentence' =>
13951             '[Yy]ou just[ ]DO WHAT THE FUCK YOU WANT TO[.]',
13952             };
13953              
13954             $RE{wtfpl_1} = {
13955             name => 'WTFPL-1.0',
13956             'name.alt.org.debian' => 'WTFPL-1.0',
13957             'name.alt.org.spdx.since.date_20130117.synth.nogrant' => 'WTFPL',
13958             caption => 'Do What The Fuck You Want To Public License, Version 1',
13959             'caption.alt.org.spdx.synth.nogrant' =>
13960             'Do What The F*ck You Want To Public License',
13961             'caption.alt.org.tldr' =>
13962             'Do What The F*ck You Want To Public License (WTFPL)',
13963             iri => 'http://cvs.windowmaker.org/co.php/wm/COPYING.WTFPL',
13964             tags => [
13965             'license:is:grant',
13966             'license:published:by_sam_hocevar',
13967             'type:singleversion:wtfpl',
13968             ],
13969             licenseversion => '1.0',
13970              
13971             'pat.alt.subject.license.scope.sentence' =>
13972             'simple and you just[ ]DO WHAT THE FUCK YOU WANT TO[.]',
13973             };
13974              
13975             $RE{wtfpl_2} = {
13976             name => 'WTFPL-2',
13977             'name.alt.org.tldr' => 'do-wtf-you-want-to-public-license-v2-(wtfpl-2.0)',
13978             'name.alt.org.tldr.path.short' => 'wtfpl',
13979             caption => 'Do What The Fuck You Want To Public License, Version 2',
13980             'caption.alt.legal.license' =>
13981             'DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE, Version 2',
13982             'caption.alt.org.tldr' =>
13983             'Do What The F*ck You Want To Public License v2 (WTFPL-2.0)',
13984             iri => 'http://www.wtfpl.net/',
13985             'iri.alt.misc.old' => 'http://sam.zoy.org/wtfpl/COPYING',
13986             tags => [
13987             'license:is:grant',
13988             'license:published:by_sam_hocevar',
13989             'type:singleversion:wtfpl',
13990             ],
13991             licenseversion => '2.0',
13992              
13993             'pat.alt.subject.license.part.header' =>
13994             'of the Do What The Fuck You Want To Public License',
13995             'pat.alt.subject.license.scope.sentence' =>
13996             '[*)]You just[ ]DO WHAT THE FUCK YOU WANT TO[.]',
13997             };
13998              
13999             =item * wtfnmfpl
14000              
14001             I
14002              
14003             =item * wtfnmfpl_1
14004              
14005             I
14006              
14007             =cut
14008              
14009             $RE{wtfnmfpl} = {
14010             name => 'WTFNMFPL',
14011             'caption.alt.org.tldr' =>
14012             'Do What The Fuck You Want To But It\'s Not My Fault Public License v1 (WTFNMFPL-1.0)',
14013             tags => [
14014             'type:versioned:decimal',
14015             ],
14016             };
14017              
14018             $RE{wtfnmfpl_1} = {
14019             name => 'WTFNMFPL-1.0',
14020             'name.alt.misc.short' => 'WTFNMFPLv1',
14021             caption =>
14022             'Do What The Fuck You Want To But It\'s Not My Fault Public License v1',
14023             'caption.alt.legal.license' =>
14024             'DO WHAT THE FUCK YOU WANT TO BUT IT\'S NOT MY FAULT PUBLIC LICENSE, Version 1',
14025             'caption.alt.org.tldr' =>
14026             'Do What The Fuck You Want To But It\'s Not My Fault Public License v1 (WTFNMFPL-1.0)',
14027             iri =>
14028             'http://www.adversary.org/wp/2013/10/14/do-what-the-fuck-you-want-but-its-not-my-fault/',
14029             'iri.alt.iri.github' => 'https://github.com/adversary-org/wtfnmf',
14030             tags => [
14031             'license:is:grant',
14032             'type:singleversion:wtfnmfpl',
14033             ],
14034             licenseversion => '1.0',
14035              
14036             'pat.alt.subject.license' =>
14037             'Do not hold the author[(]s[)], creator[(]s[)], developer[(]s[)] or distributor[(]s[)]',
14038             };
14039              
14040             =item * x11
14041              
14042             I
14043              
14044             =cut
14045              
14046             $RE{x11} = {
14047             name => 'X11',
14048             'name.alt.org.spdx.since.date_20130117.synth.nogrant' => 'X11',
14049             'name.alt.org.tldr.path.short' => 'x11',
14050             'name.alt.org.wikidata.synth.nogrant' => 'Q18526202',
14051             'caption.alt.misc.mit' => 'MIT/X11',
14052             caption => 'X11 License',
14053             'caption.alt.org.tldr' => 'X11 License',
14054             'caption.alt.org.wikidata' => 'X11 license',
14055             'caption.alt.misc.mit_no_license' => 'MIT X11',
14056             'caption.alt.misc.wayland' => 'the MIT X11 license',
14057             description => <<'END',
14058             Origin: By MIT Laboratory for Computer Science (MIT–LCS) in 1984 for PC/IP.
14059              
14060             Proof:
14061             END
14062             tags => [
14063             'family:mit',
14064             'license:contains:license:mit_new',
14065             'license:is:grant',
14066             'type:unversioned',
14067             ],
14068              
14069             'pat.alt.subject.license.scope.multisection.part.last_half' =>
14070             $P{to_copy_sublicence_conditions}
14071             . '[:][ ]'
14072             . $P{retain_copr_perm_subst}
14073             . '[.][ ]'
14074             . $P{discl_warranties_any_kind_noninfringement} . '[. ]'
14075             . $P{discl_liability_claim}
14076             . '[.][ ]'
14077             . 'Except as contained in this notice, the name of the X Consortium'
14078             . ' shall not be used in advertising',
14079             'pat.alt.subject.license.scope.line.scope.sentence' =>
14080             'Except as contained in this notice, the name of the X Consortium',
14081             };
14082              
14083             =item * xfree86
14084              
14085             I
14086              
14087             =item * xfree86_1_1
14088              
14089             I
14090              
14091             =cut
14092              
14093             $RE{xfree86} = {
14094             name => 'XFree86',
14095             'name.alt.org.wikidata.synth.nogrant' => 'Q100375790',
14096             caption => 'XFree86 License',
14097             tags => [
14098             'type:versioned:decimal',
14099             ],
14100             };
14101              
14102             $RE{xfree86_1_1} = {
14103             name => 'XFree86-1.1',
14104             'name.alt.org.spdx' => 'XFree86-1.1',
14105             caption => 'XFree86 License 1.1',
14106             'caption.alt.org.tldr' => 'XFree86 License 1.1 (XFree86-1.1)',
14107             description => <<'END',
14108             Identical to BSD (4 clause), except...
14109             * replace permissions clause with MIT (Expat) or X11 permissions clause
14110             * extend reproduce-copyright-notices clause to require specific placement
14111             * extend non-endorsement clause to require specific placement
14112             * replace non-endorsement clause with X11 non-endorsement clause
14113             END
14114             tags => [
14115             'family:bsd',
14116             'license:contains:license:bsd_2_clause',
14117             'license:is:grant',
14118             'type:singleversion:xfree86',
14119             ],
14120             licenseversion => '1.1',
14121              
14122             'pat.alt.subject.license.scope.sentence' =>
14123             'in the same place and form as other',
14124             };
14125              
14126             =item * xnet
14127              
14128             I
14129              
14130             =cut
14131              
14132             $RE{xnet} = {
14133             name => 'Xnet',
14134             'name.alt.org.osi' => 'Xnet',
14135             'name.alt.org.osi.iri.stem.until.date_20110430' => 'xnet',
14136             'name.alt.org.spdx' => 'Xnet',
14137             'name.alt.org.wikidata.synth.nogrant' => 'Q38346089',
14138             caption => 'X.Net License',
14139             'caption.alt.org.fedora' => 'X.Net License',
14140             'caption.alt.org.osi' => 'The X.Net, Inc. License',
14141             'caption.alt.org.osi.misc.list' => 'X.Net License',
14142             'caption.alt.org.tldr' => 'X.Net License (Xnet)',
14143             'caption.alt.org.trove' => 'X.Net License',
14144             'caption.alt.org.wikidata' => 'X.Net, Inc. License',
14145             description => <<'END',
14146             Identical to MIT (a.k.a. Expat), except...
14147             * add requirement of governance in the State of California
14148             END
14149             tags => [
14150             'family:mit',
14151             'license:contains:license:mit_new',
14152             'license:is:grant',
14153             'type:unversioned',
14154             ],
14155              
14156             'pat.alt.subject.license' =>
14157             'This agreement shall be governed in all respects',
14158             };
14159              
14160             =item * ypl
14161              
14162             I
14163              
14164             =item * ypl_1
14165              
14166             I
14167              
14168             =item * ypl_1_1
14169              
14170             I
14171              
14172             =cut
14173              
14174             $RE{ypl} = {
14175             name => 'YPL',
14176             'name.alt.org.wikidata.synth.nogrant' => 'Q16948289',
14177             caption => 'Yahoo! Public License',
14178             tags => [
14179             'type:versioned:decimal',
14180             ],
14181             };
14182              
14183             $RE{ypl_1} = {
14184             name => 'YPL-1.0',
14185             'name.alt.org.spdx' => 'YPL-1.0',
14186             caption => 'Yahoo! Public License v1.0',
14187             'caption.alt.org.fedora' => 'Yahoo Public License 1.0',
14188             iri => 'https://www.zimbra.com/license/yahoo_public_license_1.0.html',
14189             tags => [
14190             'type:singleversion:ypl',
14191             ],
14192             licenseversion => '1.0',
14193              
14194             'pat.alt.subject.license.scope.line.scope.sentence.part.section6_2' =>
14195             'In the event Yahoo! determines that',
14196             };
14197              
14198             $RE{ypl_1_1} = {
14199             name => 'YPL-1.1',
14200             'name.alt.org.fedora' => 'YPLv1.1',
14201             'name.alt.org.spdx' => 'YPL-1.1',
14202             caption => 'Yahoo! Public License v1.1',
14203             'caption.alt.org.fedora' => 'Yahoo Public License v 1.1',
14204             'caption.alt.org.tldr' => 'Yahoo! Public License v1.1 (YPL-1.1)',
14205             iri => 'http://www.zimbra.com/license/yahoo_public_license_1.1.html',
14206             tags => [
14207             'type:singleversion:ypl',
14208             ],
14209             licenseversion => '1.1',
14210              
14211             'pat.alt.subject.license.scope.line.scope.sentence.part.section6_2' =>
14212             'In the event You violate the terms of this Agreement, Yahoo!',
14213             };
14214              
14215             =item * zed
14216              
14217             I
14218              
14219             =cut
14220              
14221             $RE{zed} = {
14222             name => 'Zed',
14223             'name.alt.org.fedora' => 'Zed',
14224             'name.alt.org.spdx.since.date_20140807' => 'Zed',
14225             caption => 'Zed License',
14226             'caption.alt.org.tldr' => 'Zed License',
14227             tags => [
14228             'license:is:grant',
14229             'type:unversioned',
14230             ],
14231              
14232             'pat.alt.subject.license.scope.line.scope.sentence' =>
14233             'You may copy and distribute this file freely',
14234             };
14235              
14236             =item * zend
14237              
14238             I
14239              
14240             =item * zend_2
14241              
14242             I
14243              
14244             =cut
14245              
14246             $RE{zend} = {
14247             name => 'ZEL',
14248             'name.alt.org.wikidata.synth.nogrant' => 'Q85269786',
14249             caption => 'Zend Engine License',
14250             'caption.alt.org.wikidata' => 'Zend license',
14251             'caption.alt.misc.short' => 'Zend License',
14252             tags => [
14253             'type:versioned:decimal',
14254             ],
14255             };
14256              
14257             $RE{zend_2} = {
14258             name => 'ZEL-2.00',
14259             'name.alt.misc.fsf' => 'ZELv2.0',
14260             'name.alt.org.fedora.synth.nogrant' => 'Zend',
14261             'name.alt.org.spdx.since.date_20140807' => 'Zend-2.0',
14262             caption => 'Zend License v2.0',
14263             'caption.alt.org.fedora' => 'Zend License v2.0',
14264             'caption.alt.misc.legal' => 'The Zend Engine License, version 2.00',
14265             iri => 'http://www.zend.com/license/2_00.txt',
14266             tags => [
14267             'type:singleversion:zend',
14268             ],
14269             licenseversion => '2.00',
14270              
14271             'pat.alt.subject.license.scope.line.scope.sentence.part.clause4' =>
14272             'Zend Technologies Ltd\. may publish revised and[/]or new',
14273             };
14274              
14275             =item * zimbra
14276              
14277             I
14278              
14279             =item * zimbra_1_3
14280              
14281             I
14282              
14283             =item * zimbra_1_4
14284              
14285             =cut
14286              
14287             $RE{zimbra} = {
14288             name => 'Zimbra',
14289             'name.alt.misc.fsf' => 'ZPL',
14290             caption => 'Zimbra Public License',
14291             tags => [
14292             'type:versioned:decimal',
14293             ],
14294             };
14295              
14296             $RE{zimbra_1_3} = {
14297             name => 'Zimbra-1.3',
14298             'name.alt.org.fsf' => 'ZPLv1.3',
14299             'name.alt.org.spdx' => 'Zimbra-1.3',
14300             caption => 'Zimbra Public License v1.3',
14301             'caption.alt.org.fedora' => 'Zimbra Public License 1.3',
14302             'caption.alt.org.tldr' => 'Zimbra Public License v1.3 (Zimbra-1.3)',
14303             'caption.alt.misc.legal' => 'Zimbra Public License, Version 1.3 (ZPL)',
14304             iri => 'http://www.zimbra.com/license/zimbra-public-license-1-3.html',
14305             tags => [
14306             'type:singleversion:zimbra',
14307             ],
14308             licenseversion => '1.3',
14309              
14310             'pat.alt.subject.license.scope.line.scope.sentence.part.section1_1' =>
14311             'Subject to the terms and conditions of this Agreement, VMware',
14312             };
14313              
14314             $RE{zimbra_1_4} = {
14315             name => 'Zimbra-1.4',
14316             'name.alt.org.spdx.since.date_20150513' => 'Zimbra-1.4',
14317             caption => 'Zimbra Public License v1.4',
14318             'caption.alt.org.tldr.synth.nogrant' => 'zimbra public license',
14319             'caption.alt.misc.legal' => 'Zimbra Public License, Version 1.4 (ZPL)',
14320             iri => 'https://www.zimbra.com/legal/zimbra-public-license-1-4/',
14321             tags => [
14322             'type:singleversion:zimbra',
14323             ],
14324             licenseversion => '1.4',
14325              
14326             'pat.alt.subject.license.scope.line.scope.sentence.part.section1_1' =>
14327             'Subject to the terms and conditions of this Agreement, Zimbra',
14328             };
14329              
14330             =item * zlib
14331              
14332             =cut
14333              
14334             $RE{zlib} = {
14335             name => 'Zlib',
14336             'name.alt.org.fedora' => 'zlib',
14337             'name.alt.org.fsf' => 'Zlib',
14338             'name.alt.org.osi' => 'Zlib',
14339             'name.alt.org.osi.iri.stem.until.date_20110430' => 'zlib-license',
14340             'name.alt.org.perl' => 'zlib',
14341             'name.alt.org.spdx' => 'Zlib',
14342             'name.alt.org.tldr.path.short' => 'zlib',
14343             'name.alt.org.wikidata.synth.nogrant' => 'Q207243',
14344             caption => 'zlib License',
14345             'caption.alt.org.fedora' => 'zlib/libpng License',
14346             'caption.alt.org.osi' => 'The zlib/libpng License',
14347             'caption.alt.org.osi.misc.list' => 'zlib/libpng license',
14348             'caption.alt.org.tldr' => 'Zlib-Libpng License (Zlib)',
14349             'caption.alt.org.trove' => 'zlib/libpng License',
14350             'caption.alt.org.wikipedia.misc.case' => 'zlib license',
14351             iri => 'http://zlib.net/zlib_license.html',
14352             'iri.alt.org.steward' => 'http://www.gzip.org/zlib/zlib_license.html',
14353             tags => [
14354             'family:zlib',
14355             'license:is:grant',
14356             'type:unversioned',
14357             ],
14358              
14359             'pat.alt.subject.license.scope.multisection' =>
14360             $P{origin_sw_no_misrepresent}
14361             . $P{you_not_claim_wrote} . '[. ]'
14362             . $P{use_ack_apprec_not_req}
14363             . '[.][ ]'
14364             . $P{altered_srcver_mark}
14365             . '[.][ ]'
14366             . $P{notice_no_alter},
14367             };
14368              
14369             =item * zlib_acknowledgement
14370              
14371             =cut
14372              
14373             $RE{zlib_acknowledgement} = {
14374             name => 'zlib-acknowledgement',
14375             'name.alt.org.fedora.iri.self' => 'Nunit',
14376             'name.alt.org.spdx.since.date_20140807' => 'zlib-acknowledgement',
14377             'name.alt.org.spdx.misc.old.since.date_20140807.until.date_20171228' =>
14378             'Nunit',
14379             caption => 'zlib/libpng License with Acknowledgement',
14380             'caption.alt.org.fedora' => 'zlib/libpng License with Acknowledgement',
14381             'caption.alt.org.fedora.misc.short' => 'zlib with acknowledgement',
14382             'caption.alt.org.fedora.misc.nunit' => 'Nunit License',
14383             'caption.alt.org.spdx' => 'zlib/libpng License with Acknowledgement',
14384             'caption.alt.org.spdx.misc.old.until.date_20171228' => 'Nunit License',
14385             tags => [
14386             'family:zlib',
14387             'license:is:grant',
14388             'type:unversioned',
14389             ],
14390              
14391             'pat.alt.subject.license.scope.multisection' =>
14392             $P{origin_sw_no_misrepresent}
14393             . $P{you_not_claim_wrote} . '[. ]'
14394             . $P{use_ack_req}
14395             . '[.][ ]Portions Copyright \S+ [-#]+ Charlie Poole '
14396             . 'or Copyright \S+ [-#]+ James W\. Newkirk, Michael C\. Two, Alexei A\. Vorontsov '
14397             . 'or Copyright \S+ [-#]+ Philip A\. Craig[ ]'
14398             . $P{altered_srcver_mark}
14399             . '[.][ ]'
14400             . $P{notice_no_alter},
14401             };
14402              
14403             =item * zpl
14404              
14405             I
14406              
14407             =item * zpl_1
14408              
14409             I
14410              
14411             =item * zpl_1_1
14412              
14413             I
14414              
14415             =item * zpl_2
14416              
14417             I
14418              
14419             =item * zpl_2_1
14420              
14421             I
14422              
14423             =cut
14424              
14425             $RE{zpl} = {
14426             name => 'ZPL',
14427             'name.alt.org.osi.iri.stem.until.date_20110430' => 'zpl',
14428             'name.alt.org.wikidata.synth.nogrant' => 'Q3780982',
14429             'name.alt.misc.fossology_old' => 'Zope',
14430             caption => 'Zope Public License',
14431             'caption.alt.org.trove.synth.nogrant' => 'Zope Public License',
14432             'caption.alt.org.wikipedia' => 'Zope Public License',
14433             tags => [
14434             'type:versioned:decimal',
14435             ],
14436             };
14437              
14438             $RE{zpl_1} = {
14439             name => 'ZPL-1.0',
14440             'name.alt.org.fedora' => 'ZPLv1.0',
14441             'name.alt.org.fsf' => 'ZopePLv1.0',
14442             caption => 'Zope Public License (ZPL) Version 1.0',
14443             'caption.alt.org.fedora' => 'Zope Public License v 1.0',
14444             'caption.alt.misc.plain' => 'Zope Public License 1.0',
14445             'iri.alt.archive.time_20000816090640' =>
14446             'http://www.zope.org/Resources/ZPL',
14447             tags => [
14448             'type:singleversion:zpl',
14449             ],
14450             licenseversion => '1.0',
14451             };
14452              
14453             $RE{zpl_1_1} = {
14454             name => 'ZPL-1.1',
14455             'name.alt.org.spdx' => 'ZPL-1.1',
14456             'name.alt.misc.fossology_old' => 'ZPL1.1',
14457             caption => 'Zope Public License 1.1',
14458             'caption.alt.org.tldr' => 'Zope Public License 1.1 (ZPL-1.1)',
14459             tags => [
14460             'type:singleversion:zpl',
14461             ],
14462             licenseversion => '1.1',
14463             };
14464              
14465             $RE{zpl_2} = {
14466             name => 'ZPL-2.0',
14467             'name.alt.org.fedora' => 'ZPLv2.0',
14468             'name.alt.org.osi' => 'ZPL-2.0',
14469             'name.alt.org.spdx' => 'ZPL-2.0',
14470             'name.alt.org.tldr.path.short' => 'zpl-2.0',
14471             'name.alt.misc.fossology_old' => 'Zope-PL_v2.0',
14472             'name.alt.misc.fossology_old_short' => 'ZPL2.0',
14473             caption => 'Zope Public License 2.0',
14474             'caption.alt.org.fedora' => 'Zope Public License v 2.0',
14475             'caption.alt.org.osi' => 'The Zope Public License Ver.2.0',
14476             'caption.alt.org.osi.misc.list' => 'Zope Public License 2.0',
14477             'caption.alt.org.osi.misc.cat_list' => 'Zope Public License 2.o',
14478             'caption.alt.org.tldr' => 'Zope Public License 2.0 (ZPL-2.0)',
14479             iri => 'http://old.zope.org/Resources/License/ZPL-1.1',
14480             tags => [
14481             'family:bsd',
14482             'license:contains:license:bsd_3_clause',
14483             'license:is:grant',
14484             'type:singleversion:zpl',
14485             ],
14486             licenseversion => '2.0',
14487              
14488             'pat.alt.subject.license.scope.multisection.part.part2_3' =>
14489             $P{repro_copr_cond_discl}
14490             . '[.][ ]' . '[*)]'
14491             . 'The name Zope Corporation[tm] must not '
14492             . $P{used_endorse_deriv}
14493             . $P{without_prior_written},
14494             'pat.alt.subject.license.scope.sentence.part.part3' =>
14495             'The name Zope Corporation[tm] must not be used to endorse',
14496             };
14497              
14498             $RE{zpl_2_1} = {
14499             name => 'ZPL-2.1',
14500             'name.alt.org.fedora' => 'ZPLv2.1',
14501             'name.alt.org.fsf' => 'ZPL-2.1',
14502             'name.alt.org.spdx' => 'ZPL-2.1',
14503             'name.alt.misc.fossology_old' => 'ZPL2.1',
14504             caption => 'Zope Public License 2.1',
14505             'caption.alt.org.fedora' => 'Zope Public License v 2.1',
14506             'caption.alt.org.fsf' => 'Zope Public License Version 2.1',
14507             'caption.alt.org.tldr' => 'Zope Public License 2.1 (ZPL-2.1)',
14508             iri => 'http://old.zope.org/Resources/ZPL/',
14509             description => <<'END',
14510             Identical to BSD 3-Clause Modification, except...
14511             * add no-ServiceMarks clause
14512             END
14513             tags => [
14514             'family:bsd',
14515             'license:is:grant',
14516             'type:singleversion:zpl',
14517             ],
14518             licenseversion => '2.1',
14519              
14520             'pat.alt.subject.license.scope.multisection.part.part2_3' =>
14521             $P{nopromo_neither}
14522             . ' from the copyright holders'
14523             . '[.][ ]' . '[*)]'
14524             . 'The right to distribute this software or to use it for any purpose'
14525             . ' does not give you the right to use Servicemarks',
14526             };
14527              
14528             =back
14529              
14530             =head2 License combinations
14531              
14532             Patterns each covering a combination of multiple licenses.
14533              
14534             Each of these patterns has the tag B< type:combo >.
14535              
14536             =over
14537              
14538             =item * net_snmp
14539              
14540             I
14541              
14542             =cut
14543              
14544             $RE{net_snmp} = {
14545             name => 'Net-SNMP',
14546             'name.alt.org.spdx.since.date_20170106' => 'Net-SNMP',
14547             caption => 'Net-SNMP License',
14548             tags => [
14549             'license:contains:license:bsd_3_clause',
14550             'license:contains:license:hpnd',
14551             'license:contains:license:mit_cmu',
14552             'type:combo',
14553             ],
14554             };
14555              
14556             =item * perl
14557              
14558             =cut
14559              
14560             $RE{perl} = {
14561             name => 'Perl',
14562             'name.alt.org.perl' => 'perl_5',
14563             'name.alt.misc.spdx' => 'Artistic or GPL-1+',
14564             caption => 'The Perl 5 License',
14565             'caption.alt.org.fedora' => 'Perl License',
14566             'caption.alt.misc.short' => 'Perl License',
14567             'caption.alt.misc.long' => 'The Perl 5 programming language License',
14568             'caption.alt.org.perl' =>
14569             'The Perl 5 License (Artistic 1 & GPL 1 or later)',
14570             summary =>
14571             'the same terms as the Perl 5 programming language itself (Artistic or GPL)',
14572             'summary.alt.misc.short' => 'same terms as Perl',
14573             'summary.alt.misc.software_license' =>
14574             'same terms as the Perl 5 programming language system itself',
14575             tags => [
14576             'license:includes:license:artistic_1_perl',
14577             'license:includes:license:gpl_1_or_newer',
14578             'type:combo',
14579             ],
14580              
14581             'pat.alt.subject.name.misc.summary' =>
14582             "$the?same terms as $the?Perl(?: 5)?(?: programming language)? itself(?: [(]Artistic or GPL[)])?",
14583             'pat.alt.subject.license.scope.multisection.part.license' =>
14584             '(?:under the terms of either[:][ ])?'
14585             . '[*)]the GNU General Public License '
14586             . 'as published by the Free Software Foundation[;] '
14587             . 'either version 1, or [(]at your option[)] any later version, '
14588             . 'or[ ]'
14589             . '[*)]the ["]Artistic License["]',
14590             };
14591              
14592             =item * python_2
14593              
14594             I
14595              
14596             =cut
14597              
14598             # license scheme is combo, despite versioned name
14599             $RE{python_2} = {
14600             name => 'Python-2.0',
14601             'name.alt.org.fedora' => 'Python',
14602             'name.alt.org.osi' => 'Python-2.0',
14603             'name.alt.org.osi.iri.stem.until.date_20110430.synth.nogrant' =>
14604             'PythonSoftFoundation',
14605             'name.alt.org.spdx' => 'Python-2.0',
14606             'name.alt.org.tldr.path.short' => 'python2',
14607             'name.alt.misc.fossology_old' => 'Python_v2',
14608             'name.alt.org.wikidata' => 'Q5975028',
14609             caption => 'Python License 2.0',
14610             'caption.alt.org.fedora' => 'Python License',
14611             'caption.alt.org.osi' => 'Python License',
14612             'caption.alt.org.tldr' => 'Python License 2.0',
14613             'caption.alt.org.trove' => 'Python License (CNRI Python License)',
14614             'caption.alt.org.trove.misc.short' => 'CNRI Python License',
14615             'summary.alt.org.osi' => 'overall Python license',
14616             iri => 'https://docs.python.org/3/license.html',
14617             'iri.alt.misc.old' => 'https://www.python.org/psf/license/',
14618             tags => [
14619             'license:contains:license:cnri_python',
14620             'license:contains:license:psf_2',
14621             'type:combo',
14622             ],
14623             licenseversion => '2.0',
14624              
14625             'pat.alt.subject.license.scope.multisection' =>
14626             '[*)]This LICENSE AGREEMENT is between '
14627             . 'the Python Software Foundation [(]["]PSF["][)], '
14628             . 'and the Individual or Organization [(]["]Licensee["][)] '
14629             . 'accessing and otherwise using [word][ word]{0,3} '
14630             . 'in source or binary form and its associated documentation'
14631             . '[.][ ]'
14632             . '[*)]Subject to the terms and conditions of this License Agreement, '
14633             . 'PSF hereby grants Licensee a nonexclusive, royalty-free, world-wide license '
14634             . 'to reproduce, analyze, test, perform and[/]or display publicly, '
14635             . 'prepare derivative works, distribute, and otherwise use Python[ word]? '
14636             . 'alone or in any derivative version, '
14637             . 'provided, however, '
14638             . 'that PSF[\']s License Agreement and PSF[\']s notice of copyright, '
14639             . '[ie], ["]Copyright [c] [word][ word]{0,5} Python Software Foundation[;] All Rights Reserved["] '
14640             . 'are retained in Python[ word]? alone or in any derivative version prepared by Licensee'
14641             . '[.][ ]'
14642             . '[*)]In the event Licensee prepares a derivative work '
14643             . 'that is based on or incorporates [word][ word]{0,3} or any part thereof, '
14644             . 'and wants to make the derivative work available to others as provided herein, '
14645             . 'then Licensee hereby agrees to include in any such work '
14646             . 'a brief summary of the changes made to Python[ word]?'
14647             . '[.][ ]'
14648             . '[*)]PSF is making Python[ word]? available to Licensee on an [as is] basis'
14649             . '[.][ ]'
14650             . 'PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED'
14651             . '[.][ ]'
14652             . 'BY WAY OF EXAMPLE, BUT NOT LIMITATION, '
14653             . 'PSF MAKES NO AND DISCLAIMS ANY REPRESENTATION OR WARRANTY '
14654             . 'OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE '
14655             . 'OR THAT THE USE OF PYTHON[ word]? WILL NOT INFRINGE ANY THIRD PARTY RIGHTS'
14656             . '[.][ ]'
14657             . '[*)]PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON[ word]? '
14658             . 'FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS '
14659             . 'AS A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING '
14660             . 'PYTHON[ word]?, OR ANY DERIVATIVE THEREOF, '
14661             . 'EVEN IF ADVISED OF THE POSSIBILITY THEREOF'
14662             . '[.][ ]'
14663             . '[*)]This License Agreement will automatically terminate '
14664             . 'upon a material breach of its terms and conditions'
14665             . '[.][ ]'
14666             . '[*)]Nothing in this License Agreement shall be deemed to create '
14667             . 'any relationship of agency, partnership, or joint venture between PSF and Licensee'
14668             . '[.][ ]'
14669             . 'This License Agreement does not grant permission '
14670             . 'to use PSF trademarks or trade name in a trademark sense '
14671             . 'to endorse or promote products or services of Licensee, or any third party'
14672             . '[.][ ]'
14673             . '[*)]By copying, installing or otherwise using Python[ word]?, '
14674             . 'Licensee agrees to be bound by the terms and conditions of this License Agreement'
14675             . '[.][ ]'
14676             . 'BEOPEN\.COM LICENSE AGREEMENT FOR PYTHON 2\.0'
14677             . '([ ][-]+)?[ ]?'
14678             . 'BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1' . '[ ]'
14679             . '[*)]This LICENSE AGREEMENT is between BeOpen\.com [(]["]BeOpen["][)], '
14680             . 'having an office at 160 Saratoga Avenue, Santa Clara, CA 95051, '
14681             . 'and the Individual or Organization [(]["]Licensee["][)] '
14682             . 'accessing and otherwise using '
14683             . 'this software in source or binary form and its associated documentation [(]["]the Software["][)]'
14684             . '[.][ ]'
14685             . '[*)]Subject to the terms and conditions of this BeOpen Python License Agreement, '
14686             . 'BeOpen hereby grants Licensee a non-exclusive, royalty-free, world-wide license '
14687             . 'to reproduce, analyze, test, perform and[/]or display publicly, '
14688             . 'prepare derivative works, distribute, and otherwise use the Software '
14689             . 'alone or in any derivative version, '
14690             . 'provided, however, that the BeOpen Python License is retained in the Software, '
14691             . 'alone or in any derivative version prepared by Licensee'
14692             . '[.][ ]'
14693             . '[*)]BeOpen is making the Software available to Licensee on an [as is] basis'
14694             . '[.][ ]'
14695             . 'BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED'
14696             . '[.][ ]'
14697             . 'BY WAY OF EXAMPLE, BUT NOT LIMITATION, '
14698             . 'BEOPEN MAKES NO AND DISCLAIMS ANY REPRESENTATION OR WARRANTY '
14699             . 'OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE '
14700             . 'OR THAT THE USE OF THE SOFTWARE WILL NOT INFRINGE ANY THIRD PARTY RIGHTS'
14701             . '[.][ ]'
14702             . '[*)]BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE SOFTWARE '
14703             . 'FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS '
14704             . 'AS A RESULT OF USING, MODIFYING OR DISTRIBUTING '
14705             . 'THE SOFTWARE, OR ANY DERIVATIVE THEREOF, '
14706             . 'EVEN IF ADVISED OF THE POSSIBILITY THEREOF'
14707             . '[.][ ]'
14708             . '[*)]This License Agreement will automatically terminate '
14709             . 'upon a material breach of its terms and conditions'
14710             . '[.][ ]'
14711             . '[*)]This License Agreement shall be governed by and interpreted in all respects '
14712             . 'by the law of the State of California, excluding conflict of law provisions'
14713             . '[.][ ]'
14714             . 'Nothing in this License Agreement shall be deemed to create '
14715             . 'any relationship of agency, partnership, or joint venture between BeOpen and Licensee'
14716             . '[.][ ]'
14717             . 'This License Agreement does not grant permission '
14718             . 'to use BeOpen trademarks or trade names in a trademark sense '
14719             . 'to endorse or promote products or services of Licensee, or any third party'
14720             . '[.][ ]'
14721             . 'As an exception, the ["]BeOpen Python["] logos '
14722             . 'available at [http://]www.pythonlabs\.com[/]logos\.html '
14723             . 'may be used according to the permissions granted on that web page'
14724             . '[.][ ]'
14725             . '[*)]By copying, installing or otherwise using the software, '
14726             . 'Licensee agrees to be bound by the terms and conditions of this License Agreement'
14727             . '[.][ ]'
14728             . 'CNRI OPEN SOURCE LICENSE AGREEMENT [(]for Python 1\.6b1[)]'
14729             . '([ ][-]+)?[ ]?'
14730             . 'IMPORTANT[:] PLEASE READ THE FOLLOWING AGREEMENT CAREFULLY'
14731             . '[.][ ]'
14732             . 'BY CLICKING ON ["]ACCEPT["] WHERE INDICATED BELOW, '
14733             . 'OR BY COPYING, INSTALLING OR OTHERWISE USING PYTHON 1\.6, beta 1 SOFTWARE, '
14734             . 'YOU ARE DEEMED TO HAVE AGREED TO THE TERMS AND CONDITIONS OF THIS LICENSE AGREEMENT'
14735             . '[.][ ]'
14736             . '[*)]This LICENSE AGREEMENT is between the Corporation for National Research Initiatives, '
14737             . 'having an office at 1895 Preston White Drive, Reston, VA 20191 [(]["]CNRI["][)], '
14738             . 'and the Individual or Organization [(]["]Licensee["][)] '
14739             . 'accessing and otherwise using Python 1\.6, beta 1 software '
14740             . 'in source or binary form and its associated documentation, '
14741             . 'as released at the www\.python\.org Internet site on August 4, 2000 [(]["]Python 1\.6b1["][)]'
14742             . '[.][ ]'
14743             . '[*)]Subject to the terms and conditions of this License Agreement, '
14744             . 'CNRI hereby grants Licensee a non-exclusive, royalty-free, world-wide license '
14745             . 'to reproduce, analyze, test, perform and[/]or display publicly, '
14746             . 'prepare derivative works, distribute, and otherwise use Python 1\.6b1 '
14747             . 'alone or in any derivative version, '
14748             . 'provided, however, that CNRIs License Agreement is retained in Python 1\.6b1, '
14749             . 'alone or in any derivative version prepared by Licensee'
14750             . '[.][ ]'
14751             . 'Alternately, in lieu of CNRIs License Agreement, '
14752             . 'Licensee may substitute the following text [(]omitting the quotes[)][:] '
14753             . '["]Python 1\.6, beta 1, is made available '
14754             . 'subject to the terms and conditions in CNRIs License Agreement'
14755             . '[.][ ]'
14756             . 'This Agreement may be located on the Internet '
14757             . 'using the following unique, persistent identifier [(]known as a handle[)][:] 1895\.22[/]1011'
14758             . '[.][ ]'
14759             . 'This Agreement may also be obtained from a proxy server on the Internet '
14760             . 'using the URL[:][http://]hdl\.handle\.net[/]1895\.22[/]1011["]'
14761             . '[.][ ]'
14762             . '[*)]In the event Licensee prepares a derivative work '
14763             . 'that is based on or incorporates Python 1\.6b1 or any part thereof, '
14764             . 'and wants to make the derivative work available to the public as provided herein, '
14765             . 'then Licensee hereby agrees to indicate in any such work '
14766             . 'the nature of the modifications made to Python 1\.6b1'
14767             . '[.][ ]'
14768             . '[*)]CNRI is making Python 1.6b1 available to Licensee on an [as is] basis',
14769             };
14770              
14771             =back
14772              
14773             =head2 License groups
14774              
14775             Patterns each covering either of multiple licenses.
14776              
14777             Each of these patterns has the tag B< type:group >.
14778              
14779             =over
14780              
14781             =item * bsd
14782              
14783             =cut
14784              
14785             $RE{bsd} = {
14786             name => 'BSD',
14787             'name.alt.org.debian' => 'BSD~unspecified',
14788             'name.alt.org.fedora.iri.self' => 'BSD',
14789             'name.alt.org.osi.iri.stem.until.date_20110430' => 'bsd-license',
14790             'name.alt.org.wikidata.synth.nogrant' => 'Q191307',
14791             'name.alt.misc.style' => 'BSD-style',
14792             caption => 'BSD license',
14793             'caption.alt.org.debian' => 'BSD (unspecified)',
14794             'caption.alt.org.trove' => 'BSD License',
14795             'caption.alt.org.wikidata' => 'BSD licenses',
14796             'caption.alt.org.wikipedia' => 'BSD licenses',
14797             'caption.alt.misc.long' => 'Berkeley Software Distribution License',
14798             summary => 'a BSD-style license',
14799             tags => [
14800             'type:group',
14801             ],
14802              
14803             'pat.alt.subject.license.scope.multisection' => $P{repro_copr_cond_discl}
14804             . '(?:[.][ ](?:[*)]?'
14805             . $P{ad_mat_ack_this}
14806             . '[word][ word]{0,14}'
14807             . '[.][ ])?[*)]?'
14808             . $P{nopromo_neither} . ')?',
14809             };
14810              
14811             =item * cc
14812              
14813             I
14814              
14815             =cut
14816              
14817             $RE{cc} = {
14818             name => 'CC',
14819             'name.alt.org.debian' => 'CC~unspecified',
14820             'name.alt.org.wikidata.synth.nogrant' => 'Q284742',
14821             caption => 'Creative Commons license',
14822             'caption.alt.org.wikidata' => 'Creative Commons license',
14823             'caption.alt.org.wikipedia' => 'Creative Commons license',
14824             'caption.alt.misc.short' => 'CC license',
14825             'summary.alt.misc.short' => 'a CC license',
14826             tags => [
14827             'group',
14828             'type:group',
14829             ],
14830             };
14831              
14832             =item * gnu
14833              
14834             =cut
14835              
14836             $RE{gnu} = {
14837             name => 'AGPL/GPL/LGPL',
14838             'name.alt.org.debian' => 'GNU~unspecified',
14839             caption => 'GNU license',
14840             summary => 'a GNU license (AGPL or GPL or LGPL)',
14841             tags => [
14842             'type:group',
14843             ],
14844              
14845             '_pat.alt.subject.name' => [
14846             $RE{agpl}{'_pat.alt.subject.name'},
14847             $RE{gpl}{'_pat.alt.subject.name'},
14848             $RE{lgpl}{'_pat.alt.subject.name'},
14849             ],
14850             };
14851              
14852             =item * mit
14853              
14854             =cut
14855              
14856             $RE{mit} = {
14857             name => 'MIT',
14858             'name.alt.org.debian' => 'MIT~unspecified',
14859             'name.alt.org.fedora.iri.self' => 'MIT',
14860             'name.alt.org.wikidata.synth.nogrant' => 'Q334661',
14861             'name.alt.misc.style' => 'MIT-style',
14862             caption => 'MIT license',
14863             'caption.alt.org.trove' => 'MIT License',
14864             'caption.alt.org.wikidata' => 'MIT license',
14865             'caption.alt.org.wikipedia' => 'MIT License',
14866             'iri.alt.org.wikipedia' => 'https://en.wikipedia.org/wiki/MIT_License',
14867             summary => 'an MIT-style license',
14868             tags => [
14869             'type:group',
14870             ],
14871              
14872             'pat.alt.subject.name' => "${the}MIT\\b",
14873             'pat.alt.subject.license.scope.sentence' => $P{retain_copr_perm_subst},
14874             };
14875              
14876             =back
14877              
14878             =head1 STRUCTURE
14879              
14880             The regexp patterns follows the L specification,
14881             and more specifically the structure of L,
14882             defining access to one pattern per DefHash object, as C.
14883              
14884             Additionally, (sub)patterns are available in plaintext form, as C.
14885              
14886             =head2 SUBJECT
14887              
14888             Each pattern targets one or more subjects,
14889             i.e. ways to directly or indirectly represent a license.
14890              
14891             Beware that not all pattern objects fully cover all subjects.
14892              
14893             =over
14894              
14895             =item trait
14896              
14897             Distinguishing trait or feature expressed in licensing strings,
14898             e.g. an advertising clause or granting "...or any later version."
14899              
14900             Coverage for this subject is currently rather weak.
14901              
14902             =item name
14903              
14904             Distinguishing name, e.g. usable in license grant.
14905              
14906             =item grant
14907              
14908             Text granting the license.
14909              
14910             =item license
14911              
14912             Text containing licensing terms.
14913              
14914             Texts containing both license grant and licensing terms
14915             (e.g. BSD- and MIT-style licensing)
14916             may be classified as either subject L or subject L.
14917             This may change, as needs for distinction is better understood.
14918              
14919             =back
14920              
14921             =head2 SCOPE
14922              
14923             Each pattern can process material within some scope,
14924             i.e. a certain sample size of the full subject.
14925              
14926             As an example, L use line-based processing,
14927             where patterns spanning multiple lines are not applicable.
14928              
14929             =over
14930              
14931             =item line
14932              
14933             Pattern typically found within a single line.
14934             Typically this means less than 70 characters within scope.
14935              
14936             =item sentence
14937              
14938             Pattern matching within a sentence.
14939              
14940             May span multiple lines, but not across multiple sentences.
14941             Typically this means no full-stop or colon within scope.
14942              
14943             =item paragraph
14944              
14945             Pattern matching distinguishing paragraph.
14946              
14947             May span multiple sentences, but not multiple paragraphs.
14948             Typically this means no newline within scope.
14949              
14950             =item section
14951              
14952             Pattern matching distinguishing section.
14953              
14954             May span multiple paragraphs, but not multiple sections.
14955             Typically this means blank line within scope.
14956              
14957             =item multisection
14958              
14959             Pattern may span multiple sections.
14960              
14961             =back
14962              
14963             =cut
14964              
14965             my @gnu_langs
14966             = qw(en ar ca de el es fr it ja nl pl pt_BR ru sq sr zh_CN zh_TW);
14967              
14968             # must be simple word (no underscore), to survive getting joined in cache
14969             # more ideal first: first available is default
14970             my @_SUBJECTSTACK = qw(license grant name iri trait);
14971              
14972             my @_OBJECTS;
14973             my %_PUBLISHER;
14974             my %_TYPE;
14975             my %_SERIES;
14976             my %_USAGE;
14977              
14978             for (
14979             qw(license_label_spdx license_label_trove license_label licensed_under version_only version_later)
14980             )
14981             {
14982             $_ANNOTATIONS{"(:$_:)"} = $RE{$_}{'pat.alt.subject.trait'};
14983             $_ANNOTATIONS{"(:$_:)"} =~ s/\[.+?\]/
14984             exists $_ANNOTATIONS{$&} ? $_ANNOTATIONS{$&} : $&/ego;
14985             }
14986             $_ANNOTATIONS{"(:version_number_suffix:)"} = $P{version_number_suffix};
14987             $_ANNOTATIONS{"(:version_prefix:)"}
14988             = $RE{version_prefix}{'pat.alt.subject.trait.scope.line.scope.sentence'};
14989             $_ANNOTATIONS{"(:version_prefix:)"} =~ s/\[.+?\]/
14990             exists $_ANNOTATIONS{$&} ? $_ANNOTATIONS{$&} : $&/ego;
14991              
14992             my $tag_license_re = qr/^license:published:\K$_prop(?::|\z)/;
14993             my $tag_type_re = qr/^type:($_prop)(?::($_prop)(?::($_prop))?)?/;
14994             my $tag_type_usage_re = qr/^type:usage:\K$_prop/;
14995              
14996             my $prop_web_re
14997             = qr/^(name|caption|summary)\.(alt\.org\.($_prop)((?:\.iri\.($_prop))?$_any*?))(?:\.synth\.nogrant|)$/;
14998              
14999             my $pat_subject_re = qr/^_?pat\.alt\.subject\.\K$_prop(?=\.)/;
15000              
15001             my $gen_args_capture = {
15002             summary => 'include capturing parantheses, named or numbered',
15003             schema => [ 'str*', in => [qw(named numbered no)] ],
15004             default => 'no',
15005             req => 1,
15006             };
15007              
15008             my $gen_args_engine = {
15009             summary =>
15010             'Enable custom regexp engine (perl module re::engine::* or pseudo or none)',
15011             schema => ['str*'],
15012             };
15013              
15014             # process metadata tags
15015             @_ = ();
15016             for my $id ( grep {/^[a-z]/} keys %RE ) {
15017             for ( @{ $RE{$id}{tags} } ) {
15018              
15019             # resolve publisher
15020             if (/$tag_license_re/) {
15021             $_PUBLISHER{$id} = $&;
15022             }
15023              
15024             # resolve series
15025             /$tag_type_re/
15026             or next;
15027             $_TYPE{$id} = $1;
15028             if ( $2 and $1 eq 'singleversion' ) {
15029             push @_OBJECTS, $id;
15030             push @{ $_SERIES{$id} }, $2;
15031             }
15032             else {
15033             push @_, $id;
15034             }
15035              
15036             # resolve usage
15037             if ( $2 and $RE{$2} and $1 eq 'usage' ) {
15038             $RE{$id}{licenseversion} = $RE{$2}{licenseversion}
15039             or die "missing version for $id (needed by $1)";
15040             $_USAGE{$id}{series} //= $2;
15041             if ( $_USAGE{$id}{series} ne $2 ) {
15042             die 'multi-origin usage for $id';
15043             }
15044             $_USAGE{$id}{type} = $3;
15045             die "unsupported usage for $id ($_)"
15046             unless ( grep { $3 eq $_ }
15047             qw( only or_later rfn no_rfn no_copyleft_exception ) );
15048             }
15049             }
15050             }
15051              
15052             # ensure versioned objects are processed after single-version objects
15053             push @_OBJECTS, @_;
15054              
15055             for my $id (@_OBJECTS) {
15056              
15057             # resolve publisher
15058             for ( @{ $RE{$id}{tags} } ) {
15059             if (/$tag_type_usage_re/) {
15060             if ( exists $_PUBLISHER{$&} ) {
15061             $_PUBLISHER{$id} = $_PUBLISHER{$&};
15062             $_ANNOTATIONS{"(:$_PUBLISHER{$&}:)"}
15063             = $RE{ $_PUBLISHER{$&} }{'pat.alt.subject.trait'};
15064             $_ANNOTATIONS{"(:$_PUBLISHER{$&}:)"} =~ s/\[.+?\]/
15065             exists $_ANNOTATIONS{$&} ? $_ANNOTATIONS{$&} : $&/ego;
15066             }
15067             }
15068             }
15069              
15070             # synthesize metadata: iri from name or caption
15071             for ( keys %{ $RE{$id} } ) {
15072             my ( $prop, $slug, $org, $trail, $web ) = (/$prop_web_re/)
15073             or next;
15074             next unless $org;
15075             next
15076             if $prop eq 'caption'
15077             and ( exists $RE{$id}{"name.$slug"}
15078             or exists $RE{$id}{"name.$slug.synth.nogrant"} );
15079              
15080             my ( $base, @variants );
15081             $_ = $RE{$id}{$_};
15082             if ( $org eq 'fedora' ) {
15083             next unless $web;
15084             $base = 'https://fedoraproject.org/wiki/Licensing/';
15085             if ( $web eq 'bsd' ) {
15086             $base .= 'BSD#';
15087             }
15088             elsif ( substr( $web, 0, 4 ) eq 'cddl' ) {
15089             $base .= 'CDDL#';
15090             }
15091             elsif ( substr( $web, 0, 3 ) eq 'mit' ) {
15092             $base .= 'MIT#';
15093             }
15094             s/^(?:BSD|MIT)-style license, //go;
15095             tr/ /_/;
15096             s/\(/.28/go;
15097             s/\)/.29/go;
15098             }
15099             elsif ( $slug and $slug eq 'alt.org.tldr.path.short' ) {
15100             $base = 'https://tldrlegal.com/l/';
15101             $_ = lc $_;
15102             tr/ /-/;
15103             }
15104             elsif ( $slug and $slug eq 'alt.org.tldr' ) {
15105             $base = 'https://tldrlegal.com/license/';
15106             $_ = lc $_;
15107             tr/ /-/;
15108             }
15109             elsif ( $org eq 'wikipedia' ) {
15110             $base = 'https://en.wikipedia.org/wiki/';
15111             tr/ /_/;
15112             s/"/%22/go; #"
15113             }
15114             elsif ( $prop eq 'caption' ) {
15115             next;
15116             }
15117             elsif ( $org eq 'fsf' ) {
15118             $base = 'https://directory.fsf.org/wiki?title=License:';
15119             }
15120             elsif ( $org eq 'gnu' ) {
15121             push @variants, [
15122             "iri.$slug",
15123             'https://www.gnu.org/licenses/license-list.html#',
15124             $_,
15125             '',
15126             ];
15127             for my $lang (@gnu_langs) {
15128             ( my $weblang = lc $lang ) =~ tr/_/-/;
15129             push @variants, [
15130             "iri.$slug.lang.$lang",
15131             "https://www.gnu.org/licenses/license-list.$weblang.html#",
15132             $_,
15133             '',
15134             ];
15135             }
15136             }
15137             elsif ( $org eq 'osi' ) {
15138             next unless $prop eq 'name';
15139             $base = 'https://opensource.org/licenses/';
15140             if ( $web and substr( $web, 0, 4 ) eq 'stem' ) {
15141             for my $ext (qw(html php)) {
15142             push @variants, [
15143             "iri.$slug.format.$ext",
15144             'https://opensource.org/licenses/',
15145             $_,
15146             ".$ext",
15147             ];
15148             }
15149             if ( $web eq 'stem_only' ) {
15150             $base = undef;
15151             }
15152             }
15153             elsif ( $web and $web eq 'stem_plain' ) {
15154             for my $ext (qw(txt html php)) {
15155             push @variants, [
15156             "iri.$slug.format.$ext",
15157             'https://opensource.org/licenses/',
15158             $_,
15159             ".$ext",
15160             ];
15161             }
15162             }
15163             }
15164             elsif ( $org eq 'spdx' ) {
15165             push @variants, [
15166             "iri.$slug",
15167             'https://spdx.org/licenses/',
15168             $_,
15169             '',
15170             ];
15171             for my $ext (qw(txt html json)) {
15172             push @variants, [
15173             "iri.$slug.format.$ext",
15174             'https://spdx.org/licenses/',
15175             $_,
15176             ".$ext",
15177             ];
15178             }
15179             }
15180             elsif ( $org eq 'wikidata' ) {
15181             push @variants, [
15182             "iri.$slug",
15183             'https://www.wikidata.org/wiki/Special:EntityPage/',
15184             $_,
15185             '',
15186             ];
15187             push @variants, [
15188             "iri.$slug.path.wiki",
15189             'https://www.wikidata.org/wiki/',
15190             $_,
15191             ''
15192             ];
15193             }
15194             $RE{$id}{"iri.$slug"} //= "$base$_"
15195             if defined $base;
15196             for (@variants) {
15197             $RE{$id}{ $$_[0] } //= $$_[1] . $$_[2] . $$_[3];
15198             }
15199             }
15200              
15201             # synthesize patterns: iri from metadata iri
15202             unless ( $RE{$id}{'pat.alt.subject.iri'} ) {
15203             my @subpat;
15204             for (
15205             sort { length($b) <=> length($a) || $a cmp $b }
15206             grep {/^iri(?:[.(]|\z)/} keys %{ $RE{$id} }
15207             )
15208             {
15209             my $val = $RE{$id}{$_};
15210              
15211             $val =~ s/\./\\./g;
15212             $val =~ s/[+()]/[$&]/g;
15213             $val =~ s/-/[-]/g;
15214             $val =~ s!^https?://![http://]!;
15215             $val =~ s!/$!/?!;
15216             push @subpat, $val;
15217             }
15218             _join_pats( { assign => [ $id, 'pat.alt.subject.iri' ] }, @subpat );
15219             }
15220              
15221             # synthesize patterns: name and caption from metadata name and caption
15222             unless ( $_TYPE{$id} eq 'trait' ) {
15223             my (%singleword_pat, %multiword_pat, %name_pat, %spdx_pat,
15224             %trove_pat
15225             );
15226              
15227             my $published_by = '';
15228             $published_by = '(?: (:' . $_PUBLISHER{$id} . ':)(?: ?[;]?|[\']s))?'
15229             if $_PUBLISHER{$id}
15230             and $RE{ $_PUBLISHER{$id} }
15231             and $RE{ $_PUBLISHER{$id} }{'pat.alt.subject.trait'};
15232              
15233             my ( $is_only_this_version, $is_also_later_versions );
15234             my @candidates = ($id);
15235             if ( $_USAGE{$id} ) {
15236             $is_only_this_version = ( $_USAGE{$id}{type} eq 'only' );
15237             $is_also_later_versions = ( $_USAGE{$id}{type} eq 'or_later' );
15238             push @candidates,
15239             $_USAGE{$id}{series},
15240             @{ $_SERIES{ $_USAGE{$id}{series} } };
15241             }
15242             elsif ( $_SERIES{$id} ) {
15243             push @candidates, @{ $_SERIES{$id} };
15244             }
15245              
15246             my $version = '';
15247             my $version_usage = '';
15248             my $version_usage_maybe = '';
15249             my ( $ver, $ver_re, $ver_z_re );
15250             if ( $_ = $RE{$id}{licenseversion} ) {
15251             s/\./\\./g;
15252             s/\\\.0\\\.0$/(?:\\.0(?:\\.0)?)?/;
15253             s/\\\.0$/(?:\\.0)?/;
15254             s/\\\.\K0{0,2}0/0{1,3}/g;
15255             s/\\\.\K0{0,2}(?=[1-9])/0{0,2}/g;
15256             $version = '(:version_prefix:)' . $_;
15257             if ($is_only_this_version) {
15258             $version_usage = '(:version_only:)';
15259             }
15260             elsif ($is_also_later_versions) {
15261             $version_usage = '(:version_later:)';
15262             }
15263             $version_usage_maybe = $version_usage . '?'
15264             if $version_usage;
15265             $ver = '_?' . $version . $version_usage_maybe;
15266             $ver =~ s/(?:\[|\(:)[^\]]+?(?:\]|:\))/
15267             exists $_ANNOTATIONS{$&} ? $_ANNOTATIONS{$&} : $&/ego;
15268             $ver_re = qr/$ver/;
15269             $ver_z_re = qr/$ver$/;
15270             }
15271              
15272             my $version_stopgap = '(?:[^+.A-Za-z0-9]|\.[^0-9]|\.\z|\z)';
15273              
15274             foreach my $candidate (@candidates) {
15275             for ( keys %{ $RE{$candidate} } ) {
15276             next unless /^name(?:\.|\z)/;
15277             next if /\.synth\.nogrant(?:\.|\z)/;
15278              
15279             my $val = $RE{$candidate}{$_};
15280              
15281             next if $val =~ /-\(/;
15282              
15283             $val =~ s/$ver_re// if $version;
15284              
15285             # mangle and annotate metadata names
15286             $val =~ s/\./\\./g;
15287             $val =~ s/[+]/[$&]/g;
15288              
15289             $singleword_pat{$val} = undef;
15290             }
15291             }
15292             my $shortname = _join_pats(
15293             { prefix => "(?: ?[(](?:$the)?" . '["]?',
15294             suffix => "(?:$version)?" . '(?: [Ll]icen[cs]e)?["]?[)])?'
15295             },
15296             sort { length($b) <=> length($a) || $a cmp $b }
15297             keys %singleword_pat
15298             );
15299             my $shortname_z_re = $shortname;
15300             $shortname_z_re =~ s/(?:\[|\(:)[^\]]+?(?:\]|:\))/
15301             exists $_ANNOTATIONS{$&} ? $_ANNOTATIONS{$&} : $&/ego;
15302             $shortname_z_re = qr/$shortname_z_re$/;
15303              
15304             my $suffix = $shortname . $published_by;
15305              
15306             for ( keys %{ $RE{$id} } ) {
15307              
15308             if (/^caption\.alt\.org\.trove(?:\.|\z)/) {
15309             my $trove_val = $RE{$id}{$_};
15310              
15311             # mangle and annotate trove metadata
15312             $trove_val =~ s/\./\\./g;
15313             $trove_val =~ s/[-+()]/[$&]/g;
15314              
15315             $trove_val .= $version_stopgap;
15316              
15317             $trove_pat{$trove_val} = undef;
15318             }
15319              
15320             if (/^name(?:\.|\z)/) {
15321             next if /\.synth\.nogrant(?:\.|\z)/;
15322              
15323             my $name_val = $RE{$id}{$_};
15324              
15325             $name_pat{$name_val} = undef
15326             if /^caption\.alt\.org\.spdx(?:\.|\z)/;
15327              
15328             next if $name_val =~ /-\(/;
15329             $name_val =~ s/[~.,]/\\$&/g;
15330             $name_val =~ s/[-+()\/]/[$&]/g;
15331             if ( $name_val =~ /\d$/ ) {
15332             $name_val =~ s/\\\.0$/\(?:\\.0\)?/;
15333             }
15334              
15335             $name_val .= $version_stopgap;
15336              
15337             $name_pat{$name_val} = undef;
15338             }
15339              
15340             next unless /^caption(?:\.|\z)/;
15341             next if /\.synth\.nogrant(?:\.|\z)/;
15342              
15343             my $val = $RE{$id}{$_};
15344              
15345             # strip words later re-added as surrounding pattern
15346             $val =~ s/$shortname_z_re//;
15347             if ($version) {
15348             $val =~ s/$ver_z_re//;
15349             $val =~ s/$shortname_z_re//;
15350             }
15351             $val =~ s/^$the//;
15352              
15353             # mangle and annotate metadata
15354             $val =~ tr/–/-/;
15355             $val =~ s/\./\\./g;
15356             $val =~ s/[-+()'é]/[$&]/g; #'
15357             $val =~ s/,/,?/g;
15358             $val =~ s/ ?®/[r]/g;
15359             $val =~ s/, /[, ]/g; # wide comma
15360             $val =~ s/ \[-\] /[ - ]/g;
15361             $val =~ s{ / }{[ / ]}g;
15362              
15363             # generalize commonly varying words
15364             $val =~ s/^(?:[Aa]n? )/(?:[Aa]n? )?/; # relax (not add)
15365             $val =~ s/ [Ll]icen[cs]e/ [Ll]icen[cs]e/;
15366              
15367             $multiword_pat{$val} = undef;
15368             }
15369             my $stem = _join_pats(
15370             { prefix => "$the?", suffix => '(?: [Ll]icen[cs]e)?' },
15371             sort( { length($b) <=> length($a) || $a cmp $b }
15372             keys %multiword_pat ),
15373             _join_pats(
15374             { prefix => '\b', suffix => $version ? '' : '\b' },
15375              
15376             # TODO: use { s/-/[-]/gr } when needing perl 5.14 anyway
15377             map { my $s = $_; $s =~ s/-/[-]/g; $s; }
15378             grep { not exists $multiword_pat{$_} }
15379             sort { length($b) <=> length($a) || $a cmp $b }
15380             keys %singleword_pat,
15381             ),
15382             );
15383              
15384             unless ( exists $RE{$id}{'_pat.alt.subject.name.synth.caption'} ) {
15385              
15386             if ($version) {
15387              
15388             # extra pattern with (non-optional) leading version
15389             push @{ $RE{$id}{'_pat.alt.subject.name.synth.caption'} },
15390             '(?:'
15391             . '(:version_prefix:)'
15392             . "$version$version_usage"
15393             . " of $stem"
15394             . $published_by . ')';
15395              
15396             $suffix
15397             = '(?:'
15398             . $version
15399             . $version_usage_maybe
15400             . '(:version_number_suffix:)' . ')?'
15401             . $shortname
15402             . $published_by
15403             . $version
15404             . '(:version_number_suffix:)'
15405             . $version_usage
15406             . $shortname
15407             . $version_stopgap;
15408             }
15409             push @{ $RE{$id}{'_pat.alt.subject.name.synth.caption'} },
15410             $stem . $suffix;
15411             }
15412              
15413             # TODO: maybe include also subject pattern iri
15414             unless ( exists $RE{$id}{'_pat.alt.subject.grant.synth.name'} ) {
15415             if ( $RE{$id}{'_pat.alt.subject.name.synth.caption'} ) {
15416             $name_pat{$_} = undef
15417             for @{ $RE{$id}{'_pat.alt.subject.name.synth.caption'} };
15418             }
15419             _join_pats(
15420             { assign => [ $id, '_pat.alt.subject.grant.synth.name' ],
15421             prefix => '(:license_label:) ?'
15422             },
15423             sort { length($b) <=> length($a) || $a cmp $b }
15424             keys %name_pat
15425             );
15426             }
15427              
15428             # synthesize subject pattern grant from SPDX name
15429             unless ( $RE{$id}{'_pat.alt.subject.grant.synth.spdx'} ) {
15430             _join_pats(
15431             { assign => [ $id, '_pat.alt.subject.grant.synth.spdx' ],
15432             prefix => '(:license_label_spdx:) ?'
15433             },
15434             sort { length($b) <=> length($a) || $a cmp $b }
15435             keys %spdx_pat
15436             );
15437             }
15438              
15439             # synthesize subject pattern grant from Trove caption
15440             unless ( $RE{$id}{'_pat.alt.subject.grant.synth.trove'} ) {
15441             _join_pats(
15442             { assign => [ $id, '_pat.alt.subject.grant.synth.trove' ],
15443             prefix => '(:license_label_trove:) ?'
15444             },
15445             sort { length($b) <=> length($a) || $a cmp $b }
15446             keys %trove_pat
15447             );
15448             }
15449              
15450             # synthesize subject pattern grant from subject pattern name
15451             unless ( $RE{$id}{'_pat.alt.subject.grant.synth.caption'} ) {
15452              
15453             # TODO: use resolved patterns (not subpatterns)
15454             _join_pats(
15455             { assign => [ $id, '_pat.alt.subject.grant.synth.caption' ],
15456             prefix => '(:licensed_under:)'
15457             },
15458             @{ $RE{$id}{'_pat.alt.subject.name.synth.caption'} }
15459             );
15460             }
15461             }
15462              
15463             # resolve subject patterns from subpatterns
15464             my %subject_pat;
15465             for ( keys %{ $RE{$id} } ) {
15466              
15467             # collect alternatives ahead (to traverse once, not once per subject)
15468             if (/$pat_subject_re/) {
15469             my $unseed = substr $_, 1; # seed -> nonseed, or nonseed -> bogus
15470             $subject_pat{$&}{ exists $RE{$id}{$unseed} ? $unseed : $_ }
15471             = undef;
15472             }
15473             }
15474             for my $subject (@_SUBJECTSTACK) {
15475              
15476             # if not explicitly defined, synthesize from seed or all alt seeds
15477             $RE{$id}{"pat.alt.subject.$subject"}
15478             //= _join_pats( $RE{$id}{"_pat.alt.subject.$subject"} )
15479             || _join_pats(
15480             map { $RE{$id}{$_} }
15481             sort { length($b) <=> length($a) || $a cmp $b }
15482             keys %{ $subject_pat{$subject} }
15483             ) or delete $RE{$id}{"pat.alt.subject.$subject"};
15484             }
15485              
15486             # resolve available patterns
15487             my @pat_subject
15488             = grep { exists $RE{$id}{"pat.alt.subject.$_"} } @_SUBJECTSTACK;
15489              
15490             my $can_capture;
15491             my $pat = _join_pats(
15492             map { $RE{$id}{"pat.alt.subject.$_"} } @pat_subject,
15493             );
15494             if ( $pat =~ /\(\?P<_/ ) {
15495             $can_capture = 1;
15496             push @{ $RE{$id}{tags} }, 'capturing';
15497             }
15498              
15499             # provide default dynamic pattern: all available patterns
15500             $RE{$id}{gen} = sub {
15501             my %args = @_;
15502              
15503             $pat = _join_pats(
15504             map { $RE{$id}{"pat.alt.subject.$_"} }
15505             split( /,/, $args{subject} )
15506             ) if $args{subject};
15507              
15508             return ''
15509             unless ($pat);
15510              
15511             my $capture = $args{capture} || 'no';
15512              
15513             if ($can_capture) {
15514             if ( $capture eq 'named' ) {
15515             $pat =~ s/\(\?P<\K_//g;
15516             }
15517             elsif ( $capture eq 'numbered' ) {
15518             $pat =~ s/\(\?P<_[^>]+>/(?:/g;
15519             $pat =~ s/\(\?P<[^>]+>/(/g;
15520             }
15521             else {
15522             $pat =~ s/\(\?P<[^>]+>/(?:/g;
15523             }
15524             }
15525              
15526             if ( defined $args{engine} and $args{engine} eq 'pseudo' ) {
15527             }
15528             else {
15529             $pat =~ s/(?:\[|\(:)[^\]]+?(?:\]|:\))/
15530             exists $_ANNOTATIONS{$&} ? $_ANNOTATIONS{$&} : $&/ego;
15531             }
15532              
15533             # TODO: document if not obsoleted
15534             # by
15535             if ( $args{anchorleft} ) {
15536             $pat = "^(?:$pat)";
15537             }
15538              
15539             if ( $args{engine} ) {
15540              
15541             # TODO: support modern Perl with greedy patterns
15542              
15543             if ( $args{engine} eq 'RE2' ) {
15544             unless ($CAN_RE2) {
15545             die
15546             'cannot use regexp engine "RE2": Module "re::engine::RE2" is not installed';
15547             }
15548              
15549             BEGIN {
15550 28     28   68310 re::engine::RE2->import(
15551             -strict => 1,
15552             -max_mem => 8 << 21,
15553             );
15554             }
15555             return qr/$pat/;
15556             }
15557             elsif ( $args{engine} eq 'none' or $args{engine} eq 'pseudo' ) {
15558             return $pat;
15559             }
15560             else {
15561             die "Unsupported regexp engine \"$args{engine}\"";
15562             }
15563             }
15564             else {
15565             return qr/$pat/;
15566             }
15567             };
15568              
15569             # option keep: include capturing parantheses in pattern
15570             $RE{$id}{gen_args}{capture} = $gen_args_capture
15571             if $can_capture;
15572              
15573             # option subject: which subject(s) to cover in pattern
15574             $RE{$id}{gen_args}{subject} = {
15575             summary => 'Choose subject (or several, comma-separated)',
15576             schema => [ 'str*', in => \@pat_subject ],
15577             default => join( ',', @pat_subject ),
15578             req => 1,
15579             };
15580              
15581             # option engine: which regular expression engine to compile pattern with
15582             $RE{$id}{gen_args}{engine} = $gen_args_engine;
15583             }
15584              
15585             sub _join_pats
15586             {
15587 268184     268184   437117 my ( @pats, %opts );
15588              
15589             # collect hashref options, skip empty patterns, and expand arrayrefs
15590 268184         465880 for (@_) {
15591 548772 100       1045356 next unless defined;
15592 485661 100       936172 if ( !ref ) { push @pats, $_ if length }
  361061 100       1074565  
    100          
    50          
15593 13636   33     32558 elsif ( ref eq 'ARRAY' ) { push @pats, _join_pats(@$_) || () }
15594 110964         419496 elsif ( ref eq 'HASH' ) { @opts{ keys %$_ } = values %$_ }
15595 0         0 else { die "Bad ref: $_"; }
15596             }
15597              
15598             my $label
15599             = $opts{label}
15600 268184 100       528873 ? 'P<' . $opts{label} . '>'
15601             : ':';
15602 268184   100     635005 my $prefix = $opts{prefix} // '';
15603 268184   100     622223 my $suffix = $opts{suffix} // '';
15604              
15605 268184 100       777273 return $opts{assign} ? 0 : ''
    100          
15606             unless @pats;
15607 150249 100 66     904429 my $result
15608             = ( @pats > 1 or $label ne ':' )
15609             ? "$prefix(?$label" . join( '|', @pats ) . ")$suffix"
15610             : $prefix . $pats[0] . $suffix;
15611 150249 100       374933 if ( $opts{assign} ) {
15612 41888         119644 $RE{ $opts{assign}[0] }{ $opts{assign}[1] } = $result;
15613 41888         190460 return scalar @pats;
15614             }
15615 108361         395479 return $result;
15616             }
15617              
15618             =head2 OBSOLETE OBJECTS
15619              
15620             License objects obsoleted by improved coverage of other objects,
15621             and provided only as dummy objects.
15622              
15623             =over
15624              
15625             =item * or_at_option
15626              
15627             I
15628              
15629             =item * version_later_paragraph
15630              
15631             I
15632              
15633             =item * version_later_postfix
15634              
15635             I
15636              
15637             =item * version_number
15638              
15639             I
15640              
15641             =item * version_number_suffix
15642              
15643             I
15644              
15645             =cut
15646              
15647             $RE{or_at_option} = {
15648             pat => qr/^this should never match (except itself) psionvaitabbersh$/,
15649             };
15650              
15651             $RE{version_later_paragraph} = {
15652             pat => qr/^this should never match (except itself) ggesionercuterck$/,
15653             };
15654              
15655             $RE{version_later_postfix} = {
15656             pat => qr/^this should never match (except itself) ickazaldssuniscu$/,
15657             };
15658              
15659             $RE{version_number} = {
15660             pat => qr/^this should never match (except itself) dercharapiquissi$/,
15661             };
15662              
15663             $RE{version_number_suffix} = {
15664             pat => qr/^this should never match (except itself) hottesssonsonthe$/,
15665             };
15666              
15667             =item * python
15668              
15669             I
15670              
15671             Replaced by L and L.
15672              
15673             =cut
15674              
15675             $RE{python} = {
15676             pat => qr/^this should never match (except itself) rrompraghtiestur$/,
15677             };
15678              
15679             =item * wordnet_3
15680              
15681             I
15682              
15683             Replaced by L.
15684              
15685             =cut
15686              
15687             $RE{wordnet_3} = {
15688              
15689             pat => qr/^this should never match (except itself) rrompraghtiestur$/,
15690             };
15691              
15692             =back
15693              
15694             =head2 TAGS
15695              
15696             Pattern defhashes optionally includes tags,
15697             which may help in selecting multiple related patterns.
15698              
15699             Tags are hierarchical,
15700             with C<:> as separator,
15701             and may be extended without notice.
15702             Therefore take care to permit sub-parts when tag-matching,
15703             e.g. using a regex like C< /\Asome:tag(?:\z|:)/ >.
15704              
15705             =over
15706              
15707             =item * family:bsd
15708              
15709             =item * family:cc
15710              
15711             =item * family:gpl
15712              
15713             =item * family:mit
15714              
15715             =item * family:zlib
15716              
15717             Pattern covers a license part of a family of licenses.
15718              
15719             =item * license:contains:grant:*
15720              
15721             License mentions a preferred form for granting the license.
15722              
15723             This implies that license is commonly granted by use of a different (typically far shorter) text.
15724              
15725             Fourth part (optional) is the key to corresponding license pattern,
15726             for a grant belonging to a different license
15727             (when omitted then a grant for same license is assumed).
15728              
15729             =item * license:contains:license:*
15730              
15731             License contains another license.
15732              
15733             Wildcard is the key to corresponding license pattern.
15734              
15735             =item * license:contains:name:*
15736              
15737             License mentions name of another license.
15738              
15739             =item * license:includes:license:*
15740              
15741             License references coverage of another license.
15742              
15743             Wildcard is the key to corresponding license pattern.
15744              
15745             =item * license:is:grant
15746              
15747             License is commonly granted by stating the whole license.
15748              
15749             =item * license:published:*
15750              
15751             License grant may include an "as published by..." reference.
15752              
15753             Third part is the key to corresponding trait pattern.
15754              
15755             =item * type:trait:publisher:*
15756              
15757             Pattern covers an "as published by ..." license grant phrase.
15758              
15759             Third part (optional) is the key to corresponding license pattern.
15760              
15761             =item * type:usage:*:*
15762              
15763             Pattern covers a specific usage of a license.
15764              
15765             Third part is the key of the corresponding non-usage-specific pattern.
15766              
15767             Fourth part is the key of the corresponding usage trait pattern.
15768              
15769             =item * type:combo
15770              
15771             Pattern covers a combination of multiple licenses.
15772              
15773             =item * type:group
15774              
15775             Pattern covers either of multiple licenses.
15776              
15777             =item * type:singleversion:*
15778              
15779             Pattern covers a specific version of a license.
15780              
15781             Third part is the key of the corresponding non-version-specific pattern.
15782              
15783             =item * type:trait
15784              
15785             Pattern covers a single trait occuring in licenses.
15786              
15787             =item * type:unversioned
15788              
15789             Pattern covers a license without versioning scheme.
15790              
15791             =item * type:versioned:decimal
15792              
15793             Pattern covers a license using decimal number versioning scheme.
15794              
15795             =back
15796              
15797             =head1 EXAMPLES
15798              
15799             =head2 Browse patterns
15800              
15801             The "official" way to browse patterns is using L:
15802              
15803             show-regexp-pattern-module --page-result -- License
15804              
15805             Unfortunately, L has a deep dependency tree.
15806             An alternative is to use L and C:
15807              
15808             perl -CS -MRegexp::Pattern::License -MDDP -e 'p %Regexp::Pattern::License::RE, fulldump => 1, output => stdout' | less -RS
15809              
15810             =encoding UTF-8
15811              
15812             =head1 AUTHOR
15813              
15814             Jonas Smedegaard C<< >>
15815              
15816             =head1 COPYRIGHT AND LICENSE
15817              
15818             Copyright © 2016-2021 Jonas Smedegaard
15819              
15820             Copyright © 2017-2021 Purism SPC
15821              
15822             This program is free software; you can redistribute it and/or modify it
15823             under the terms of the GNU General Public License as published by the
15824             Free Software Foundation; either version 3, or (at your option) any
15825             later version.
15826              
15827             This program is distributed in the hope that it will be useful, but
15828             WITHOUT ANY WARRANTY; without even the implied warranty of
15829             MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15830             General Public License for more details.
15831              
15832             You should have received a copy of the GNU General Public License along
15833             with this program. If not, see .
15834              
15835             =cut
15836              
15837             1;