File Coverage

blib/lib/Regexp/Pattern/License.pm
Criterion Covered Total %
statement 32 33 96.9
branch 21 24 87.5
condition 7 10 70.0
subroutine 7 7 100.0
pod n/a
total 67 74 90.5


line stmt bran cond sub pod time code
1             package Regexp::Pattern::License;
2              
3 27     27   6542118 use utf8;
  27         62  
  27         179  
4 27     27   1218 use strict;
  27         76  
  27         797  
5 27     27   153 use warnings;
  27         51  
  27         3115  
6              
7             my $CAN_RE2;
8              
9             BEGIN {
10 27     27   115 eval { require re::engine::RE2 };
  27         3065  
11 27 50       1282 $CAN_RE2 = $@ ? '' : 1;
12             }
13              
14 27     27   16005 use Regexp::Pattern::License::Parts;
  27         113  
  27         1239089  
15              
16             =head1 NAME
17              
18             Regexp::Pattern::License - Regular expressions for legal licenses
19              
20             =head1 VERSION
21              
22             Version v3.11.2
23              
24             =cut
25              
26             our $VERSION = version->declare("v3.11.2");
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             };
618              
619             $RE{except_autoconf_3} = {
620             name => 'Autoconf-exception-3.0',
621             'name.alt.org.debian' => 'Autoconf-3.0',
622             'name.alt.org.spdx.until.date_20150513' =>
623             'GPL-3.0-with-autoconf-exception',
624             'name.alt.org.spdx.since.date_20150513' => 'Autoconf-exception-3.0',
625             caption => 'Autoconf exception 3.0',
626             'caption.alt.org.spdx.until.date_20150513' =>
627             'GNU General Public License v3.0 w/Autoconf exception',
628             'caption.alt.org.spdx.since.date_20150513' => 'Autoconf exception 3.0',
629             tags => [
630             'family:gnu:gpl',
631             'type:trait:exception',
632             ],
633              
634             'pat.alt.subject.trait.scope.sentence.part.part1' =>
635             "The purpose of this Exception is to allow distribution of Autoconf[']s",
636             };
637              
638             =item * except_bison_1_24
639              
640             I
641              
642             =item * except_bison_2_2
643              
644             I
645              
646             =cut
647              
648             $RE{except_bison_1_24} = {
649             name => 'Bison-1.24',
650             caption => 'Bison exception 1.24',
651             tags => [
652             'family:gnu:gpl',
653             'type:trait:exception',
654             ],
655              
656             'pat.alt.subject.trait.scope.sentence' =>
657             'when this file is copied by Bison into a Bison output file',
658             'pat.alt.subject.trait.scope.multisection.part.part1' =>
659             'when this file is copied by Bison into a Bison output file, '
660             . 'you may use that output file without restriction[. ]',
661             'pat.alt.subject.trait.scope.multisection.part.part2' =>
662             'This special exception was added by the Free Software Foundation'
663             . 'in version 1\.24 of Bison[.]'
664             };
665              
666             $RE{except_bison_2_2} = {
667             name => 'Bison-exception-2.2',
668             'name.alt.org.debian' => 'Bison-2.2',
669             'name.alt.org.spdx.until.date_20150513' => 'GPL-2.0-with-bison-exception',
670             'name.alt.org.spdx.since.date_20150513' => 'Bison-exception-2.2',
671             caption => 'Bison exception 2.2',
672             'caption.alt.org.spdx.until.date_20150513' =>
673             'GNU General Public License v2.0 w/Bison exception',
674             'caption.alt.org.spdx.since.date_20150513' => 'Bison exception 2.2',
675             tags => [
676             'family:gnu:gpl',
677             'type:trait:exception',
678             ],
679              
680             'pat.alt.subject.trait.scope.sentence' =>
681             'you may create a larger work that contains '
682             . 'part or all of the Bison parser skeleton',
683             'pat.alt.subject.trait.scope.multisection.part.part1' =>
684             'you may create a larger work that contains '
685             . 'part or all of the Bison parser skeleton'
686             . 'and distribute that work under terms of your choice, '
687             . 'so long as that work isn[\']t itself a parser generator'
688             . 'using the skeleton or a modified version thereof '
689             . 'as a parser skeleton[.]'
690             . 'Alternatively, if you modify or redistribute the parser skeleton itself, '
691             . 'yoy may [(]at your option[)] remove this special exception, '
692             . 'which will cause the skeleton and the resulting Bison output files '
693             . 'to be licensed under the GNU General Public License '
694             . 'without this special exception[.][ ]',
695             'pat.alt.subject.trait.scope.multisection.part.part2' =>
696             'This special exception was added by the Free Software Foundation'
697             . 'in version 2\.2 of Bison[.]'
698             };
699              
700             =item * except_classpath_2
701              
702             =cut
703              
704             $RE{except_classpath_2} = {
705             name => 'Classpath-exception-2.0',
706             'name.alt.org.debian' => 'Classpath-2.0',
707             'name.alt.org.spdx.until.date_20150513' =>
708             'GPL-2.0-with-classpath-exception',
709             'name.alt.org.spdx.since.date_20150513' => 'Classpath-exception-2.0',
710             'name.alt.org.wikidata.synth.nogrant' => 'Q1486447',
711             caption => 'Classpath exception 2.0',
712             'caption.alt.org.fedora' => 'Classpath exception',
713             'caption.alt.org.spdx.until.date_20150513' =>
714             'GNU General Public License v2.0 w/Classpath exception',
715             'caption.alt.org.spdx.since.date_20150513' => 'Classpath exception 2.0',
716             'caption.alt.org.wikidata' => 'GPL linking exception',
717             tags => [
718             'family:gnu:gpl',
719             'type:trait:exception',
720             ],
721              
722             'pat.alt.subject.trait.scope.sentence' =>
723             'link this library with independent modules',
724             'pat.alt.subject.trait.scope.multisection.part.intro' =>
725             'Linking this library statically or dynamically with other modules '
726             . 'is making a combined work based on this library[. ]'
727             . 'Thus, the terms and conditions of the GNU General Public License '
728             . 'cover the whole combination[.][ ]',
729             'pat.alt.subject.trait.scope.multisection.part.part1' =>
730             'the copyright holders of this library give you permission '
731             . 'to link this library with independent modules to produce an executable, '
732             . 'regardless of the license terms of these independent modules, '
733             . 'and to copy and distribute the resulting executable '
734             . 'under terms of your choice, '
735             . 'provided that you also meet, '
736             . 'for each linked independent module, '
737             . 'the terms and conditions of the license of that module[. ]?',
738             'pat.alt.subject.trait.scope.multisection.part.part2' =>
739             'An independent module is a module '
740             . 'which is not derived from or based on this library[. ]'
741             . 'If you modify this library, '
742             . 'you may extend this exception to your version of the library, '
743             . 'but you are not obligated to do so[. ]'
744             . 'If you do not wish to do so, '
745             . 'delete this exception statement from your version[.]',
746             };
747              
748             =item * except_ecos_2
749              
750             I
751              
752             =cut
753              
754             $RE{except_ecos_2} = {
755             name => 'eCos-exception-2.0',
756             'name.alt.org.spdx.since.date_20150513' => 'eCos-exception-2.0',
757             caption => 'eCos exception 2.0',
758             description => <<'END',
759             Identical to Macros and Inline Functions Exception, except...
760             * drop explicit permission to use without restriction
761             * replace "files" and "excecutable" with "works"
762             * add reference to GPL section 3
763             END
764             iri => 'http://sources.redhat.com/ecos/ecos-license/',
765             tags => [
766             'family:gnu:gpl',
767             'type:trait:exception',
768             ],
769              
770             'pat.alt.subject.trait.scope.sentence.part.part1' =>
771             'if other files instantiate templates or use macros or inline functions from this file, '
772             . 'or you compile this file and link it with other works',
773             'pat.alt.subject.trait.scope.line.scope.sentence.part.part2' =>
774             'However the source code for this file must still be made available',
775             'pat.alt.subject.trait.scope.line.scope.sentence.part.part3' =>
776             'This exception does not invalidate any other reasons why',
777             };
778              
779             =item * except_epl
780              
781             =cut
782              
783             $RE{except_epl} = {
784             name => 'EPL-library',
785             caption => 'EPL-library exception',
786             tags => [
787             'family:gnu:gpl',
788             'type:trait:exception',
789             ],
790              
791             'pat.alt.subject.trait.scope.sentence' =>
792             'you have the permission to link the code of this program '
793             . 'with any library released under the EPL license '
794             . 'and distribute linked combinations including the two[.]',
795             'pat.alt.subject.trait.scope.paragraph.part.all' =>
796             'you have the permission to link the code of this program '
797             . 'with any library released under the EPL license '
798             . 'and distribute linked combinations including the two[. ]'
799             . 'If you modify this file, '
800             . 'you may extend this exception to your version of the file, '
801             . 'but you are not obligated to do so[. ]'
802             . 'If you do not wish to do so, '
803             . 'delete this exception statement from your version[.]',
804             };
805              
806             =item * except_epl_mpl
807              
808             =cut
809              
810             $RE{except_epl_mpl} = {
811             name => 'EPL-MPL-library',
812             caption => 'EPL-MPL-library exception',
813             tags => [
814             'family:gnu:gpl',
815             'type:trait:exception',
816             ],
817              
818             'pat.alt.subject.trait.scope.sentence' =>
819             'you have the permission to link the code of this program '
820             . 'with any library released under the EPL license '
821             . 'and distribute linked combinations including the two[;] '
822             . 'the MPL [(]Mozilla Public License[)], '
823             . 'which EPL [(]Erlang Public License[)] is based on, '
824             . 'is included in this exception.',
825             };
826              
827             =item * except_faust
828              
829             I
830              
831             =cut
832              
833             $RE{except_faust} = {
834             name => 'FAUST',
835             caption => 'FAUST exception',
836             tags => [
837             'family:gnu:gpl',
838             'type:trait:exception',
839             ],
840              
841             'pat.alt.subject.trait.scope.sentence' =>
842             'you may create a larger work that contains '
843             . 'this FAUST architecture section',
844             'pat.alt.subject.trait.scope.multisection.part.all' =>
845             'you may create a larger work that contains '
846             . 'this FAUST architecture section '
847             . 'and distribute that work under terms of your choice, '
848             . 'so long as this FAUST architecture section is not modified[.]',
849             };
850              
851             =item * except_font_2
852              
853             I
854              
855             =cut
856              
857             $RE{except_font_2} = {
858             name => 'Font-exception-2.0',
859             'name.alt.org.spdx.until.date_20150513' => 'GPL-2.0-with-font-exception',
860             'name.alt.org.spdx.since.date_20150513' => 'Font-exception-2.0',
861             'name.alt.org.wikidata.synth.nogrant' => 'Q5514182',
862             caption => 'Font exception 2.0',
863             'caption.alt.org.fedora' => 'font embedding exception',
864             'caption.alt.org.spdx.until.date_20150513' =>
865             'GNU General Public License v2.0 w/Font exception',
866             'caption.alt.org.spdx.since.date_20150513' => 'Font exception 2.0',
867             'caption.alt.org.wikidata' => 'GPL font exception',
868             tags => [
869             'family:gnu:gpl',
870             'type:trait:exception',
871             ],
872              
873             'pat.alt.subject.trait.scope.sentence' =>
874             'if you create a document which uses this font, ',
875             'pat.alt.subject.trait.scope.multisection.part.all' =>
876             'if you create a document which uses this font, '
877             . 'and embed this font or unaltered portions of this font into the document, '
878             . 'this font does not by itself cause the resulting document '
879             . 'to be covered by the GNU General Public License' . '[. ]'
880             . 'This exception does not however invalidate any other reasons why '
881             . 'the document might be covered by the GNU General Public License'
882             . '[. ]'
883             . 'If you modify this font, '
884             . 'you may extend this exception to your version of the font, '
885             . 'but you are not obligated to do so' . '[. ]'
886             . 'If you do not wish to do so, delete this exception statement from your version[.]',
887             };
888              
889             =item * except_gcc_2
890              
891             I
892              
893             =item * except_gcc_3_1
894              
895             I
896              
897             =cut
898              
899             $RE{except_gcc_2} = {
900             name => 'GCC-exception-2.0',
901             'name.alt.org.spdx.until.date_20150513' => 'GPL-2.0-with-GCC-exception',
902             'name.alt.org.spdx.since.date_20150513' => 'GCC-exception-2.0',
903             'name.alt.org.wikidata.synth.nogrant' => 'Q89706542',
904             caption => 'GCC Runtime Library exception 2.0',
905             'caption.alt.org.spdx.until.date_20150513' =>
906             'GNU General Public License v2.0 w/GCC Runtime Library exception',
907             'caption.alt.org.spdx.since.date_20150513' =>
908             'GCC Runtime Library exception 2.0',
909             'caption.alt.org.wikidata' =>
910             'GNU General Public License, version 2.0 or later with library exception',
911             tags => [
912             'family:gnu:gpl',
913             'type:trait:exception',
914             ],
915              
916             'pat.alt.subject.trait.scope.sentence' =>
917             'the Free Software Foundation gives you unlimited permission '
918             . 'to link the compiled version of this file into combinations with other programs',
919             };
920              
921             $RE{except_gcc_3_1} = {
922             name => 'GCC-exception-3.1',
923             'name.alt.org.spdx.until.date_20150513' => 'GPL-3.0-with-GCC-exception',
924             'name.alt.org.spdx.since.date_20150513' => 'GCC-exception-3.1',
925             caption => 'GCC Runtime Library exception 3.1',
926             'caption.alt.org.spdx.until.date_20150513' =>
927             'GNU General Public License v3.0 w/GCC Runtime Library exception',
928             'caption.alt.org.spdx.since.date_20150513' =>
929             'GCC Runtime Library exception 3.1',
930             tags => [
931             'family:gnu:gpl',
932             'type:trait:exception',
933             ],
934              
935             'pat.alt.subject.trait.scope.sentence' =>
936             'You have permission to propagate a work of Target Code formed',
937             };
938              
939             =item * except_gstreamer
940              
941             =cut
942              
943             $RE{except_gstreamer} = {
944             name => 'GStreamer',
945             caption => 'GStreamer exception',
946             tags => [
947             'family:gnu:gpl',
948             'type:trait:exception',
949             ],
950              
951             'pat.alt.subject.trait.scope.multisection.part.all' =>
952             'The[ word]{1,3} project hereby grant permission '
953             . 'for non-gpl compatible GStreamer plugins '
954             . 'to be used and distributed together with GStreamer and[ word]{1,3}[. ]'
955             . 'This permission are above and beyond '
956             . 'the permissions granted by the GPL license[ word]{1,3} is covered by[.]',
957             };
958              
959             =item * except_libtool
960              
961             =cut
962              
963             $RE{except_libtool} = {
964             name => 'Libtool-exception',
965             'name.alt.org.debian' => 'Libtool',
966             'name.alt.org.spdx.since.date_20150730' => 'Libtool-exception',
967             caption => 'Libtool Exception',
968             tags => [
969             'family:gnu:gpl',
970             'type:trait:exception',
971             ],
972              
973             'pat.alt.subject.trait.scope.sentence' =>
974             'if you distribute this file as part of a program or library '
975             . 'that is built using GNU Libtool, '
976             . 'you may include this file under the same distribution terms '
977             . 'that you use for the rest of that program[.]',
978             };
979              
980             =item * except_mif
981              
982             =cut
983              
984             $RE{except_mif} = {
985             name => 'mif-exception',
986             'name.alt.org.debian' => 'mif',
987             'name.alt.org.spdx.since.date_20150730' => 'mif-exception',
988             caption => 'Macros and Inline Functions Exception',
989             tags => [
990             'family:gnu:gpl',
991             'type:trait:exception',
992             ],
993              
994             'pat.alt.subject.trait.scope.multisection.part.first' =>
995             'you may use this file '
996             . 'as part of a free software library without restriction[. ]'
997             . 'Specifically, if other files instantiate templates ',
998             'pat.alt.subject.trait.scope.multisection.part.all' =>
999             'you may use this file '
1000             . 'as part of a free software library without restriction[. ]'
1001             . 'Specifically, if other files instantiate templates '
1002             . 'or use macros or inline functions from this file, '
1003             . 'or you compile this file and link it with other files '
1004             . 'to produce an executable, '
1005             . 'this file does not by itself cause the resulting executable '
1006             . 'to be covered by the GNU General Public License[. ]'
1007             . 'This exception does not however invalidate any other reasons '
1008             . 'why the executable file might be covered '
1009             . 'by the GNU General Public License[.]',
1010             };
1011              
1012             =item * except_openssl
1013              
1014             I
1015              
1016             =cut
1017              
1018             $RE{except_openssl} = {
1019             name => 'OpenSSL-exception',
1020             'name.alt.org.debian' => 'OpenSSL',
1021             caption => 'OpenSSL exception',
1022             tags => [
1023             'family:gnu',
1024             'type:trait:exception',
1025             ],
1026              
1027             'pat.alt.subject.trait.scope.sentence' =>
1028             'SSLeay licenses, (?:the (?:author|copyright holder|licensors|Free Software)|you are granted)',
1029             'pat.alt.subject.trait.scope.multisection.part.all' =>
1030             'If you modify (?:the|this) program, or any covered work, '
1031             . 'by linking or combining it '
1032             . 'with the OpenSSL project[\']s ["]OpenSSL["] library '
1033             . '[(]or a modified version of that library[)], '
1034             . 'containing parts covered '
1035             . 'by the terms of the OpenSSL or SSLeay licenses, '
1036             . '(?:the authors of[ word]{1,8} grant you'
1037             . '|the (?:copyright holder|licensors|Free Software Foundation) grants? you'
1038             . '|you are granted) '
1039             . 'additional permission to convey the resulting work[. ]'
1040             . 'Corresponding Source for a non-source form '
1041             . 'of such a combination '
1042             . 'shall include the source code for the parts of OpenSSL used '
1043             . 'as well as that of the covered work[.]'
1044             };
1045              
1046             =item * except_ocaml-lgpl
1047              
1048             =cut
1049              
1050             $RE{except_ocaml_lgpl} = {
1051             name => 'OCaml-LGPL-linking-exception',
1052             'name.alt.org.debian' => 'OCaml-LGPL-linking',
1053             caption => 'OCaml LGPL Linking Exception',
1054             tags => [
1055             'family:gnu:lgpl',
1056             'type:trait:exception',
1057             ],
1058              
1059             'pat.alt.subject.trait.scope.multisection.part.all' =>
1060             'you may link, statically or dynamically, '
1061             . 'a ["]work that uses the Library["] '
1062             . 'with a publicly distributed version of the Library '
1063             . 'to produce an executable file '
1064             . 'containing portions of the Library, '
1065             . 'and distribute that executable file '
1066             . 'under terms of your choice, '
1067             . 'without any of the additional requirements '
1068             . 'listed in clause 6 of the GNU Library General Public License[.]',
1069             };
1070              
1071             =item * except_openssl-lgpl
1072              
1073             I
1074              
1075             =item * except_openssl_s3
1076              
1077             I
1078              
1079             =cut
1080              
1081             $RE{except_openssl_lgpl} = {
1082             name => 'OpenSSL~LGPL-exception',
1083             'name.alt.org.debian' => 'OpenSSL~LGPL',
1084             caption => 'OpenSSL~LGPL exception',
1085             tags => [
1086             'family:gnu:lgpl',
1087             'type:trait:exception',
1088             ],
1089              
1090             'pat.alt.subject.trait.scope.multisection.part.all' =>
1091             'the copyright holders give permission '
1092             . 'to link the code of portions of this program '
1093             . 'with the OpenSSL library '
1094             . 'under certain conditions as described '
1095             . 'in each individual source file, '
1096             . 'and distribute linked combinations including the two[.][ ]'
1097             . 'You must obey the GNU Lesser General Public License '
1098             . 'in all respects '
1099             . 'for all of the code used other than OpenSSL[.]'
1100             };
1101              
1102             $RE{except_openssl_s3} = {
1103             name => 'OpenSSL~s3-exception',
1104             'name.alt.org.debian' => 'OpenSSL~s3',
1105             caption => 'OpenSSL~s3 exception',
1106             tags => [
1107             'family:gnu',
1108             'type:trait:exception',
1109             ],
1110              
1111             'pat.alt.subject.trait.scope.sentence' =>
1112             'link the code of this library and its programs with the OpenSSL library',
1113             'pat.alt.subject.trait.scope.multisection.part.all' =>
1114             'the copyright holders give permission '
1115             . 'to link the code of portions of this program '
1116             . 'with the OpenSSL project[\']s ["]OpenSSL["] library '
1117             . '[(]or with modified versions of it '
1118             . 'that use the same license as the ["]OpenSSL["] library'
1119             . '[ - ]see [http://]www.openssl.org/[)], '
1120             . 'and distribute linked combinations including the two[.]'
1121             };
1122              
1123             =item * except_prefix_agpl
1124              
1125             I
1126              
1127             =item * except_prefix_generic
1128              
1129             I
1130              
1131             =item * except_prefix_gpl
1132              
1133             I
1134              
1135             =item * except_prefix_gpl_clisp
1136              
1137             I
1138              
1139             =item * except_prefix_lgpl
1140              
1141             I
1142              
1143             =cut
1144              
1145             $RE{except_prefix_agpl} = {
1146             caption => 'AGPL exception prefix',
1147             tags => [
1148             'family:gnu:agpl',
1149             'type:trait:exception:prefix',
1150             ],
1151              
1152             'pat.alt.subject.trait.target.generic' =>
1153             'In addition to the permissions in the GNU General Public License, ',
1154             'pat.alt.subject.trait.target.agpl_3' => 'Additional permissions? under '
1155             . "$the?(?:GNU )?A(?:ffero )?GPL(?: version 3|v3) section 7"
1156             };
1157              
1158             $RE{except_prefix_generic} = {
1159             caption => 'generic exception prefix',
1160             tags => [
1161             'type:trait:exception:prefix',
1162             ],
1163              
1164             'pat.alt.subject.trait.scope.sentence' =>
1165             '(?:In addition, as a special exception, '
1166             . '|As a special exception, )',
1167             'pat.alt.subject.trait.scope.paragraph' =>
1168             '(?:In addition, as a special exception, '
1169             . '|(?:Exception [*)]FIXME[ ])?'
1170             . 'As a special exception, '
1171             . '|Grant of Additional Permission[. ])',
1172             };
1173              
1174             $RE{except_prefix_gpl} = {
1175             caption => 'GPL exception prefix',
1176             tags => [
1177             'family:gnu:gpl',
1178             'type:trait:exception:prefix',
1179             ],
1180              
1181             'pat.alt.subject.trait.target.generic' =>
1182             'In addition to the permissions in the GNU General Public License, ',
1183             'pat.alt.subject.trait.target.gpl_3' =>
1184             '(?:the file is governed by GPLv3 along with this Exception'
1185             . '|Additional permissions? under '
1186             . "$the?(?:GNU )?GPL(?: version 3|v3) section 7)"
1187             };
1188              
1189             $RE{except_prefix_gpl_clisp} = {
1190             caption => 'CLISP exception prefix',
1191             tags => [
1192             'family:gnu:gpl',
1193             'type:trait:exception:prefix',
1194             ],
1195              
1196             'pat.alt.subject.trait.scope.sentence' => 'Note[:"][ ]'
1197             . 'This copyright does NOT cover user programs '
1198             . 'that run in CLISP and third-party packages not part of CLISP, '
1199             . "if [*)]$clisp_they_only_ref_clisp, "
1200             . '[ie] if they don[\']t rely on CLISP internals '
1201             . 'and would as well run in any other Common Lisp implementation[. ]'
1202             . "Or [*)]$clisp_they_only_ref_clisp "
1203             . 'and some external, not CLISP specific, symbols '
1204             . 'in third[-]party packages '
1205             . 'that are released with source code under a GPL compatible license '
1206             . 'and that run in a great number of Common Lisp implementations, '
1207             . '[ie] if they rely on CLISP internals only to the extent needed '
1208             . 'for gaining some functionality also available '
1209             . 'in a great number of Common Lisp implementations[. ]'
1210             . 'Such user programs are not covered '
1211             . 'by the term ["]derived work["] used in the GNU GPL[. ]'
1212             . 'Neither is their compiled code, '
1213             . '[ie] the result of compiling them '
1214             . 'by use of the function COMPILE-FILE[. ]'
1215             . 'We refer to such user programs '
1216             . 'as ["]independent work["][.][ ]',
1217             };
1218              
1219             $RE{except_prefix_lgpl} = {
1220             caption => 'LGPL exception prefix',
1221             tags => [
1222             'family:gnu:lgpl',
1223             'type:trait:exception:prefix',
1224             ],
1225              
1226             'pat.alt.subject.trait.scope.sentence' =>
1227             'In addition to the permissions in '
1228             . 'the GNU (?:Lesser|Library) General Public License, '
1229             };
1230              
1231             =item * except_proguard
1232              
1233             I
1234              
1235             =cut
1236              
1237             $RE{except_proguard} = {
1238             name => 'Proguard',
1239             caption => 'Proguard exception',
1240             tags => [
1241             'family:gnu:gpl',
1242             'type:trait:exception',
1243             ],
1244              
1245             'pat.alt.subject.trait.scope.sentence' =>
1246             'this program with the following stand-alone applications',
1247             'pat.alt.subject.trait.scope.multisection.part.part1' =>
1248             '(?:Eric Lafortune|Guardsquare NV) gives permission '
1249             . 'to link the code of this program '
1250             . 'with the following stand[-]alone applications[:]?'
1251             };
1252              
1253             =item * except_qt_gpl_1
1254              
1255             I
1256              
1257             =item * except_qt_gpl_eclipse
1258              
1259             I
1260              
1261             =item * except_qt_gpl_openssl
1262              
1263             I
1264              
1265             =cut
1266              
1267             $RE{except_qt_gpl_1} = {
1268             name => 'Qt-GPL-exception-1.0',
1269             'name.alt.org.debian' => 'Qt-GPL-1.0',
1270             caption => 'Qt GPL exception 1.0',
1271             tags => [
1272             'family:gnu:gpl',
1273             'type:trait:exception',
1274             ],
1275              
1276             'pat.alt.subject.trait.scope.sentence.part.part1' =>
1277             'you may create a larger work which contains '
1278             . 'the output of this application '
1279             . 'and distribute that work under terms of your choice, '
1280             . 'so long as the work is not otherwise derived from or based on this application '
1281             . 'and so long as the work does not in itself generate output '
1282             . 'that contains the output from this application in its original or modified form',
1283             'pat.alt.subject.trait.scope.paragraph.part.part2' =>
1284             'you have permission to combine this application with Plugins '
1285             . 'licensed under the terms of your choice, '
1286             . 'to produce an executable, and to copy and distribute the resulting executable '
1287             . 'under the terms of your choice[. ]'
1288             . 'However, the executable must be accompanied by a prominent notice '
1289             . 'offering all users of the executable the entire source code to this application, '
1290             . 'excluding the source code of the independent modules, '
1291             . 'but including any changes you have made to this application, '
1292             . 'under the terms of this license[.]',
1293             };
1294              
1295             $RE{except_qt_gpl_eclipse} = {
1296             name => 'Qt-GPL-Eclipse',
1297             caption => 'Qt GPL Eclipse exception',
1298             tags => [
1299             'family:gnu:gpl',
1300             'type:trait:exception',
1301             ],
1302              
1303             'pat.alt.subject.trait.scope.sentence' =>
1304             'Qt Designer, grants users of the Qt/Eclipse',
1305             'pat.alt.subject.trait.scope.paragraph.part.part1' =>
1306             'Trolltech, as the sole copyright holder for Qt Designer, '
1307             . 'grants users of the Qt[/]Eclipse Integration plug-in '
1308             . 'the right for the Qt[/]Eclipse Integration to link '
1309             . 'to functionality provided by Qt Designer '
1310             . 'and its related libraries[.][ ]'
1311             };
1312              
1313             $RE{except_qt_gpl_openssl} = {
1314             name => 'Qt-GPL-OpenSSL',
1315             caption => 'Qt GPL OpenSSL exception',
1316             tags => [
1317             'family:gnu:gpl',
1318             'type:trait:exception',
1319             ],
1320              
1321             'pat.alt.subject.trait.scope.sentence' =>
1322             'its release of Qt with the OpenSSL',
1323             'pat.alt.subject.trait.scope.paragraph.part.part1' =>
1324             'Nokia gives permission to link the code of its release of Qt '
1325             . 'with the OpenSSL project[\']s ["]OpenSSL["] library '
1326             . '[(]or modified versions of the ["]OpenSSL["] library '
1327             . 'that use the same license as the original version[)], '
1328             . 'and distribute the linked executables[.][ ]',
1329             'pat.alt.subject.trait.scope.paragraph.part.part2' =>
1330             ' You must comply with the GNU General Public License version 2 '
1331             . 'in all respects for all of the code used '
1332             . 'other than the ["]OpenSSL["] code[. ]'
1333             . 'If you modify this file, '
1334             . 'you may extend this exception to your version of the file, '
1335             . 'but you are not obligated to do so[. ]'
1336             . 'If you do not wish to do so, '
1337             . 'delete this exception statement '
1338             . 'from your version of this file[.]'
1339             };
1340              
1341             =item * except_qt_kernel
1342              
1343             I
1344              
1345             =cut
1346              
1347             $RE{except_qt_kernel} = {
1348             name => 'Qt-kernel',
1349             caption => 'Qt-kernel exception',
1350             tags => [
1351             'family:gnu',
1352             'type:trait:exception',
1353             ],
1354              
1355             'pat.alt.subject.trait.scope.sentence' =>
1356             'Permission is also granted to link this program with the Qt library, '
1357             . 'treating Qt like a library that normally accompanies the operating system kernel, '
1358             . 'whether or not that is in fact the case',
1359             };
1360              
1361             =item * except_qt_lgpl_1_1
1362              
1363             I
1364              
1365             =cut
1366              
1367             $RE{except_qt_lgpl_1_1} = {
1368             name => 'Qt-LGPL-exception-1.1',
1369             'name.alt.org.debian' => 'Qt-LGPL-1.1',
1370             caption => 'Qt LGPL exception 1.1',
1371             tags => [
1372             'family:gnu:lgpl',
1373             'type:trait:exception',
1374             ],
1375              
1376             'pat.alt.subject.trait.type.reference' =>
1377             '(?:Digia|Nokia|The Qt Company) gives you certain',
1378             'pat.alt.subject.trait.scope.sentence.type.reference' =>
1379             '(?:Digia|Nokia|The Qt Company) gives you certain additional rights[. ]'
1380             . 'These rights are described '
1381             . 'in The (?:Digia Qt|Nokia Qt|Qt Company) LGPL Exception version 1\.1, '
1382             . 'included in the file [word] in this package'
1383             };
1384              
1385             =item * except_qt_nosource
1386              
1387             I
1388              
1389             =cut
1390              
1391             $RE{except_qt_nosource} = {
1392             name => 'Qt-no-source',
1393             caption => 'Qt-no-source exception',
1394             tags => [
1395             'family:gnu',
1396             'type:trait:exception',
1397             ],
1398              
1399             'pat.alt.subject.trait.scope.sentence' =>
1400             'permission is given to link this program with any edition of Qt, '
1401             . 'and distribute the resulting executable, '
1402             . 'without including the source code for Qt in the source distribution',
1403             };
1404              
1405             =item * except_sdc
1406              
1407             I
1408              
1409             =cut
1410              
1411             $RE{except_sdc} = {
1412             name => 'SDC',
1413             caption => 'SDC exception',
1414             tags => [
1415             'family:gnu:lgpl',
1416             'type:trait:exception',
1417             ],
1418              
1419             'pat.alt.subject.trait.scope.sentence' =>
1420             'you may create a larger work that contains '
1421             . 'code generated by the Shared Data Compiler',
1422             'pat.alt.subject.trait.scope.multisection.part.part1' =>
1423             'you may create a larger work that contains '
1424             . 'code generated by the Shared Data Compiler'
1425             . 'and distribute that work under terms of '
1426             . 'the GNU Lesser General Public License [(]LGPL[)]'
1427             . 'by the Free Software Foundation; '
1428             . 'either version 2\.1 of the License, '
1429             . 'or [(]at your option[)] any later version '
1430             . 'or under terms that are fully compatible with these licenses[.][ ]',
1431             'pat.alt.subject.trait.scope.multisection.part.part2' =>
1432             'Alternatively, if you modify or redistribute '
1433             . 'the Shared Data Compiler tool itself, '
1434             . 'you may [(]at your option[)] remove this special exception, '
1435             . 'which will cause the resulting generted source code files '
1436             . 'to be licensed under the GNU General Public License '
1437             . '[(]either version 2 of the License, '
1438             . 'or at your option under any later version[)] '
1439             . 'without this special exception[.][ ]',
1440             'pat.alt.subject.trait.scope.multisection.part.part3' =>
1441             'This special exception was added by Jaros[l-]aw Staniek[. ]'
1442             . 'Contact him for more licensing options, '
1443             . '[eg] using in non-Open Source projects[.]',
1444             };
1445              
1446             =item * except_sollya_4_1
1447              
1448             I
1449              
1450             =cut
1451              
1452             $RE{except_sollya_4_1} = {
1453             name => 'Sollya-exception-4.1',
1454             'name.alt.org.debian' => 'Sollya-4.1',
1455             caption => 'Sollya exception 4.1',
1456             tags => [
1457             'family:cecill',
1458             'type:trait:exception',
1459             ],
1460              
1461             'pat.alt.subject.trait.scope.sentence' =>
1462             'you may create a larger work that contains '
1463             . 'part or all of this software generated using Sollya',
1464             'pat.alt.subject.trait.scope.multisection.part.part1' =>
1465             'you may create a larger work that contains '
1466             . 'part or all of this software generated using Sollya'
1467             . 'and distribute that work under terms of your choice, '
1468             . 'so long as that work isn[\']t itself a numerical code generator '
1469             . 'using the skeleton of this code or a modified version thereof '
1470             . 'as a code skeleton[.]'
1471             . 'Alternatively, if you modify or redistribute this code itself, '
1472             . 'or its skeleton, '
1473             . 'you may [(]at your option[)] remove this special exception, '
1474             . 'which will cause this generated code and its skeleton '
1475             . 'and the resulting Sollya output files'
1476             . 'to be licensed under the CeCILL-C License '
1477             . 'without this special exception[.][ ]',
1478             'pat.alt.subject.trait.scope.multisection.part.part2' =>
1479             'This special exception was added by the Sollya copyright holders '
1480             . 'in version 4\.1 of Sollya[.]'
1481             };
1482              
1483             =item * except_warzone
1484              
1485             I
1486              
1487             =cut
1488              
1489             $RE{except_warzone} = {
1490             name => 'Warzone',
1491             caption => 'Warzone exception',
1492             tags => [
1493             'family:gnu:gpl',
1494             'type:trait:exception',
1495             ],
1496              
1497             'pat.alt.subject.trait.scope.sentence' =>
1498             'the copyright holders of Warzone 2100 '
1499             . 'give you permission to combine',
1500             'pat.alt.subject.trait.scope.multisection.part.part1' =>
1501             'the copyright holders of Warzone 2100 '
1502             . 'give you permission to combine Warzone 2100 '
1503             . 'with code included in the standard release of libraries '
1504             . 'that are accessible, redistributable and linkable '
1505             . 'free of charge[. ]'
1506             . 'You may copy and distribute such a system '
1507             . 'following the terms of the GNU GPL '
1508             . 'for Warzone 2100 '
1509             . 'and the licenses of the other code concerned[.][ ]',
1510             'pat.alt.subject.trait.scope.multisection.part.part2' =>
1511             'Note that people who make modified versions of Warzone 2100 '
1512             . 'are not obligated to grant this special exception '
1513             . 'for their modified versions; '
1514             . 'it is their choice whether to do so[. ]'
1515             . 'The GNU General Public License gives permission '
1516             . 'to release a modified version without this exception; '
1517             . 'this exception also makes it possible '
1518             . 'to release a modified version '
1519             . 'which carries forward this exception[.]'
1520             };
1521              
1522             =item * except_wxwindows
1523              
1524             I
1525              
1526             =cut
1527              
1528             $RE{except_wxwindows} = {
1529             name => 'WxWindows-exception-3.1',
1530             'name.alt.org.debian' => 'WxWindows-3.1',
1531             'name.alt.org.osi' => 'WXwindows',
1532             'name.alt.org.osi.iri.stem.until.date_20110430' => 'wxwindows',
1533             'name.alt.org.spdx.until.date_20150513' => 'WXwindows',
1534             'name.alt.org.spdx.since.date_20150513' => 'WxWindows-exception-3.1',
1535             'name.alt.org.wikidata.synth.nogrant' => 'Q38347878',
1536             caption => 'WxWindows Library Exception 3.1',
1537             'caption.alt.org.osi' => 'The wxWindows Library Licence',
1538             'caption.alt.org.osi.misc.list' => 'wxWindows Library License',
1539             'caption.alt.org.spdx.until.date_20150513' => 'wxWindows Library License',
1540             'caption.alt.org.spdx.since.date_20150513' =>
1541             'WxWindows Library Exception 3.1',
1542             'caption.alt.org.tldr' => 'wxWindows Library License (WXwindows)',
1543             'caption.alt.org.wikidata' => 'wxWindows Library License',
1544             tags => [
1545             'family:gnu:gpl',
1546             'type:trait:exception',
1547             ],
1548              
1549             'pat.alt.subject.trait.scope.sentence' =>
1550             'the copyright holders of this library give permission '
1551             . 'for additional uses of the text '
1552             . 'contained in this release of the library '
1553             . 'as licenced under the wxWindows Library Licence',
1554             'pat.alt.subject.trait.scope.multisection.part.part1' =>
1555             'the copyright holders of this library give permission '
1556             . 'for additional uses of the text '
1557             . 'contained in this release of the library '
1558             . 'as licenced under the wxWindows Library Licence, '
1559             . 'applying either version 3\.1 of the Licence, '
1560             . 'or [(]at your option[)] any later version of the Licence '
1561             . 'as published by the copyright holders '
1562             . 'of version 3\.1 of the Licence document[.][ ]',
1563             'pat.alt.subject.trait.scope.multisection.part.part2' =>
1564             '[*)]The exception is that you may use, copy, link, modify and distribute '
1565             . 'under your own terms, '
1566             . 'binary object code versions of works based on the Library[.][ ]',
1567             'pat.alt.subject.trait.scope.multisection.part.part3' =>
1568             '[*)]If you copy code from files '
1569             . 'distributed under the terms of the GNU General Public Licence '
1570             . 'or the GNU Library General Public Licence '
1571             . 'into a copy of this library, as this licence permits, '
1572             . 'the exception does not apply to the code that you add in this way[. ]'
1573             . 'To avoid misleading anyone as to the status of such modified files, '
1574             . 'you must delete this exception notice from such code '
1575             . 'and[/]or adjust the licensing conditions notice accordingly[.][ ]',
1576             'pat.alt.subject.trait.scope.multisection.part.part4' =>
1577             '[*)]If you write modifications of your own for this library, '
1578             . 'it is your choice whether to permit this exception '
1579             . 'to apply to your modifications[. ]'
1580             . 'If you do not wish that, '
1581             . 'you must delete the exception notice from such code '
1582             . 'and[/]or adjust the licensing conditions notice accordingly[.]',
1583             };
1584              
1585             =item * except_xerces
1586              
1587             I
1588              
1589             =cut
1590              
1591             $RE{except_xerces} = {
1592             name => 'Xerces-exception',
1593             'name.alt.org.debian' => 'Xerces',
1594             caption => 'Xerces exception',
1595             tags => [
1596             'family:gnu:gpl',
1597             'type:trait:exception',
1598             ],
1599              
1600             'pat.alt.subject.trait.scope.sentence' =>
1601             'Code Synthesis Tools CC gives permission '
1602             . 'to link this program with the Xerces-C\+\+ library ',
1603             'pat.alt.subject.trait.scope.multisection.part.part1' =>
1604             'Code Synthesis Tools CC gives permission '
1605             . 'to link this program with the Xerces-C\+\+ library '
1606             . '[(]or with modified versions of Xerces-C\+\+ '
1607             . 'that use the same license as Xerces-C\+\+[)], '
1608             . 'and distribute linked combinations including the two[. ]'
1609             . 'You must obey the GNU General Public License version 2 '
1610             . 'in all respects '
1611             . 'for all of the code used other than Xerces-C\+\+[. ]'
1612             . 'If you modify this copy of the program, '
1613             . 'you may extend this exception '
1614             . 'to your version of the program, '
1615             . 'but you are not obligated to do so[. ]'
1616             . 'If you do not wish to do so, '
1617             . 'delete this exception statement from your version[.][ ]',
1618             'pat.alt.subject.trait.scope.multisection.part.part2' =>
1619             'Furthermore, Code Synthesis Tools CC makes a special exception '
1620             . 'for the Free[/]Libre and Open Source Software [(]FLOSS[)] '
1621             . 'which is described in the accompanying FLOSSE file[. ]'
1622             };
1623              
1624             =item * fsf_unlimited
1625              
1626             =item * fsf_unlimited_retention
1627              
1628             =cut
1629              
1630             $RE{fsf_unlimited} = {
1631             tags => [
1632             'type:trait',
1633             ],
1634              
1635             'pat.alt.subject.trait.scope.sentence' => $fsf_ul,
1636             };
1637              
1638             $RE{fsf_unlimited_retention} = {
1639             tags => [
1640             'type:trait',
1641             ],
1642              
1643             'pat.alt.subject.trait.scope.sentence' => $fsf_ullr,
1644             };
1645              
1646             =item * generated
1647              
1648             I
1649              
1650             =cut
1651              
1652             $RE{generated} = {
1653             name => 'generated',
1654             caption => 'generated file',
1655             tags => [
1656             'type:trait:flaw',
1657             ],
1658              
1659             '_pat.alt.subject.trait.scope.sentence' => [
1660             'this is (?:a )?generated (?:file|manifest)',
1661             'This file (?:has been|is|was) (?:[*]{1,3})?(?:auto(?:matically |[-])|tool[-])?generated(?:[*]{1,3})?',
1662             'All changes made in this file will be lost',
1663             'generated file(?:[.] |[ - ])do not (?:edit|modify)[!.]',
1664             'DO NOT (?:EDIT|MODIFY) THIS FILE',
1665             'generated by[ word](?: [(][word][ word]{0,2}[)])?[ ]'
1666             . '(?:Please )?DO NOT delete this file[!]',
1667              
1668             # weak, but seems to catch no false positives at end of line
1669             'Generated by running[:]$',
1670              
1671             # too weak: does not mention file explicitly, so may reflect only a subset
1672             # 'Generated (?:automatically|by|from|data|with)',
1673             # 'generated (?:by|from|using)(?: the)?[ word]{1,2}(?: compiler)?[. ]'
1674             # . '(please )?Do not (edit|modify)',
1675             # 'Machine generated[. ](please )?Do not (edit|modify)',
1676             # 'Do not (edit|modify)[. ]Generated (?:by|from|using)',
1677             # '(?:created with|trained by)[ word][. ](please )?Do not edit',
1678             ],
1679             '_pat.alt.subject.trait.scope.sentence.target.autotools' => [
1680             'Makefile\.in generated by automake [#.]+ from Makefile\.am[.]',
1681             'generated automatically by aclocal [#.]+ -\*?- Autoconf',
1682             'Generated(?: from[ word])? by GNU Autoconf',
1683             '(?:Attempt to guess a canonical system name|Configuration validation subroutine script)[. ]'
1684             . 'Copyright[c] [#-,]+Free Software Foundation',
1685             'Calling this script install[-]sh is preferred over install[.]sh, to prevent',
1686             'depcomp - compile a program generating dependencies as side-effects[ ]'
1687             . 'scriptversion',
1688             'Common wrapper for a few potentially missing GNU programs[.][ ]'
1689             . 'scriptversion',
1690             'DO NOT EDIT[!] GENERATED AUTOMATICALLY[!][ ]'
1691             . 'Process this file with automake to produce Makefile\.in',
1692             'This file is maintained in Automake, ',
1693             ],
1694             };
1695              
1696             =item * license_label
1697              
1698             =item * license_label_spdx
1699              
1700             I
1701              
1702             =item * license_label_trove
1703              
1704             I
1705              
1706             =cut
1707              
1708             $RE{license_label} = {
1709             caption => 'license grant "License:" phrase',
1710             tags => [
1711             'type:trait:grant:prefix',
1712             ],
1713              
1714             'pat.alt.subject.trait' => '(?P<_license_label>[Ll]i[cz]en[scz]e) ?[:"]',
1715             };
1716              
1717             $RE{license_label_spdx} = {
1718             caption => 'license grant "SPDX-License-Identifier:" phrase',
1719             tags => [
1720             'type:trait:grant:prefix',
1721             ],
1722              
1723             'pat.alt.subject.trait' =>
1724             '(?P<_license_label_spdx>SPDX[-]License[-]Identifier[:] )',
1725             };
1726              
1727             $RE{license_label_trove} = {
1728             caption => 'license grant "License:" phrase',
1729             tags => [
1730             'type:trait:grant:prefix',
1731             ],
1732              
1733             'pat.alt.subject.trait' =>
1734             '(?P<_license_label_trove>License(?: ::)? OSI Approved(?: ::)? )',
1735             };
1736              
1737             =item * licensed_under
1738              
1739             I
1740              
1741             =cut
1742              
1743             $RE{licensed_under} = {
1744             caption => 'license grant "licensed under" phrase',
1745             tags => [
1746             'type:trait:grant:prefix',
1747             ],
1748              
1749             'pat.alt.subject.trait' => '(?P<_licensed_under>'
1750             . '(?:(?:[Ll]icen[sc]ed(?: for use)?|available|[Dd]istribut(?:able|ed)|[Ff]or distribution|permitted|provided|[Pp]ublished|[Rr]eleased) under'
1751             . '|[Ll]icen[sc]ed using'
1752             . '|(?:in form of source code|may be copied|placed their code|to [Yy]ou) under'
1753             . '|(?:[Tt]his|[Mm]y) (?:software|file|work) is under' # vague preposition prepended by object
1754             . '|(?:are|is) release under' # vague preposition prepended by verb and vague object/action
1755             . '|which I release under' # vague preposition prepended by actor and vague action
1756             . '|distribute(?: it)?(?: and[/]or modify)? it under' # vague preposition prepended by action and vague object
1757             . '|(?:according|[Ss]ubject) to|in accordance with'
1758             . '|[Ss]ubject to'
1759             . '|(?:[Cc]overed|governed) by)'
1760             . '(?: (?:either )?(?:the )?(?:conditions|terms(?: and conditions)?|provisions) (?:described in|of))?' # terms optionally appended
1761             . '|[Uu]nder (?:either )?(?:the )?(?:terms|(?:terms and )?conditions) (?:described in|of)(?: either)?' # vague preposition + terms
1762             . ')[:]? ',
1763             };
1764              
1765             =item * usage_rfn
1766              
1767             I
1768              
1769             =cut
1770              
1771             $RE{usage_rfn} = {
1772             caption => 'license usage "with Reserved Font Name" phrase',
1773             tags => [
1774             'type:trait:usage:rfn',
1775             ],
1776              
1777             'pat.alt.subject.trait' => '(?P<_usage_rfn>with Reserved Font Name)',
1778             };
1779              
1780             =item * version
1781              
1782             Optionally provides the following numbered and named captures:
1783              
1784             "Under GPL, v2 or later of the license."
1785             [ ] # -> $&
1786             I # -> $1, $-{version_number}
1787             [ ] # -> $2, $-{version_later}
1788              
1789             "Under version 2 or 3 only of the GPL."
1790             [ ] # -> $&
1791             I # -> $1, $-{version_number}
1792             I # -> $3, $-{version_number_2}
1793             [ ] # -> $4, $-{version_only}
1794             [] # -> $5, $-{version_of}
1795              
1796             I
1797              
1798             =cut
1799              
1800             $RE{version} = {
1801             tags => [
1802             'type:trait',
1803             ],
1804             };
1805              
1806             =item * version_later
1807              
1808             Optionally provides the following numbered and named captures:
1809              
1810             "Under GPLv2, or later of the license."
1811             [ ] # -> $&
1812             [ ] # -> $1, $-{version_later}
1813              
1814             I
1815              
1816             =cut
1817              
1818             $RE{version_later} = {
1819             caption => 'version "or later"',
1820             tags => [
1821             'type:trait',
1822             ],
1823              
1824             'pat.alt.subject.trait' =>
1825             '(?:[.]?[ ]|,? )?(?P(?:[(] ?)?(?:and|or)(?: '
1826             . $P{at_option}
1827             . ')?(?: any)? (?:later|above|newer|higher)(?: version)?(?: '
1828             . $P{at_option} . ')?)',
1829             };
1830              
1831             =item * version_numberstring
1832              
1833             Optionally provides the following numbered and named captures:
1834              
1835             "Under GPL, v2 or later of the license."
1836             [ ] # -> $&
1837             I # -> $1, $-{version_number}
1838              
1839             "Under version 2 or 3 only of the GPL."
1840             [ ] # -> $&
1841             I # -> $1, $-{version_number}
1842              
1843             I
1844             I
1845              
1846             =cut
1847              
1848             $RE{version_numberstring} = {
1849             caption => 'version numberstring',
1850             tags => [
1851             'type:trait',
1852             ],
1853             };
1854              
1855             =item * version_only
1856              
1857             Optionally provides the following numbered and named captures:
1858              
1859             "Under GPL version 2 only of the license."
1860             [ ] # -> $&
1861             [ ] # -> $1, $-{version_only}
1862              
1863             I
1864              
1865             =cut
1866              
1867             $RE{version_only} = {
1868             caption => 'version "only"',
1869             tags => [
1870             'type:trait',
1871             ],
1872              
1873             'pat.alt.subject.trait' =>
1874             ' ?(?P<_version_only>only|[(]no other versions?(?: is allowed)?!?[)])',
1875             };
1876              
1877             =item * version_prefix
1878              
1879             =cut
1880              
1881             $RE{version_prefix} = {
1882             caption => 'version prefix',
1883             tags => [
1884             'type:trait',
1885             ],
1886              
1887             'pat.alt.subject.trait.scope.line.scope.sentence' =>
1888             '(?:[-]|[;]? ?(?:only |either )?|[ - ])?[(]? ?'
1889             . $P{version_number_prefix},
1890             'pat.alt.subject.trait.scope.paragraph' => '[:]?[ ][(]? ?'
1891             . $P{version_number_prefix},
1892             'pat.alt.subject.trait' =>
1893             '(?:[-]|[;]? ?(?:either|only)? ?|[ - ]|[:]?[ ])?[(]? ?'
1894             . $P{version_number_prefix},
1895             };
1896              
1897             my $version_numberstring_suffix
1898             = '(?P'
1899             . $P{version_number} . ')'
1900             . $P{version_number_suffix};
1901             $RE{version_numberstring}{'pat.alt.subject.trait.scope.line.scope.sentence'}
1902             = $RE{version_prefix}{'pat.alt.subject.trait.scope.line.scope.sentence'}
1903             . $version_numberstring_suffix;
1904             $RE{version_numberstring}{'pat.alt.subject.trait.scope.paragraph'}
1905             = $RE{version_prefix}{'pat.alt.subject.trait.scope.paragraph'}
1906             . $version_numberstring_suffix;
1907             $RE{version_numberstring}{'pat.alt.subject.trait'}
1908             = $RE{version_prefix}{'pat.alt.subject.trait'}
1909             . $version_numberstring_suffix;
1910              
1911             my $version_suffix
1912             = '(?:'
1913             . $RE{version_later}{'pat.alt.subject.trait'} . '|'
1914             . $P{version_plural_infix}
1915             . $P{version_number_prefix}
1916             . '(?P'
1917             . $P{version_number} . ')'
1918             . $P{version_number_suffix} . '(?:'
1919             . $RE{version_only}{'pat.alt.subject.trait'} . ')?'
1920             . $P{version_plural_suffix}
1921             . ')?(?: ?[)])? ?(?P<_version_of>of\b)? ?';
1922             $RE{version}{'pat.alt.subject.trait.scope.line.scope.sentence'}
1923             = $RE{version_numberstring}
1924             {'pat.alt.subject.trait.scope.line.scope.sentence'} . $version_suffix;
1925             $RE{version}{'pat.alt.subject.trait.scope.paragraph'}
1926             = $RE{version_numberstring}{'pat.alt.subject.trait.scope.paragraph'}
1927             . $version_suffix;
1928             $RE{version}{'pat.alt.subject.trait'}
1929             = $RE{version_numberstring}{'pat.alt.subject.trait'} . $version_suffix;
1930              
1931             =back
1932              
1933             =head2 Single licenses
1934              
1935             Patterns each covering a single license.
1936              
1937             Each of these patterns has exactly one of these tags:
1938             B< type:unversioned >
1939             B< type:versioned:decimal >
1940             B< type:singleversion:* >
1941             B< type:usage:*:* >
1942             .
1943              
1944             =over
1945              
1946             =item * aal
1947              
1948             =cut
1949              
1950             $RE{aal} = {
1951             name => 'AAL',
1952             'name.alt.org.fedora' => 'AAL',
1953             'name.alt.org.osi' => 'AAL',
1954             'name.alt.org.osi.iri.stem.until.date_20110430.synth.nogrant' =>
1955             'attribution',
1956             'name.alt.org.spdx' => 'AAL',
1957             'name.alt.org.wikidata.synth.nogrant' => 'Q38364310',
1958             caption => 'Attribution Assurance License',
1959             'caption.alt.org.tldr' => 'Attribution Assurance License (AAL)',
1960             'caption.alt.org.trove' => 'Attribution Assurance License',
1961             tags => [
1962             'license:is:grant',
1963             'type:unversioned',
1964             ],
1965              
1966             'pat.alt.subject.license' =>
1967             'must prominently display this GPG-signed text',
1968             };
1969              
1970             =item * abstyles
1971              
1972             =cut
1973              
1974             $RE{abstyles} = {
1975             name => 'Abstyles',
1976             'name.alt.org.fedora.iri.self' => 'Abstyles',
1977             'name.alt.org.spdx.since.date_20140807' => 'Abstyles',
1978             caption => 'Abstyles License',
1979             'caption.alt.org.tldr' => 'Abstyles License',
1980             tags => [
1981             'license:is:grant',
1982             'type:unversioned',
1983             ],
1984              
1985             'pat.alt.subject.license' =>
1986             'Permission is granted to copy and distribute '
1987             . 'modified versions of this document '
1988             . 'under the conditions for verbatim copying, '
1989             . 'provided that the entire resulting derived work '
1990             . 'is distributed under the terms of a permission notice '
1991             . 'identical to this one[.]',
1992             };
1993              
1994             =item * adobe_2006
1995              
1996             =cut
1997              
1998             $RE{adobe_2006} = {
1999             name => 'Adobe-2006',
2000             'name.alt.misc.scancode' => 'adobe-scl',
2001             'name.alt.org.fedora.synth.nogrant' => 'Adobe',
2002             'name.alt.org.fedora.iri.self' => 'AdobeLicense',
2003             'name.alt.org.spdx.since.date_20140807' => 'Adobe-2006',
2004             'name.alt.org.tldr' =>
2005             'adobe-systems-incorporated-source-code-license-agreement',
2006             caption => 'Adobe Systems Incorporated Source Code License Agreement',
2007             'caption.alt.org.fedora.misc.web.synth.nogrant' => 'Adobe License',
2008             tags => [
2009             'license:is:grant',
2010             'type:unversioned',
2011             ],
2012              
2013             'pat.alt.subject.license' =>
2014             'You agree to indemnify, hold harmless and defend',
2015             };
2016              
2017             =item * adobe_glyph
2018              
2019             =cut
2020              
2021             $RE{adobe_glyph} = {
2022             name => 'Adobe-Glyph',
2023             'name.alt.org.fedora.iri.mit_short' => 'AdobeGlyph',
2024             'name.alt.org.spdx.since.date_20140807' => 'Adobe-Glyph',
2025             caption => 'Adobe Glyph List License',
2026             'caption.alt.org.tldr' => 'Adobe Glyph List License',
2027             'summary.alt.org.fedora.iri.mit' =>
2028             'MIT-style license, Adobe Glyph List Variant',
2029             tags => [
2030             'license:is:grant',
2031             'type:unversioned',
2032             ],
2033              
2034             'pat.alt.subject.license.scope.sentence' =>
2035             'and to permit others to do the same, provided that the derived work is not represented as being a copy',
2036             };
2037              
2038             =item * adsl
2039              
2040             =cut
2041              
2042             $RE{adsl} = {
2043             name => 'ADSL',
2044             'name.alt.org.fedora' => 'ADSL',
2045             'name.alt.org.fedora.iri.self' => 'AmazonDigitalServicesLicense',
2046             'name.alt.org.spdx.since.date_20140807' => 'ADSL',
2047             caption => 'Amazon Digital Services License',
2048             tags => [
2049             'license:is:grant',
2050             'type:unversioned',
2051             ],
2052              
2053             'pat.alt.subject.license.scope.sentence' =>
2054             'Your use of this software code is at your own risk '
2055             . 'and you waive any claim against Amazon Digital Services, Inc[.]',
2056             };
2057              
2058             =item * afl
2059              
2060             =item * afl_1_1
2061              
2062             I
2063              
2064             =item * afl_1_2
2065              
2066             I
2067              
2068             =item * afl_2
2069              
2070             I
2071              
2072             =item * afl_2_1
2073              
2074             I
2075              
2076             =item * afl_3
2077              
2078             I
2079              
2080             =cut
2081              
2082             my $termination_for_patent_including_counterclaim
2083             = '[*)]Termination for Patent Action[. ]'
2084             . 'This License shall terminate automatically '
2085             . 'and You may no longer exercise any of the rights '
2086             . 'granted to You by this License '
2087             . 'as of the date You commence an action, '
2088             . 'including a cross-claim or counterclaim,';
2089              
2090             $RE{afl} = {
2091             name => 'AFL',
2092             'name.alt.org.osi.iri.stem.until.date_20021204' => 'academic',
2093             'name.alt.org.wikidata.synth.nogrant' => 'Q337279',
2094             caption => 'Academic Free License',
2095             'caption.alt.org.trove' => 'Academic Free License (AFL)',
2096             'caption.alt.org.wikipedia' => 'Academic Free License',
2097             tags => [
2098             'type:versioned:decimal',
2099             ],
2100              
2101             # TODO: readd when children cover same region
2102             # 'pat.alt.subject.license.scope.line.scope.paragraph' =>
2103             # 'Exclusions [Ff]rom License Grant[. ]Neither',
2104             };
2105              
2106             $RE{afl_1_1} = {
2107             name => 'AFL-1.1',
2108             'name.alt.org.spdx' => 'AFL-1.1',
2109             'name.alt.misc.fossology_old' => 'AFL_v1.1',
2110             caption => 'Academic Free License v1.1',
2111             'caption.alt.misc.fossology_old' => 'AFL 1.1',
2112             tags => [
2113             'license:contains:grant',
2114             'type:singleversion:afl',
2115             ],
2116             licenseversion => '1.1',
2117              
2118             'pat.alt.subject.license' => 'The Academic Free License applies to',
2119             };
2120              
2121             $RE{afl_1_2} = {
2122             name => 'AFL-1.2',
2123             'name.alt.org.spdx' => 'AFL-1.2',
2124             'name.alt.misc.fossology_old' => 'AFL_v1.2',
2125             caption => 'Academic Free License v1.2',
2126             'caption.alt.misc.fossology_old' => 'AFL 1.2',
2127             tags => [
2128             'license:contains:grant',
2129             'type:singleversion:afl',
2130             ],
2131             licenseversion => '1.2',
2132              
2133             'pat.alt.subject.license' => 'This Academic Free License applies to',
2134             };
2135              
2136             $RE{afl_2} = {
2137             name => 'AFL-2.0',
2138             'name.alt.org.spdx' => 'AFL-2.0',
2139             'name.alt.misc.fossology_old' => 'AFL_v2.0',
2140             caption => 'Academic Free License v2.0',
2141             'caption.alt.misc.fossology_old' => 'AFL 2.0',
2142             tags => [
2143             'license:contains:grant',
2144             'type:singleversion:afl',
2145             ],
2146             licenseversion => '2.0',
2147              
2148             'pat.alt.subject.license.scope.multisection' =>
2149             'its terms and conditions[.][ ]'
2150             . $termination_for_patent_including_counterclaim
2151             . ' for patent infringement',
2152             };
2153              
2154             $RE{afl_2_1} = {
2155             name => 'AFL-2.1',
2156             'name.alt.org.spdx' => 'AFL-2.1',
2157             'name.alt.org.tldr.synth.nogrant' => 'academic-free-license-v.-2.1',
2158             'name.alt.misc.fossology_old' => 'AFL_v2.1',
2159             caption => 'Academic Free License v2.1',
2160             'caption.alt.misc.fossology_old' => 'AFL 2.1',
2161             'caption.alt.org.tldr' => 'Academic Free License 2.1 (AFL-2.1)',
2162             tags => [
2163             'license:contains:grant',
2164             'type:singleversion:afl',
2165             ],
2166             licenseversion => '2.1',
2167              
2168             'pat.alt.subject.license.scope.multisection' =>
2169             'its terms and conditions[.][ ]'
2170             . $termination_for_patent_including_counterclaim
2171             . ' against Licensor or any licensee',
2172             };
2173              
2174             $RE{afl_3} = {
2175             name => 'AFL-3.0',
2176             'name.alt.org.fedora.synth.nogrant' => 'AFL',
2177             'name.alt.org.osi' => 'AFL-3.0',
2178             'name.alt.org.osi.iri.stem.until.date_20110430' => 'afl-3.0',
2179             'name.alt.org.spdx' => 'AFL-3.0',
2180             'name.alt.org.tldr.path.short' => 'afl3',
2181             'name.alt.misc.fossology_old' => 'AFL_v3.0',
2182             caption => 'Academic Free License v3.0',
2183             'caption.alt.org.fedora.synth.nogrant' => 'Academic Free License',
2184             'caption.alt.org.fsf' => 'Academic Free License 3.0',
2185             'caption.alt.org.osi' => 'Academic Free License ("AFL") v. 3.0',
2186             'caption.alt.org.osi.misc.list' => 'Academic Free License 3.0',
2187             'caption.alt.org.tldr' => 'Academic Free License 3.0 (AFL)',
2188             'caption.alt.misc.fossology_old' => 'AFL 3.0',
2189             tags => [
2190             'license:contains:grant',
2191             'type:singleversion:afl',
2192             ],
2193             licenseversion => '3.0',
2194              
2195             'pat.alt.subject.license.scope.multisection.part.part1' =>
2196             'Licensed under the Academic Free License version 3\.0[ ]'
2197             . '[*)]Grant of Copyright License[.]',
2198             };
2199              
2200             =item * afmparse
2201              
2202             =cut
2203              
2204             $RE{afmparse} = {
2205             name => 'Afmparse',
2206             'name.alt.org.fedora.iri.self' => 'Afmparse',
2207             'name.alt.org.spdx.since.date_20140807' => 'Afmparse',
2208             caption => 'Afmparse License',
2209             'caption.alt.org.tldr' => 'Afmparse License',
2210             tags => [
2211             'license:is:grant',
2212             'type:unversioned',
2213             ],
2214              
2215             'pat.alt.subject.license.scope.sentence' =>
2216             'If the file has been modified in any way, '
2217             . 'a notice of such modification is conspicuously indicated[.]',
2218             };
2219              
2220             =item * agpl
2221              
2222             =item * agpl_1
2223              
2224             I
2225              
2226             =item * agpl_1_only
2227              
2228             =item * agpl_1_or_later
2229              
2230             =item * agpl_2
2231              
2232             =item * agpl_3
2233              
2234             =item * agpl_3_only
2235              
2236             =item * agpl_3_or_later
2237              
2238             =cut
2239              
2240             $RE{agpl} = {
2241             name => 'AGPL',
2242             'name.alt.org.fsf' => 'AGPL',
2243             'name.alt.org.wikidata.synth.nogrant' => 'Q1131681',
2244             'name.alt.misc.fossology_old' => 'Affero',
2245             caption => 'GNU Affero General Public License',
2246             'caption.alt.misc.short' => 'Affero GPL',
2247             'caption.alt.misc.informal' => 'Affero License',
2248             'caption.alt.org.fsf' => 'GNU Affero General Public License (AGPL)',
2249             'caption.alt.org.wikipedia' => 'GNU Affero General Public License',
2250             tags => [
2251             'family:gpl',
2252             'license:contains:grant',
2253             'type:versioned:decimal',
2254             ],
2255             };
2256              
2257             $RE{agpl_1} = {
2258             name => 'AGPLv1',
2259             'name.alt.org.debian' => 'AGPL-1',
2260             'name.alt.org.fedora' => 'AGPLv1',
2261             'name.alt.org.spdx.since.date_20130410' => 'AGPL-1.0',
2262             'name.alt.org.wikidata.synth.nogrant' => 'Q27017230',
2263             'name.alt.misc.fossology_old' => 'Affero_v1',
2264             caption => 'Affero General Public License v1.0',
2265             'caption.alt.org.fedora' => 'Affero General Public License 1.0',
2266             'caption.alt.org.spdx.until.date_20140807' =>
2267             'GNU Affero General Public License v1.0',
2268             'caption.alt.org.spdx.since.date_20140807' =>
2269             'Affero General Public License v1.0',
2270             'caption.alt.misc.fossology_old' => 'AGPL 1.0',
2271             'caption.alt.org.wikidata' =>
2272             'Affero General Public License, version 1.0',
2273             iri => 'http://www.affero.org/oagpl.html',
2274             tags => [
2275             'family:gpl',
2276             'type:singleversion:agpl',
2277             ],
2278             licenseversion => '1.0',
2279              
2280             'pat.alt.subject.license.scope.multisection.part.title' =>
2281             'AFFERO GENERAL PUBLIC LICENSE[ ]Version 1',
2282             'pat.alt.subject.license.part.intro' =>
2283             'This license is a modified version of the GNU General Public License',
2284             'pat.alt.subject.license.scope.sentence.part.preamble' =>
2285             'Some other Affero software is covered '
2286             . 'by the GNU Library General Public License instead[.]',
2287             'pat.alt.subject.license.part.part2_d' =>
2288             '[*)]If the Program as you received it is intended to interact',
2289             };
2290              
2291             $RE{agpl_1_only} = {
2292             name => 'AGPL-1.0-only',
2293             caption => 'Affero General Public License v1.0 only',
2294             tags => [
2295             'family:gpl',
2296             'type:usage:agpl_1:only'
2297             ],
2298             };
2299              
2300             $RE{agpl_1_or_later} = {
2301             name => 'AGPL-1.0-or-later',
2302             'name.alt.org.debian' => 'AGPL-1+',
2303             'name.alt.org.spdx.since.date_20180414' => 'AGPL-1-or-later',
2304             'name.alt.org.wikidata.synth.nogrant' => 'Q54571707',
2305             caption => 'Affero General Public License v1.0 or later',
2306             'caption.alt.org.wikidata' =>
2307             'Affero General Public License, version 1.0 or later',
2308             tags => [
2309             'family:gpl',
2310             'type:usage:agpl_1:or_later'
2311             ],
2312             };
2313              
2314             $RE{agpl_2} = {
2315             name => 'AGPLv2',
2316             'name.alt.org.debian' => 'AGPL-2',
2317             'name.alt.org.wikidata.synth.nogrant' => 'Q54365943',
2318             caption => 'Affero General Public License, Version 2',
2319             'caption.alt.org.wikidata' =>
2320             'Affero General Public License, version 2.0',
2321             iri => 'http://www.affero.org/agpl2.html',
2322             tags => [
2323             'family:gpl',
2324             'type:singleversion:agpl'
2325             ],
2326             licenseversion => '2.0',
2327              
2328             'pat.alt.subject.license.part.part1' =>
2329             'This is version 2 of the Affero General Public License[.]',
2330             'pat.alt.subject.license.part.part2' =>
2331             'If the Program was licensed under version 1 of the Affero GPL',
2332             };
2333              
2334             $RE{agpl_3} = {
2335             name => 'AGPLv3',
2336             'name.alt.org.debian' => 'AGPL-3',
2337             'name.alt.org.fsf' => 'AGPLv3.0',
2338             'name.alt.org.fedora' => 'AGPLv3',
2339             'name.alt.org.osi' => 'AGPL-3.0',
2340             'name.alt.org.osi.iri.stem.until.date_20110430' => 'agpl-v3',
2341             'name.alt.org.perl' => 'agpl_3',
2342             'name.alt.org.spdx.until.date_20171228' => 'AGPL-3.0',
2343             'name.alt.org.tldr.path.short' => 'agpl3',
2344             'name.alt.org.wikidata.synth.nogrant' => 'Q27017232',
2345             'name.alt.misc.fossology_old' => 'Affero_v3',
2346             caption => 'GNU Affero General Public License v3.0',
2347             'caption.alt.org.fedora' => 'Affero General Public License 3.0',
2348             'caption.alt.org.fsf' =>
2349             'GNU Affero General Public License (AGPL) version 3',
2350             'caption.alt.org.osi' => 'GNU Affero General Public License version 3',
2351             'caption.alt.org.perl' => 'GNU Affero General Public License, Version 3',
2352             'caption.alt.org.trove' => 'GNU Affero General Public License v3',
2353             'caption.alt.org.tldr' =>
2354             'GNU Affero General Public License v3 (AGPL-3.0)',
2355             'caption.alt.org.wikidata' =>
2356             'GNU Affero General Public License, version 3.0',
2357             'caption.alt.misc.fossology_old' => 'AGPL 3.0',
2358             iri => 'https://www.gnu.org/licenses/agpl',
2359             'iri.alt.format.txt' => 'https://www.gnu.org/licenses/agpl.txt',
2360             'iri.alt.path.fragmented' =>
2361             'https://www.gnu.org/licenses/licenses.html#AGPL',
2362             'iri.alt.path.versioned' => 'http://www.gnu.org/licenses/agpl-3.0.html',
2363             tags => [
2364             'family:gpl',
2365             'license:published:by_fsf',
2366             'type:singleversion:agpl'
2367             ],
2368             licenseversion => '3.0',
2369              
2370             'pat.alt.subject.license.scope.multisection.part.title' =>
2371             'GNU AFFERO GENERAL PUBLIC LICENSE[ ]Version 3',
2372             'pat.alt.subject.license.part.intro' =>
2373             '["]This License["] refers to version 3 of the GNU Affero',
2374             'pat.alt.subject.license.scope.sentence.part.part13_1' =>
2375             'This Corresponding Source shall include '
2376             . 'the Corresponding Source for any work '
2377             . 'covered by '
2378             . 'version 3 of the GNU General Public License',
2379             'pat.alt.subject.license.scope.sentence.part.part13_2_1' =>
2380             'Notwithstanding any other provision of this License, '
2381             . 'you have permission to link or combine any covered work '
2382             . 'with a work licensed under '
2383             . 'version 3 of the GNU General',
2384             'pat.alt.subject.license.scope.sentence.part.part13_2_2' =>
2385             'The terms of this License will continue to apply '
2386             . 'to the part which is the covered work, '
2387             . 'but the work with which it is combined '
2388             . 'will remain governed by '
2389             . 'version 3 of the GNU General',
2390             'pat.alt.subject.license.scope.multisection.part.tail_sample' =>
2391             '[<]?name of author[>]?[ ]'
2392             . 'This program is free software[;]? '
2393             . 'you can redistribute it and[/]or modify it '
2394             . 'under the terms of the GNU Affero General Public License '
2395             . 'as published by the Free Software Foundation[;]? '
2396             . 'either version 3 of the License, or',
2397             };
2398              
2399             #FIXME $RE{agpl_3}{_pat_word} = '(?:AGPL|agpl)[-]?3';
2400              
2401             $RE{agpl_3_only} = {
2402             name => 'AGPL-3.0-only',
2403             'name.alt.org.spdx.since.date_20171228' => 'AGPL-3.0-only',
2404             caption => 'GNU Affero General Public License v3.0 only',
2405             tags => [
2406             'family:gpl',
2407             'license:published:by_fsf',
2408             'type:usage:agpl_3:only',
2409             ],
2410             };
2411              
2412             $RE{agpl_3_or_later} = {
2413             name => 'AGPL-3.0-or-later',
2414             'name.alt.org.debian' => 'AGPL-3+',
2415             'name.alt.org.fedora' => 'AGPLv3+',
2416             'name.alt.org.spdx.since.date_20171228' => 'AGPL-3.0-or-later',
2417             'name.alt.org.trove' => 'AGPLv3+',
2418             'name.alt.org.wikidata.synth.nogrant' => 'Q27020062',
2419             'name.alt.misc.fossology_old' => 'Affero_v3+',
2420             caption => 'GNU Affero General Public License v3.0 or later',
2421             'caption.alt.org.fedora' => 'Affero General Public License 3.0 or later',
2422             'caption.alt.org.trove' =>
2423             'GNU Affero General Public License v3 or later (AGPLv3+)',
2424             'caption.alt.org.wikidata' =>
2425             'GNU Affero General Public License, version 3.0 or later',
2426             tags => [
2427             'family:gpl',
2428             'license:published:by_fsf',
2429             'type:usage:agpl_3:or_later',
2430             ],
2431             };
2432              
2433             =item * aladdin
2434              
2435             =item * aladdin_8
2436              
2437             I
2438              
2439             =item * aladdin_9
2440              
2441             I
2442              
2443             =cut
2444              
2445             $RE{aladdin} = {
2446             name => 'Aladdin',
2447             'name.alt.org.trove' => 'AFPL',
2448             'name.alt.org.wikidata.synth.nogrant' => 'Q979794',
2449             caption => 'Aladdin Free Public License',
2450             'caption.alt.org.fedora' => 'Aladdin Free Public License',
2451             'caption.alt.org.trove' => 'Aladdin Free Public License (AFPL)',
2452             tags => [
2453             'type:versioned:decimal',
2454             ],
2455             };
2456              
2457             $RE{aladdin_8} = {
2458             name => 'Aladdin-8',
2459             'name.alt.org.scancode' => 'afpl-8',
2460             'name.alt.org.spdx.since.date_20130117.synth.nogrant' => 'Aladdin',
2461             'name.alt.org.debian' => 'Aladdin-8',
2462             caption => 'Aladdin Free Public License, Version 8',
2463             'caption.alt.org.spdx.synth.nogrant' => 'Aladdin Free Public License',
2464             tags => [
2465             'type:singleversion:aladdin',
2466             ],
2467             licenseversion => '8.0',
2468              
2469             'pat.alt.subject.license.scope.multisection' =>
2470             'laws of the appropriate country[.][ ]0[. ]Subject Matter',
2471             };
2472              
2473             $RE{aladdin_9} = {
2474             name => 'Aladdin-9',
2475             'name.alt.org.scancode' => 'afpl-9',
2476             'name.alt.org.tldr.path.short' => 'aladdin',
2477             caption => 'Aladdin Free Public License, Version 9',
2478             'caption.alt.org.tldr' => 'Aladdin Free Public License',
2479             'iri.alt.archive.time_20130804020135' =>
2480             'http://www.artifex.com/downloads/doc/Public.htm',
2481             tags => [
2482             'type:singleversion:aladdin',
2483             ],
2484             licenseversion => '9.0',
2485              
2486             'pat.alt.subject.license' =>
2487             'This License is not an Open Source license[:][ ]among other things',
2488             };
2489              
2490             =item * amdplpa
2491              
2492             =cut
2493              
2494             $RE{amdplpa} = {
2495             name => 'AMDPLPA',
2496             'name.alt.org.fedora' => 'AMDPLPA',
2497             'name.alt.org.spdx.since.date_20140807' => 'AMDPLPA',
2498             caption => 'AMD\'s plpa_map.c License',
2499             'caption.alt.org.fedora.iri.self' => 'AMD plpa map License',
2500             'caption.alt.org.spdx.since.date_20140807.until.date_20201125' =>
2501             'AMD\'s plpa_map.c License',
2502             'caption.alt.org.spdx.since.date_20201125.until.date_20210307' =>
2503             'AMDs plpa_map.c License',
2504             'caption.alt.org.spdx.since.date_20210307' => 'AMD\'s plpa_map.c License',
2505             tags => [
2506             'license:is:grant',
2507             'type:unversioned',
2508             ],
2509              
2510             'pat.alt.subject.license' =>
2511             'Neither the names nor trademarks of Advanced Micro Devices, Inc\.',
2512             };
2513              
2514             =item * aml
2515              
2516             =cut
2517              
2518             $RE{aml} = {
2519             name => 'AML',
2520             'name.alt.org.fedora' => 'AML',
2521             'name.alt.org.spdx.since.date_20140807' => 'AML',
2522             caption => 'Apple MIT License',
2523             'caption.alt.org.fedora.iri.self' => 'Apple MIT License',
2524             'caption.alt.org.tldr' => 'Apple MIT License (AML)',
2525             tags => [
2526             'family:mit',
2527             'license:is:grant',
2528             'type:unversioned',
2529             ],
2530              
2531             'pat.alt.subject.license' =>
2532             'Apple grants you a personal, non-exclusive license',
2533             };
2534              
2535             =item * ampas
2536              
2537             =cut
2538              
2539             $RE{ampas} = {
2540             name => 'AMPAS',
2541             'name.alt.org.fedora.iri.bsd' => 'AMPASBSD',
2542             'name.alt.org.spdx.since.date_20140807' => 'AMPAS',
2543             caption => 'Academy of Motion Picture Arts and Sciences BSD',
2544             'caption.alt.org.fedora.misc.short' => 'AMPAS BSD',
2545             'caption.alt.org.tldr' =>
2546             'Academy of Motion Picture Arts and Sciences BSD',
2547             'summary.alt.org.fedora' =>
2548             'Academy of Motion Picture Arts and Sciences BSD Variant',
2549             tags => [
2550             'family:bsd',
2551             'license:is:grant',
2552             'type:unversioned',
2553             ],
2554              
2555             'pat.alt.subject.license.scope.multisection' =>
2556             $P{retain_notice_cond_discl_warr}
2557             . '[.][ ]'
2558             . $P{repro_copr_cond_discl_warr}
2559             . '[.][ ]'
2560             . $P{nopromo_nothing_deemed},
2561             };
2562              
2563             =item * antlr_pd
2564              
2565             =cut
2566              
2567             $RE{antlr_pd} = {
2568             name => 'ANTLR-PD',
2569             'name.alt.org.fedora.iri.self' => 'ANTLR-PD',
2570             'name.alt.org.spdx' => 'ANTLR-PD',
2571             caption => 'ANTLR Software Rights Notice',
2572             'caption.alt.org.tldr' => 'ANTLR Software Rights Notice (ANTLR-PD)',
2573             tags => [
2574             'license:is:grant',
2575             'type:unversioned',
2576             ],
2577              
2578             'pat.alt.subject.license' =>
2579             'We reserve no legal rights to the ANTLR[--]?it is fully in the public domain[.]',
2580             };
2581              
2582             =item * apache
2583              
2584             =item * apache_1
2585              
2586             I
2587              
2588             =item * apache_1_1
2589              
2590             I
2591              
2592             =item * apache_2
2593              
2594             I
2595              
2596             =cut
2597              
2598             $RE{apache} = {
2599             name => 'Apache',
2600             'name.alt.org.osi.iri.stem_only.until.date_20080202' => 'apachepl',
2601             'name.alt.org.wikidata.synth.nogrant' => 'Q616526',
2602             caption => 'Apache License',
2603             'caption.alt.org.trove' => 'Apache Software License',
2604             'caption.alt.org.wikipedia' => 'Apache License',
2605             'caption.alt.misc.public' => 'Apache Public License',
2606             iri => 'https://www.apache.org/licenses/LICENSE-2.0',
2607             tags => [
2608             'type:versioned:decimal',
2609             ],
2610             };
2611              
2612             $RE{apache_1} = {
2613             name => 'Apache-1.0',
2614             'name.alt.org.fedora' => 'Apache-1.0',
2615             'name.alt.org.spdx' => 'Apache-1.0',
2616             'name.alt.org.wikidata.synth.nogrant' => 'Q26897902',
2617             'name.alt.misc.fossology_old' => 'Apache_v1.0',
2618             caption => 'Apache License 1.0',
2619             'caption.alt.org.fedora' => 'Apache Software License 1.0',
2620             'caption.alt.org.fedora.misc.short' => 'ASL 1.0',
2621             'caption.alt.org.tldr' => 'Apache License 1.0 (Apache-1.0)',
2622             'caption.alt.org.wikidata' => 'Apache Software License, Version 1.0',
2623             description => <<'END',
2624             Identical to BSD (4 clause), except...
2625             * extend advertising clause to also require advertising purpose
2626             * extend non-endorsement clause to include contact info
2627             * add derivatives-must-rename clause
2628             * add redistribution-acknowledgement clause
2629             END
2630             iri => 'https://www.apache.org/licenses/LICENSE-1.0',
2631             tags => [
2632             'license:contains:license:bsd_4_clause',
2633             'license:is:grant',
2634             'type:singleversion:apache',
2635             ],
2636             licenseversion => '1.0',
2637              
2638             'pat.alt.subject.license.scope.sentence' => $P{redist_ack_this},
2639             'pat.alt.subject.license.scope.multisection.part.head' =>
2640             $P{repro_copr_cond_discl}
2641             . '[.][ ]' . '[*)]?'
2642             . $P{ad_mat_ack_this}
2643             . '[word][ word]{0,14}'
2644             . '[.][ ][*)]?'
2645             . $P{nopromo_neither}
2646             . '[. ]For written permission, please contact [word]'
2647             . '[.][ ]' . '[*)]?'
2648             . 'Products derived from this software may not be called'
2649             };
2650              
2651             $RE{apache_1_1} = {
2652             name => 'Apache-1.1',
2653             'name.alt.org.osi' => 'Apache-1.1',
2654             'name.alt.org.osi.iri.stem.until.date_20110430' => 'apachepl-1.1',
2655             'name.alt.org.perl' => 'apache_1_1',
2656             'name.alt.org.spdx' => 'Apache-1.1',
2657             'name.alt.org.tldr' => 'apache-license-1.1',
2658             'name.alt.org.wikidata.synth.nogrant' => 'Q17817999',
2659             'name.alt.misc.fossology_old' => 'Apache_v1.1',
2660             caption => 'Apache License 1.1',
2661             'caption.alt.org.fedora' => 'Apache Software License 1.1',
2662             'caption.alt.org.fedora.misc.short' => 'ASL 1.1',
2663             'caption.alt.org.osi' => 'Apache Software License, version 1.1',
2664             'caption.alt.org.osi.misc.list' => 'Apache Software License 1.1',
2665             'caption.alt.org.perl' => 'Apache Software License, Version 1.1',
2666             'caption.alt.org.tldr' => 'Apache License 1.1 (Apache-1.1)',
2667             'caption.alt.org.wikidata' => 'Apache Software License, Version 1.1',
2668             'caption.alt.misc.fossology_old' => 'Apache 1.1',
2669             'caption.alt.misc.software' => 'Apache Software License 1.1',
2670             description => <<'END',
2671             Identical to BSD (3 clause), except...
2672             * add documentation-acknowledgement clause (as 3rd clause similar to BSD-4-clause advertising clause)
2673             * extend non-endorsement clause to include contact info
2674             * add derivatives-must-rename clause
2675             END
2676             iri => 'https://www.apache.org/licenses/LICENSE-1.1',
2677             'iri.alt.org.wikipedia' =>
2678             'https://en.wikipedia.org/wiki/Apache_License#Version_1.1',
2679             tags => [
2680             'license:contains:license:bsd_3_clause',
2681             'license:is:grant',
2682             'license:published:by_apache',
2683             'type:singleversion:apache',
2684             ],
2685             licenseversion => '1.1',
2686              
2687             'pat.alt.subject.license.scope.multisection' =>
2688             'without prior written permission of[ word]{1,5}[.][ ]'
2689             . 'THIS SOFTWARE IS PROVIDED',
2690             'pat.alt.subject.license.scope.multisection.part.head' =>
2691             '(?:Apache License 1\.1[ ]'
2692             . 'Copyright[c] 2000 The Apache Software Foundation[.]'
2693             . ' All rights reserved[.][ ])?'
2694             . $P{repro_copr_cond_discl}
2695             . '[.][ ]'
2696             . '[*)]?The end-user documentation included',
2697             };
2698              
2699             $RE{apache_2} = {
2700             name => 'Apache-2.0',
2701             'name.alt.org.osi' => 'Apache-2.0',
2702             'name.alt.org.osi.iri.stem.until.date_20110430' => 'apache2.0',
2703             'name.alt.org.perl' => 'apache_2_0',
2704             'name.alt.org.spdx' => 'Apache-2.0',
2705             'name.alt.org.tldr.path.short' => 'apache2',
2706             'name.alt.org.wikidata.synth.nogrant' => 'Q13785927',
2707             'name.alt.misc.fossology_old' => 'Apache_v2.0',
2708             'name.alt.misc.fossology_old_short' => 'Apache2.0',
2709             caption => 'Apache License 2.0',
2710             'caption.alt.org.fedora' => 'Apache Software License 2.0',
2711             'caption.alt.org.fedora.misc.short' => 'ASL 2.0',
2712             'caption.alt.org.osi' => 'Apache License, Version 2.0',
2713             'caption.alt.org.osi.misc.list' => 'Apache License 2.0',
2714             'caption.alt.org.perl' => 'Apache License, Version 2.0',
2715             'caption.alt.org.tldr' => 'Apache License 2.0 (Apache-2.0)',
2716             'caption.alt.org.wikidata' => 'Apache Software License, Version 2.0',
2717             'caption.alt.misc.public' => 'Apache Public License 2.0',
2718             'caption.alt.misc.software' => 'Apache Software License 2.0',
2719             iri => 'https://www.apache.org/licenses/LICENSE-2.0',
2720             'iri.alt.org.wikipedia' =>
2721             'https://en.wikipedia.org/wiki/Apache_License#Version_2.0',
2722             tags => [
2723             'license:contains:grant',
2724             'license:published:by_apache',
2725             'type:singleversion:apache',
2726             ],
2727             licenseversion => '2.0',
2728              
2729             'pat.alt.subject.grant.misc.extra' =>
2730             'Apache Software License, Version 2\.0',
2731             'pat.alt.subject.license.part.appendix' =>
2732             'How to apply the Apache License to your work',
2733             'pat.alt.subject.license.scope.multisection' => 'Apache License[ ]'
2734             . 'Version 2\.0, January 2004[ ]',
2735             };
2736              
2737             =item * apafml
2738              
2739             =cut
2740              
2741             $RE{apafml} = {
2742             name => 'APAFML',
2743             'name.alt.org.fedora' => 'APAFML',
2744             'name.alt.org.fedora.iri.self' => 'AdobePostscriptAFM',
2745             'name.alt.org.spdx.since.date_20140807' => 'APAFML',
2746             'name.alt.misc.fossology' => 'AdobeAFM',
2747             'name.alt.misc.fossology_old' => 'Adobe-AFM',
2748             caption => 'Adobe Postscript AFM License',
2749             'caption.alt.org.tldr' => 'Adobe Postscript AFM License',
2750             tags => [
2751             'type:unversioned',
2752             ],
2753              
2754             '_pat.alt.subject.license' => [
2755             'AFM files it accompanies may be used',
2756             'that the AFM files are not distributed',
2757             ],
2758             };
2759              
2760             =item * apl
2761              
2762             =item * apl_1
2763              
2764             =cut
2765              
2766             $RE{apl} = {
2767             name => 'APL',
2768             'name.alt.org.wikidata.synth.nogrant' => 'Q4680711',
2769             'name.alt.misc.fossology_old' => 'Adaptive',
2770             caption => 'Adaptive Public License',
2771             tags => [
2772             'type:versioned:decimal',
2773             ],
2774             };
2775              
2776             $RE{apl_1} = {
2777             name => 'APL-1.0',
2778             'name.alt.org.osi' => 'APL-1.0',
2779             'name.alt.org.osi.iri.stem.until.date_20110430' => 'apl-1.0',
2780             'name.alt.org.spdx' => 'APL-1.0',
2781             caption => 'Adaptive Public License 1.0',
2782             'caption.alt.org.osi.misc.list.synth.nogrant' =>
2783             'Adaptive Public License',
2784             'caption.alt.org.tldr' => 'Adaptive Public License 1.0 (APL-1.0)',
2785             'caption.alt.misc.fossology_old' => 'Adaptive v1.0',
2786             tags => [
2787             'type:singleversion:apl',
2788             ],
2789             licenseversion => '1.0',
2790              
2791             'pat.alt.subject.license' =>
2792             'THE LICENSED WORK IS PROVIDED UNDER THE TERMS OF THIS ADAPTIVE PUBLIC LICENSE',
2793             };
2794              
2795             =item * apsl
2796              
2797             =item * apsl_1
2798              
2799             =item * apsl_1_1
2800              
2801             =item * apsl_1_2
2802              
2803             =item * apsl_2
2804              
2805             =cut
2806              
2807             $RE{apsl} = {
2808             name => 'APSL',
2809             'name.alt.org.wikidata.synth.nogrant' => 'Q621330',
2810             caption => 'Apple Public Source License',
2811             'caption.alt.org.trove' => 'Apple Public Source License',
2812             'caption.alt.org.wikipedia' => 'Apple Public Source License',
2813             tags => [
2814             'type:versioned:decimal',
2815             ],
2816             };
2817              
2818             $RE{apsl_1} = {
2819             name => 'APSL-1.0',
2820             'name.alt.org.spdx' => 'APSL-1.0',
2821             'name.alt.misc.fossology_old' => 'APSL_v1.0',
2822             'name.alt.misc.fossology_old_short' => 'APSL1.0',
2823             'name.alt.misc.fossology_old_vague.synth.nogrant' => 'Apple',
2824             caption => 'Apple Public Source License 1.0',
2825             'caption.alt.org.fedora.iri.self' => 'Apple Public Source License 1.0',
2826             tags => [
2827             'type:singleversion:apsl',
2828             ],
2829             licenseversion => '1.0',
2830              
2831             'pat.alt.subject.license.scope.multisection.part.header' =>
2832             '(?:APPLE PUBLIC SOURCE LICENSE|Apple Public Source License)[ ]'
2833             . 'Ver(?:sion|\.) 1\.0(?:[ - ]March 16, ?1999)?[ ]'
2834             . '(?:Please read this License carefully|[*)]General[;] Definitions[.])',
2835             'pat.alt.subject.license.scope.sentence.part.part1' =>
2836             'subject to the terms of this Apple Public Source License version 1\.0 ',
2837             };
2838              
2839             $RE{apsl_1_1} = {
2840             name => 'APSL-1.1',
2841             'name.alt.org.spdx' => 'APSL-1.1',
2842             'name.alt.misc.fossology_old' => 'APSL_v1.',
2843             'name.alt.misc.fossology_old_short' => 'APSL1.1',
2844             caption => 'Apple Public Source License 1.1',
2845             'caption.alt.org.fedora.iri.self' => 'Apple Public Source License 1.1',
2846             tags => [
2847             'type:singleversion:apsl',
2848             ],
2849             licenseversion => '1.1',
2850              
2851             'pat.alt.subject.license.scope.multisection.part.header' =>
2852             '(?:APPLE PUBLIC SOURCE LICENSE|Apple Public Source License)[ ]'
2853             . 'Ver(?:sion|\.) 1\.1(?:[ - ]April 19, ?1999)?[ ]'
2854             . '(?:Please read this License carefully|[*)]General[;] Definitions[.])',
2855             'pat.alt.subject.license.scope.sentence.part.part1' =>
2856             'subject to the terms of this Apple Public Source License version 1\.1 ',
2857             };
2858              
2859             $RE{apsl_1_2} = {
2860             name => 'APSL-1.2',
2861             'name.alt.org.spdx' => 'APSL-1.2',
2862             'name.alt.misc.fossology_old' => 'APSL_v1.2',
2863             'name.alt.misc.fossology_old_short' => 'APSL1.2',
2864             caption => 'Apple Public Source License 1.2',
2865             'caption.alt.org.fedora.iri.self' => 'Apple Public Source License 1.2',
2866             tags => [
2867             'type:singleversion:apsl',
2868             ],
2869             licenseversion => '1.2',
2870              
2871             'pat.alt.subject.license.scope.multisection.part.header' =>
2872             '(?:APPLE PUBLIC SOURCE LICENSE|Apple Public Source License)[ ]'
2873             . ' Ver(?:sion|\.) 1\.2(?:[ - ]January 4, ?2001)?[ ]'
2874             . '(?:Please read this License carefully|[*)]General[;] Definitions[.])',
2875             'pat.alt.subject.license.scope.sentence.part.part1' =>
2876             'subject to the terms of this Apple Public Source License version 1\.2 ',
2877             };
2878              
2879             $RE{apsl_2} = {
2880             name => 'APSL-2.0',
2881             'name.alt.org.osi' => 'APSL-2.0',
2882             'name.alt.org.osi.iri.stem.until.date_20110430' => 'apsl-2.0',
2883             'name.alt.org.spdx' => 'APSL-2.0',
2884             'name.alt.org.tldr.path.short.synth.nogrant' => 'aspl2',
2885             'name.alt.misc.fossology_old' => 'APSL_v2.0',
2886             caption => 'Apple Public Source License 2.0',
2887             'caption.alt.org.fedora' => 'Apple Public Source License 2.0',
2888             'caption.alt.org.fedora.misc.short' => 'APSL 2.0',
2889             'caption.alt.org.tldr' => 'Apple Public Source License 2.0 (APSL)',
2890             'caption.alt.org.osi.misc.cat_list.synth.nogrant' =>
2891             'Apple Public Source License',
2892             tags => [
2893             'type:singleversion:apsl',
2894             ],
2895             licenseversion => '2.0',
2896              
2897             'pat.alt.subject.license.scope.multisection.part.header' =>
2898             '(?:APPLE PUBLIC SOURCE LICENSE|Apple Public Source License)[ ]'
2899             . 'Ver(?:sion|\.) 2\.0(?:[ - ]August 6, ?2003)?[ ]'
2900             . '(?:Please read this License carefully|[*)]General[;] Definitions[.])',
2901             'pat.alt.subject.license.scope.sentence.part.part1' =>
2902             'subject to the terms of this Apple Public Source License version 2\.0 ',
2903             };
2904              
2905             =item * artistic
2906              
2907             =item * artistic_1
2908              
2909             I
2910              
2911             =item * artistic_1_cl8
2912              
2913             I
2914              
2915             =item * artistic_1_perl
2916              
2917             I
2918              
2919             =item * artistic_2
2920              
2921             =cut
2922              
2923             $RE{artistic} = {
2924             name => 'Artistic',
2925             'name.alt.org.osi.iri.stem.until.date_20080202' => 'artistic-license',
2926             'name.alt.org.wikidata.synth.nogrant' => 'Q713244',
2927             caption => 'Artistic License',
2928             'caption.alt.org.trove' => 'Artistic License',
2929             'caption.alt.org.wikipedia' => 'Artistic License',
2930             tags => [
2931             'type:versioned:complex',
2932             ],
2933             };
2934              
2935             $RE{artistic_1} = {
2936             name => 'Artistic-1.0',
2937             'name.alt.org.osi' => 'Artistic-1.0',
2938             'name.alt.org.osi.iri.stem.until.date_20090218' => 'artistic-license-1.0',
2939             'name.alt.org.spdx' => 'Artistic-1.0',
2940             'name.alt.org.wikidata.synth.nogrant' => 'Q14624823',
2941             'name.alt.misc.fossology_old' => 'Artistic1.0',
2942             caption => 'Artistic License 1.0',
2943             'caption.alt.org.osi.misc.list' => 'Artistic license 1.0',
2944             'caption.alt.org.osi.misc.do_not_use_list' =>
2945             'Artistic license, version 1.0',
2946             'caption.alt.org.wikipedia' => 'Artistic License 1.0',
2947             'iri.alt.old.osi' =>
2948             'https://opensource.org/licenses/artistic-license-1.0',
2949             'iri.alt.org.wikipedia' =>
2950             'https://en.wikipedia.org/wiki/Artistic_License#Artistic_License_1.0',
2951             tags => [
2952             'type:singleversion:artistic',
2953             ],
2954             licenseversion => '1.0',
2955              
2956             'pat.alt.subject.license.scope.multisection' =>
2957             '[*)]C or perl subroutines supplied by you and linked into this Package shall not be considered part of this Package[.][ ]'
2958             . '[*)]The name of the Copyright Holder',
2959             };
2960              
2961             $RE{artistic_1_cl8} = {
2962             name => 'Artistic-1.0-cl8',
2963             'name.alt.org.spdx.since.date_20130912' => 'Artistic-1.0-cl8',
2964             summary => 'Artistic License 1.0 w/clause 8',
2965             'caption.alt.org.tldr.synth.nogrant' => 'Artistic License 1.0',
2966             tags => [
2967             'type:singleversion:artistic',
2968             ],
2969             licenseversion => '1.0-cl8',
2970              
2971             'pat.alt.subject.license.scope.multisection' => 'this Package[.][ ]'
2972             . '[*)]Aggregation of this Package',
2973             };
2974              
2975             $RE{artistic_1_clarified} = {
2976             name => 'Artistic-1.0-clarified',
2977             'name.alt.org.fedora.iri.self' => 'ArtisticClarified',
2978             'name.alt.org.spdx' => 'ClArtistic',
2979             caption => 'Clarified Artistic License',
2980             'caption.alt.org.fedora' => 'Artistic (clarified)',
2981             'caption.alt.org.fedora.misc.short' => 'Artistic clarified',
2982             'caption.alt.org.spdx' => 'Clarified Artistic License',
2983             'caption.alt.org.tldr' => 'Clarified Artistic License',
2984             iri =>
2985             'http://gianluca.dellavedova.org/2011/01/03/clarified-artistic-license/',
2986             tags => [
2987             'type:singleversion:artistic',
2988             ],
2989             licenseversion => '1.0-clarified',
2990              
2991             'pat.alt.subject.license' =>
2992             'Aggregation of the Standard Version of the Package',
2993             };
2994              
2995             $RE{artistic_1_perl} = {
2996             name => 'Artistic-1.0-Perl',
2997             'name.alt.org.perl.synth.nogrant' => 'artistic_1',
2998             'name.alt.org.osi' => 'Artistic-1.0-Perl',
2999             'name.alt.org.spdx.since.date_20130912' => 'Artistic-1.0-Perl',
3000             caption => 'Artistic License 1.0 (Perl)',
3001             'caption.alt.org.fedora' => 'Artistic 1.0 (original)',
3002             'caption.alt.org.osi' => 'Artistic License 1.0 (Perl)',
3003             'caption.alt.org.perl.synth.nogrant' => 'Artistic License, (Version 1)',
3004             'caption.alt.org.spdx' => 'Artistic License 1.0 (Perl)',
3005             iri => 'http://dev.perl.org/licenses/artistic.html',
3006             'iri.alt.old.perl' =>
3007             'http://www.perl.com/pub/a/language/misc/Artistic.html',
3008             tags => [
3009             'type:singleversion:artistic',
3010             ],
3011             licenseversion => '1.0-Perl',
3012              
3013             'pat.alt.subject.license.scope.multisection' => 'the language[.][ ]'
3014             . '[*)]Aggregation of this Package',
3015             };
3016              
3017             $RE{artistic_2} = {
3018             name => 'Artistic-2.0',
3019             'name.alt.org.osi' => 'Artistic-2.0',
3020             'name.alt.org.osi.iri.stem.until.date_20110430' => 'artistic-license-2.0',
3021             'name.alt.org.perl' => 'artistic_2',
3022             'name.alt.org.spdx' => 'Artistic-2.0',
3023             'name.alt.org.tldr' => 'artistic-license-2.0-(artistic)',
3024             'name.alt.org.tldr.path.short.synth.nogrant' => 'artistic',
3025             'name.alt.org.wikidata.synth.nogrant' => 'Q14624826',
3026             'name.alt.misc.fossology_old' => 'Artistic_v2.0',
3027             'name.alt.misc.fossology_old_short' => 'Artistic2.0',
3028             caption => 'Artistic License 2.0',
3029             'caption.alt.org.fedora' => 'Artistic 2.0',
3030             'caption.alt.org.osi.misc.cat_list' => 'Artistic license 2.0',
3031             'caption.alt.org.perl' => 'Artistic License, Version 2.0',
3032             'caption.alt.org.tldr' => 'Artistic License 2.0 (Artistic-2.0)',
3033             'caption.alt.org.wikipedia' => 'Artistic License 2.0',
3034             iri => 'http://www.perlfoundation.org/artistic_license_2_0',
3035             'iri.alt.org.wikipedia' =>
3036             'https://en.wikipedia.org/wiki/Artistic_License#Artistic_License_2.0',
3037             tags => [
3038             'type:singleversion:artistic',
3039             ],
3040             licenseversion => '2.0',
3041              
3042             'pat.alt.subject.license' => 'is governed by this Artistic License[.]',
3043             };
3044              
3045             =item * bahyph
3046              
3047             =cut
3048              
3049             $RE{bahyph} = {
3050             name => 'Bahyph',
3051             'name.alt.org.fedora.iri.self' => 'Bahyph',
3052             'name.alt.org.spdx.since.date_20140807' => 'Bahyph',
3053             caption => 'Bahyph License',
3054             'caption.alt.org.tldr' => 'Bahyph License',
3055             tags => [
3056             'license:is:grant',
3057             'type:unversioned',
3058             ],
3059              
3060             'pat.alt.subject.license' =>
3061             'These patterns were developed for internal GMV use and are made public',
3062             };
3063              
3064             =item * barr
3065              
3066             =cut
3067              
3068             $RE{barr} = {
3069             name => 'Barr',
3070             'name.alt.org.fedora.iri.self' => 'Barr',
3071             'name.alt.org.spdx.since.date_20140807' => 'Barr',
3072             caption => 'Barr License',
3073             'caption.alt.org.tldr' => 'Barr License',
3074             tags => [
3075             'license:is:grant',
3076             'type:unversioned',
3077             ],
3078              
3079             'pat.alt.subject.license' =>
3080             'This is a package of commutative diagram macros built on top of Xy[-]pic',
3081             };
3082              
3083             =item * bdwgc
3084              
3085             I
3086              
3087             =cut
3088              
3089             $RE{bdwgc} = {
3090             'name.alt.org.debian' => 'MIT~Boehm',
3091             caption => 'Boehm GC License',
3092             'summary.alt.org.fedora.iri.mit' =>
3093             'MIT-style license, Another Minimal variant (found in libatomic_ops)',
3094             description => <<'END',
3095             Origin: Possibly Boehm-Demers-Weiser conservative C/C++ Garbage Collector (libgc, bdwgc, boehm-gc).
3096             END
3097             iri => 'http://www.hboehm.info/gc/license.txt',
3098             tags => [
3099             'license:is:grant',
3100             'type:unversioned',
3101             ],
3102              
3103             'pat.alt.subject.license.scope.paragraph' => $P{perm_granted}
3104             . $P{to_copy_prg}
3105             . $P{any_purpose}
3106             . $P{retain_notices_all} . '[. ]'
3107             . $P{perm_dist_mod}
3108             . $P{granted}
3109             . $P{retain_notices}
3110             . $P{note_mod_inc_with_copr} . '[.]',
3111             };
3112              
3113             =item * bdwgc_matlab
3114              
3115             I
3116              
3117             =cut
3118              
3119             $RE{bdwgc_matlab} = {
3120             name => 'bdwgc-matlab',
3121             description => <<'END',
3122             Origin: Possibly Boehm-Demers-Weiser conservative C/C++ Garbage Collector (libgc, bdwgc, boehm-gc).
3123             END
3124             tags => [
3125             'license:is:grant',
3126             'type:unversioned',
3127             ],
3128              
3129             'pat.alt.subject.license.scope.paragraph' => $P{perm_granted}
3130             . $P{to_copy_prg}
3131             . $P{any_purpose}
3132             . $P{retain_notices_all} . '[. ]'
3133             . $P{repro_code_cite_authors_copr}
3134             . $P{and_used_by_perm} . '[". ]'
3135             . $P{repro_matlab_cite_authors} . '[. ]'
3136             . $P{perm_dist_mod}
3137             . $P{granted}
3138             . $P{retain_notices}
3139             . $P{note_mod_inc_with_copr} . '[. ]'
3140             . $P{retain_you_avail_orig} . '[.]',
3141             'pat.alt.subject.license.part.credit' => 'must cite the Authors',
3142             };
3143              
3144             =item * beerware
3145              
3146             =cut
3147              
3148             $RE{beerware} = {
3149             name => 'Beerware',
3150             'name.alt.misc.dash' => 'Beer-ware',
3151             'name.alt.org.fedora.iri.self' => 'Beerware',
3152             'name.alt.org.spdx.since.date_20140807' => 'Beerware',
3153             'name.alt.org.tldr.path.short' => 'beerware',
3154             'name.alt.org.wikidata.synth.nogrant' => 'Q10249',
3155             caption => 'Beerware License',
3156             'caption.alt.org.tldr' => 'Beerware License',
3157             'caption.alt.org.wikidata' => 'Beerware',
3158             'caption.alt.org.wikipedia' => 'Beerware',
3159             iri => 'https://people.freebsd.org/~phk/',
3160             tags => [
3161             'license:is:grant',
3162             'type:unversioned',
3163             ],
3164              
3165             'pat.alt.subject.license' => 'you can buy me a beer in return',
3166              
3167             #<<< do not let perltidy touch this (keep long regex on one line)
3168             examples => [
3169             { summary => 'pattern with subject "license" matches canonical license',
3170             gen_args => { subject => 'license' },
3171             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.',
3172             matches => 1,
3173             },
3174             { summary => 'pattern with subject "grant" doesn\'t match canonical license',
3175             gen_args => { subject => 'grant' },
3176             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.',
3177             matches => 0,
3178             },
3179             { summary => 'pattern with subject "grant" matches a license grant',
3180             gen_args => { subject => 'grant' },
3181             str => 'Licensed under the Beerware License.',
3182             matches => 1,
3183             },
3184             { summary => 'pattern with subject "name" matches canonical license',
3185             gen_args => { subject => 'name' },
3186             str => 'Beerware License',
3187             matches => 1,
3188             },
3189             { summary => 'pattern with subject "name" doesn\'t match canonical license',
3190             gen_args => { subject => 'name' },
3191             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.',
3192             matches => 0,
3193             },
3194             { summary => 'pattern with subject "name" matches a license grant',
3195             gen_args => { subject => 'name' },
3196             str => 'Licensed under the Beerware License.',
3197             matches => 1,
3198             },
3199             { summary => 'pattern with subject "name" doesn\'t match canonical license IRI',
3200             gen_args => { subject => 'name' },
3201             str => 'https://people.freebsd.org/~phk/',
3202             matches => 0,
3203             },
3204             { summary => 'pattern with subject "iri" doesn\'t match original license',
3205             gen_args => { subject => 'iri' },
3206             str => 'As long as you retain this notice you can do whatever you want with this stuff. If we meet some day, and you think this stuff is worth it, you can buy me a beer in return.',
3207             matches => 0,
3208             },
3209             { summary => 'pattern with subject "iri" doesn\'t match canonical license name',
3210             gen_args => { subject => 'iri' },
3211             str => 'Beerware License',
3212             matches => 0,
3213             },
3214             { summary => 'pattern with subject "iri" doesn\'t match a license shortname',
3215             gen_args => { subject => 'iri' },
3216             str => 'Beerware',
3217             matches => 0,
3218             },
3219             ],
3220             #>>>
3221              
3222             };
3223              
3224             =item * bittorrent
3225              
3226             =item * bittorrent_1
3227              
3228             =item * bittorrent_1_1
3229              
3230             =cut
3231              
3232             $RE{bittorrent} = {
3233             name => 'BitTorrent',
3234             'name.alt.misc.fossology_old' => 'Bittorrent',
3235             'name.alt.org.wikidata.synth.nogrant' => 'Q4918693',
3236             caption => 'BitTorrent Open Source License',
3237             'caption.alt.org.fedora' => 'BitTorrent License',
3238             'caption.alt.org.fedora.iri.self' => 'BitTorrent Open Source License',
3239             tags => [
3240             'type:versioned:decimal',
3241             ],
3242             };
3243              
3244             $RE{bittorrent_1} = {
3245             name => 'BitTorrent-1.0',
3246             'name.alt.org.spdx.since.date_20130117' => 'BitTorrent-1.0',
3247             'name.alt.misc.fossology_old' => 'Bittorrent1.0',
3248             caption => 'BitTorrent Open Source License v1.0',
3249             description => <<'END',
3250             Identical to Jabber Open Source License, except...
3251             * drop description-of-modifications clause
3252             * drop retain-copyright-notices clause
3253             * replace references, e.g. "Jabber Server" -> "BitTorrent client"
3254             * document that license is derived from Jabber Open Source License
3255             END
3256             tags => [
3257             'license:contains:grant',
3258             'type:singleversion:bittorrent',
3259             ],
3260             licenseversion => '1.0',
3261              
3262             'pat.alt.subject.license.scope.multisection.part.header' =>
3263             'BitTorrent Open Source License[ ]'
3264             . 'Version 1\.0[ ]'
3265             . 'This BitTorrent Open Source License',
3266             'pat.alt.subject.license.scope.multisection.part.part4' =>
3267             ' has been made available'
3268             . '[. ]You are responsible for ensuring'
3269             . ' that the Source Code version remains available'
3270             . ' even if the Electronic Distribution Mechanism is maintained by a third party'
3271             . '[.][ ][*)]'
3272             . 'Intellectual Property Matters[.]',
3273             };
3274              
3275             $RE{bittorrent_1_1} = {
3276             name => 'BitTorrent-1.1',
3277             'name.alt.org.spdx.since.date_20130117' => 'BitTorrent-1.1',
3278             'name.alt.misc.fossology_old' => 'Bittorrent_v1.1',
3279             caption => 'BitTorrent Open Source License v1.1',
3280             'caption.alt.org.tldr' =>
3281             'BitTorrent Open Source License v1.1 (BitTorrent-1.1)',
3282             tags => [
3283             'license:contains:grant:bittorrent_1',
3284             'type:singleversion:bittorrent',
3285             ],
3286             licenseversion => '1.1',
3287              
3288             'pat.alt.subject.license.scope.multisection.part.header' =>
3289             'BitTorrent Open Source License[ ]'
3290             . 'Version 1\.1[ ]'
3291             . 'This BitTorrent Open Source License',
3292             'pat.alt.subject.license.scope.multisection.part.part4' =>
3293             ' is distributed by you'
3294             . '[. ]You are responsible for ensuring'
3295             . ' that the Source Code version remains available'
3296             . ' even if the Electronic Distribution Mechanism is maintained by a third party'
3297             . '[.][ ][*)]'
3298             . 'Intellectual Property Matters[.]',
3299             };
3300              
3301             =item * borceux
3302              
3303             =cut
3304              
3305             $RE{borceux} = {
3306             name => 'Borceux',
3307             'name.alt.org.fedora.iri.self' => 'Borceux',
3308             'name.alt.org.spdx.since.date_20140807' => 'Borceux',
3309             caption => 'Borceux license',
3310             'caption.alt.org.tldr' => 'Borceux license',
3311             tags => [
3312             'license:is:grant',
3313             'type:unversioned',
3314             ],
3315              
3316             'pat.alt.subject.license' =>
3317             'distribute each of the files in this package',
3318             };
3319              
3320             =item * bsd_0_clause
3321              
3322             I
3323              
3324             =cut
3325              
3326             $RE{bsd_0_clause} = {
3327             name => '0BSD',
3328             'name.alt.org.fedora' => '0BSD',
3329             'name.alt.org.fedora.iri.self' => 'ZeroClauseBSD',
3330             'name.alt.org.osi' => '0BSD',
3331             'name.alt.org.osi.misc.free' => 'FPL-1.0.0',
3332             'name.alt.org.spdx.since.date_20150930' => '0BSD',
3333             'name.alt.org.tldr' => 'bsd-0-clause-license',
3334             'name.alt.org.wikidata.synth.nogrant' => 'Q48271011',
3335             caption => 'BSD 0-Clause License',
3336             'caption.alt.org.fedora' => 'Zero-Clause BSD',
3337             'caption.alt.org.osi' => 'Zero-Clause BSD',
3338             'caption.alt.org.osi.misc.old' =>
3339             'Zero-Clause BSD / Free Public License 1.0.0',
3340             'caption.alt.org.osi.misc.list' => '0-clause BSD License',
3341             'caption.alt.org.osi.misc.list_bsd' => '0-clause BSD license',
3342             'caption.alt.org.osi.misc.list_free' => 'Free Public License 1.0.0',
3343             'caption.alt.org.spdx' => 'BSD Zero Clause License',
3344             'caption.alt.org.tldr' => 'BSD 0-Clause License (0BSD)',
3345             'caption.alt.org.wikidata' => 'Zero-clause BSD License',
3346             'caption.alt.misc.parens' => 'BSD (0 clause)',
3347             description => <<'END',
3348             Identical to ISC, except...
3349             * Redistribution of source need not retain any legal text
3350             * omit requirement of notices appearing in copies
3351              
3352             Origin: By Rob Landley in 2013 for toybox.
3353             Details at .
3354             END
3355             'iri.alt.misc.origin' =>
3356             'https://github.com/landley/toybox/blob/master/LICENSE',
3357             tags => [
3358             'family:mit',
3359             'license:is:grant',
3360             'type:unversioned',
3361             ],
3362              
3363             'pat.alt.subject.name.misc.free' => '(?:Free Public License|FPL)'
3364             . '(?:'
3365             . $RE{version_prefix}
3366             {'pat.alt.subject.trait.scope.line.scope.sentence'}
3367             . '1(?:\.0){0,2})?',
3368             'pat.alt.subject.license.scope.multisection' => $P{granted}
3369             . '[.][ ]'
3370             . $P{asis_sw_name_discl},
3371             };
3372              
3373             =item * bsd_1_clause
3374              
3375             I
3376              
3377             =cut
3378              
3379             $RE{bsd_1_clause} = {
3380             name => 'BSD-1-Clause',
3381             'name.alt.org.osi' => 'BSD-1-Clause',
3382             'name.alt.org.spdx.since.date_20171228' => 'BSD-1-Clause',
3383             'name.alt.org.wikidata.synth.nogrant' => 'Q19292556',
3384             caption => 'BSD 1-Clause License',
3385             'caption.alt.org.osi' => '1-clause BSD License',
3386             'caption.alt.org.wikidata' => '1-clause BSD License',
3387             'caption.alt.misc.parens' => 'BSD (1 clause)',
3388             tags => [
3389             'family:bsd',
3390             'license:is:grant',
3391             'type:unversioned',
3392             ],
3393              
3394             'pat.alt.subject.license.scope.multisection' =>
3395             $P{retain_notice_cond_discl} . '[.][ ]' . $P{asis_sw_by},
3396             };
3397              
3398             =item * bsd_2_clause
3399              
3400             =cut
3401              
3402             $RE{bsd_2_clause} = {
3403             name => 'BSD-2-Clause',
3404             'name.alt.org.debian' => 'BSD-2-clause',
3405             'name.alt.org.osi' => 'BSD-2-Clause',
3406             'name.alt.org.perl' => 'freebsd',
3407             'name.alt.org.spdx' => 'BSD-2-Clause',
3408             'name.alt.org.tldr' => 'bsd-2-clause-license-(freebsd)',
3409             'name.alt.org.tldr.path.short' => 'freebsd',
3410             'name.alt.org.wikidata.synth.nogrant' => 'Q18517294',
3411             'name.alt.misc.clauses' => '2-clause-BSD',
3412             'name.alt.misc.freebsd' => 'FreeBSD',
3413             'name.alt.misc.simplified' => 'Simplified-BSD',
3414             caption => 'BSD 2-Clause License',
3415             'caption.alt.org.fedora.misc.cc' => 'Creative Commons BSD',
3416             'caption.alt.org.osi' => 'The 2-Clause BSD License',
3417             'caption.alt.org.osi.misc.list' => '2-clause BSD License',
3418             'caption.alt.org.osi.misc.cat_list' => '2-clause BSD license',
3419             'caption.alt.org.perl' => 'FreeBSD License (two-clause)',
3420             'caption.alt.org.spdx.until.date_20171228' =>
3421             'BSD 2-clause "Simplified" License',
3422             'caption.alt.org.spdx.since.date_20171228' =>
3423             'BSD 2-Clause "Simplified" License',
3424             'caption.alt.org.tldr' => 'BSD 2-Clause License (FreeBSD/Simplified)',
3425             'caption.alt.org.wikidata' => '2-clause BSD License',
3426             'caption.alt.org.wikipedia.iri.bsd' =>
3427             '2-clause license ("Simplified BSD License" or "FreeBSD License")',
3428             'caption.alt.misc.parens' => 'BSD (2 clause)',
3429             'caption.alt.misc.ruby' => '2-clause BSDL',
3430             'caption.alt.misc.simplified' => 'Simplified BSD License',
3431             'caption.alt.misc.qemu' =>
3432             'BSD Licence (without advertising or endorsement clauses)',
3433             'iri.alt.org.cc.archive.time_20110401183132.until.date_20110401' =>
3434             'http://creativecommons.org/licenses/BSD/', # TODO: find official date
3435             tags => [
3436             'family:bsd',
3437             'license:is:grant',
3438             'type:unversioned',
3439             ],
3440              
3441             'pat.alt.subject.license.scope.multisection' =>
3442             $P{retain_notice_cond_discl}
3443             . '[.][ ]'
3444             . $P{repro_copr_cond_discl}
3445             . '[.][ ]'
3446             . $P{asis_sw_by},
3447             };
3448              
3449             =item * bsd_2_clause_freebsd
3450              
3451             I
3452              
3453             =cut
3454              
3455             $RE{bsd_2_clause_freebsd} = {
3456             name => 'BSD-2-Clause-FreeBSD',
3457             'name.alt.org.fedora.iri.bsd_short' => '2ClauseBSD',
3458             'name.alt.org.spdx.until.date_20200803' => 'BSD-2-Clause-FreeBSD',
3459             'name.alt.org.wikidata.synth.nogrant' => 'Q90408476',
3460             caption => 'BSD 2-clause FreeBSD License',
3461             'caption.alt.org.fedora' => 'BSD License (two clause)',
3462             'caption.alt.org.steward' => 'FreeBSD License',
3463             'caption.alt.org.spdx.until.date_20130117' =>
3464             'BSD 2-clause "FreeBSD" License',
3465             'caption.alt.org.spdx.since.date_20130117.until.date_20171228' =>
3466             'BSD 2-clause FreeBSD License',
3467             'caption.alt.org.spdx.since.date_20171228' =>
3468             'BSD 2-Clause FreeBSD License',
3469             'caption.alt.org.wikidata' => 'FreeBSD license',
3470             'summary.alt.org.fedora.iri.bsd' => 'FreeBSD BSD Variant (2 clause BSD)',
3471             tags => [
3472             'family:bsd',
3473             'license:contains:license:bsd_2_clause_views',
3474             'license:is:grant',
3475             'type:unversioned',
3476             ],
3477              
3478             'pat.alt.subject.license.scope.multisection' =>
3479             $P{retain_notice_cond_discl}
3480             . '[.][ ]'
3481             . $P{repro_copr_cond_discl}
3482             . '[.][ ]'
3483             . $P{discl_warranties} . '[. ]'
3484             . $P{discl_liability}
3485             . '[.][ ]'
3486             . 'The views and conclusions contained in the software and documentation '
3487             . 'are those of the authors and should not be interpreted '
3488             . 'as representing official policies, either expressed or implied, '
3489             . 'of the FreeBSD Project[.]',
3490             'pat.alt.subject.license.scope.line.scope.sentence.part.last' =>
3491             'expressed or implied, of the FreeBSD Project',
3492             };
3493              
3494             =item * bsd_2_clause_netbsd
3495              
3496             I
3497              
3498             =cut
3499              
3500             $RE{bsd_2_clause_netbsd} = {
3501             name => 'BSD-2-Clause-NetBSD',
3502             'name.alt.org.spdx.until.date_20200515' => 'BSD-2-Clause-NetBSD',
3503             caption => 'BSD 2-clause NetBSD License',
3504             'caption.alt.org.spdx.until.date_20130117' =>
3505             'BSD 2-clause "NetBSD" License',
3506             'caption.alt.org.spdx.since.date_20130117.until.date_20171228' =>
3507             'BSD 2-clause NetBSD License',
3508             'caption.alt.org.spdx.since.date_20171228' =>
3509             'BSD 2-Clause NetBSD License',
3510             tags => [
3511             'family:bsd',
3512             'license:contains:license:bsd_2_clause',
3513             'license:is:grant',
3514             'type:unversioned',
3515             ],
3516              
3517             'pat.alt.subject.license.scope.line.scope.sentence.part.first' =>
3518             'This code is derived from software contributed to The NetBSD Foundation by',
3519             'pat.alt.subject.license.scope.multisection' =>
3520             'This code is derived from software contributed to The NetBSD Foundation by[ word]{0,15}'
3521             . '[ ]'
3522             . $P{retain_notice_cond_discl}
3523             . '[.][ ]'
3524             . $P{repro_copr_cond_discl},
3525             };
3526              
3527             =item * bsd_2_clause_patent
3528              
3529             I
3530              
3531             =cut
3532              
3533             $RE{bsd_2_clause_patent} = {
3534             name => 'BSD+Patent',
3535             'name.alt.org.fedora' => 'BSD-2-Clause-Patent',
3536             'name.alt.org.fedora.iri.self' => 'BSD-2-Clause-Patent',
3537             'name.alt.org.osi' => 'BSDplusPatent',
3538             'name.alt.org.osi.misc.shortname' => 'BSD-2-Clause-Patent',
3539             'name.alt.org.spdx.since.date_20171228' => 'BSD-2-Clause-Patent',
3540             caption => 'BSD 2-Clause Plus Patent License',
3541             'caption.alt.org.fedora' => 'BSD + Patent',
3542             'caption.alt.org.spdx.since.date_20171228' =>
3543             'BSD 2-Clause Plus Patent License',
3544             'caption.alt.org.spdx.since.date_20171228' =>
3545             'BSD-2-Clause Plus Patent License',
3546             'caption.alt.org.osi' => 'BSD+Patent',
3547             tags => [
3548             'family:bsd',
3549             'license:contains:license:bsd_2_clause',
3550             'license:is:grant',
3551             'type:unversioned',
3552             ],
3553              
3554             'pat.alt.subject.license.scope.line.scope.sentence.part.last_but_disclaimers'
3555             => 'Except as expressly stated above, no rights or licenses',
3556             'pat.alt.subject.license.scope.multisection' =>
3557             $P{retain_notice_cond_discl}
3558             . '[.][ ]'
3559             . $P{repro_copr_cond_discl}
3560             . '[.][ ]'
3561             . 'Subject to the terms and conditions of this license, '
3562             . 'each copyright holder and contributor hereby grants',
3563             };
3564              
3565             =item * bsd_2_clause_views
3566              
3567             =cut
3568              
3569             $RE{bsd_2_clause_views} = {
3570             name => 'BSD-2-Clause-Views',
3571             'iri.alt.org.spdx.since.date_20200803' => 'BSD-2-Clause-Views',
3572             caption => 'BSD 2-Clause with views sentence',
3573             'caption.alt.misc.freebsd' => 'FreeBSD License',
3574             tags => [
3575             'family:bsd',
3576             'license:contains:license:bsd_2_clause',
3577             'license:is:grant',
3578             'type:unversioned',
3579             ],
3580              
3581             'pat.alt.subject.license.scope.multisection' =>
3582             $P{retain_notice_cond_discl}
3583             . '[.][ ]'
3584             . $P{repro_copr_cond_discl}
3585             . '[.][ ]'
3586             . $P{discl_warranties} . '[. ]'
3587             . $P{discl_liability}
3588             . '[.][ ]'
3589             . 'The views and conclusions contained in the software and documentation '
3590             . 'are those of the authors and should not be interpreted '
3591             . 'as representing official policies, either expressed or implied, '
3592             . 'of',
3593             };
3594              
3595             =item * bsd_3_clause
3596              
3597             =cut
3598              
3599             $RE{bsd_3_clause} = {
3600             name => 'BSD-3-Clause',
3601             'name.alt.org.debian' => 'BSD-3-clause',
3602             'name.alt.org.fedora.iri.bsd' => '3ClauseBSD',
3603             'name.alt.org.osi' => 'BSD-3-Clause',
3604             'name.alt.org.perl.synth.nogrant' => 'bsd',
3605             'name.alt.org.spdx' => 'BSD-3-Clause',
3606             'name.alt.org.tldr.path.short' => 'bsd3',
3607             'name.alt.org.wikidata.synth.nogrant' => 'Q18491847',
3608             'name.alt.misc.clauses' => '3-clause-BSD',
3609             'name.alt.misc.modified' => 'Modified-BSD',
3610             caption => 'BSD 3-Clause License',
3611             'caption.alt.org.fedora' => 'New BSD',
3612             'caption.alt.org.osi' => 'The 3-Clause BSD License',
3613             'caption.alt.org.osi.misc.list' => '3-clause BSD License',
3614             'caption.alt.org.osi.misc.list_lower' => '3-clause BSD license',
3615             'caption.alt.org.perl' => 'BSD License (three-clause)',
3616             'caption.alt.org.spdx.until.date_20171228' =>
3617             'BSD 3-clause "New" or "Revised" License',
3618             'caption.alt.org.spdx.since.date_20171228' =>
3619             'BSD 3-Clause "New" or "Revised" License',
3620             'caption.alt.org.tldr' => 'BSD 3-Clause License (Revised)',
3621             'caption.alt.org.wikidata' => '3-clause BSD License',
3622             'caption.alt.org.wikipedia.iri.bsd' =>
3623             '3-clause license ("BSD License 2.0", "Revised BSD License", "New BSD License", or "Modified BSD License")',
3624             'caption.alt.misc.modified' => 'Modified BSD License',
3625             'caption.alt.misc.new_lower' => 'new BSD License',
3626             'caption.alt.misc.new_parens' => '(new) BSD License',
3627             'caption.alt.misc.no_license' => '3-clause BSD',
3628             'caption.alt.misc.parens' => 'BSD (3 clause)',
3629             'caption.alt.misc.qemu' => 'BSD Licence (without advertising clause)',
3630             'summary.alt.org.fedora' => 'BSD License (no advertising)',
3631             'summary.alt.org.fedora.misc.new_bsd' =>
3632             'New BSD (no advertising, 3 clause)',
3633             tags => [
3634             'family:bsd',
3635             'license:contains:license:bsd_2_clause',
3636             'license:is:grant',
3637             'type:unversioned',
3638             ],
3639              
3640             'pat.alt.subject.license.scope.multisection' => $P{repro_copr_cond_discl}
3641             . '[.]?[ ]'
3642             . '(?:[*)]\[?(?:rescinded 22 July 1999'
3643             . '|This condition was removed[.])\]?)?' . '[*)]'
3644             . $P{nopromo_neither},
3645             };
3646              
3647             =item * bsd_3_clause_attribution
3648              
3649             I
3650              
3651             =cut
3652              
3653             $RE{bsd_3_clause_attribution} = {
3654             name => 'BSD-3-Clause-Attribution',
3655             'name.alt.org.spdx.since.date_20140807' => 'BSD-3-Clause-Attribution',
3656             caption => 'BSD with attribution',
3657             'caption.alt.org.fedora.iri.self' => 'BSD with attribution',
3658              
3659             # has word "Attribution title-cased, unlike caption
3660             'iri.alt.org.fedora.iri.self' =>
3661             'https://fedoraproject.org/wiki/Licensing/BSD_with_Attribution',
3662             tags => [
3663             'family:bsd',
3664             'license:contains:license:bsd_3_clause',
3665             'license:is:grant',
3666             'type:unversioned',
3667             ],
3668              
3669             'pat.alt.subject.license.scope.multisection.part.second_half' =>
3670             $P{nopromo_neither} . '[.][ ][*)]' . $P{redist_ack_this},
3671             };
3672              
3673             =item * bsd_3_clause_clear
3674              
3675             I
3676              
3677             =cut
3678              
3679             $RE{bsd_3_clause_clear} = {
3680             name => 'BSD-3-Clause-Clear',
3681             'name.alt.org.spdx.since.date_20130117' => 'BSD-3-Clause-Clear',
3682             caption => 'BSD 3-Clause Clear License',
3683             'caption.alt.org.spdx.until.date_20130410' =>
3684             'BSD 2-clause "Clear" License',
3685             'caption.alt.org.spdx.since.date_20130410.until.date_20171228' =>
3686             'BSD 3-clause Clear License',
3687             'caption.alt.org.spdx.since.date_20171228' =>
3688             'BSD 3-Clause Clear License',
3689             tags => [
3690             'family:bsd',
3691             'license:contains:license:bsd_3_clause',
3692             'license:is:grant',
3693             'type:unversioned',
3694             ],
3695              
3696             'pat.alt.subject.license.scope.multisection.part.second_half' =>
3697             $P{nopromo_neither}
3698             . '[.][ ]'
3699             . 'NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY[\']S PATENT RIGHTS ARE GRANTED BY THIS LICENSE'
3700             . '[. ]'
3701             . $P{discl_warranties},
3702             };
3703              
3704             =item * bsd_3_clause_eclipse
3705              
3706             I
3707              
3708             =cut
3709              
3710             # license scheme is unversioned, despite versioned name
3711             $RE{bsd_3_clause_eclipse} = {
3712             name => 'EDL-1.0',
3713             'name.alt.org.debian' => 'BSD-3-clause~Eclipse',
3714             'name.alt.org.steward' => 'EDL-1.0',
3715             'name.alt.org.wikidata.synth.nogrant' => 'Q26245522',
3716             caption => 'Eclipse Distribution License 1.0',
3717             'caption.alt.org.fedora' => 'Eclipse Distribution License 1.0',
3718             'caption.alt.org.steward' => 'Eclipse Distribution License - v 1.0',
3719             'caption.alt.org.wikidata' => 'Eclipse Distribution License',
3720             description => <<'END',
3721             Specific instance of BSD 3-Clause License,
3722             tied to "Eclipse Foundation, Inc.".
3723             END
3724             iri => 'http://www.eclipse.org/org/documents/edl-v10.php',
3725             tags => [
3726             'family:bsd',
3727             'license:contains:license:bsd_3_clause',
3728             'license:is:grant',
3729             'type:unversioned',
3730             ],
3731             licenseversion => '1.0',
3732              
3733             'pat.alt.subject.license.scope.line.scope.sentence.part.clause_3' =>
3734             'Neither the name of the Eclipse Foundation, Inc\. nor',
3735             };
3736              
3737             =item * bsd_3_clause_lbnl
3738              
3739             I
3740              
3741             =cut
3742              
3743             $RE{bsd_3_clause_lbnl} = {
3744             name => 'BSD-3-Clause-LBNL',
3745             'name.alt.org.fedora.iri.self' => 'LBNLBSD',
3746             'name.alt.org.osi' => 'BSD-3-Clause-LBNL',
3747             'name.alt.org.spdx.since.date_20140807' => 'BSD-3-Clause-LBNL',
3748             caption => 'Lawrence Berkeley National Labs BSD variant license',
3749             'caption.alt.org.fedora.misc.short' => 'LBNL BSD',
3750             'caption.alt.org.osi' =>
3751             'Lawrence Berkeley National Labs BSD Variant License',
3752             'caption.alt.org.osi.misc.list_bsd' => 'BSD-3-Clause-LBNL',
3753             tags => [
3754             'family:bsd',
3755             'license:is:grant',
3756             'type:unversioned',
3757             ],
3758             'pat.alt.subject.license.scope.multisection.part.second_half' =>
3759             $P{nopromo_neither}
3760             . '[.][ ]'
3761             . 'NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY[\']S PATENT RIGHTS ARE GRANTED BY THIS LICENSE'
3762             . '[. ]'
3763             . $P{discl_warranties} . '[. ]'
3764             . $P{discl_liability}
3765             . '[.][ ]'
3766             . 'You are under no obligation whatsoever to provide any bug fixes',
3767             'pat.alt.subject.license.scope.line.scope.sentence.part.last_disclaimer'
3768             => 'You are under no obligation whatsoever to provide any bug fixes',
3769             };
3770              
3771             =item * bsd_3_clause_modification
3772              
3773             =cut
3774              
3775             $RE{bsd_3_clause_modification} = {
3776             name => 'BSD-3-Clause-Modification',
3777             'name.alt.org.spdx.since.date_20210307' => 'BSD-3-Clause-Modification',
3778             caption => 'BSD 3-Clause Modification',
3779             tags => [
3780             'family:bsd',
3781             'license:contains:license:bsd_3_clause',
3782             'license:is:grant',
3783             'type:unversioned',
3784             ],
3785              
3786             'pat.alt.subject.license.scope.multisection.part.second_half' =>
3787             $P{nopromo_neither}
3788             . ' from the copyright holders'
3789             . '[.][ ]'
3790             . '[*)]If any files are modified'
3791             . ', you must cause the modified files to carry prominent notices'
3792             . ' stating that you changed the files and the date of any change',
3793             };
3794              
3795             =item * bsd_3_clause_no_military_license
3796              
3797             I
3798              
3799             =cut
3800              
3801             $RE{bsd_3_clause_no_military_license} = {
3802             name => 'BSD-3-Clause-No-Military-License',
3803             'name.alt.org.spdx.since.date_20210520' =>
3804             'BSD-3-Clause-No-Military-License',
3805             caption => 'BSD 3-Clause No Military License',
3806             tags => [
3807             'family:bsd',
3808             'license:contains:license:bsd_3_clause',
3809             'license:is:grant',
3810             'type:unversioned',
3811             ],
3812              
3813             'pat.alt.subject.license.scope.multisection.part.second_half' =>
3814             $P{nopromo_neither}
3815             . '[.][ ]'
3816             . $P{discl_warranties} . '[. ]'
3817             . $P{discl_liability}
3818             . '[.][ ]'
3819             . 'YOU ACKNOWLEDGE THAT THIS SOFTWARE'
3820             . ' IS NOT DESIGNED, LICENSED OR INTENDED'
3821             . ' FOR USE IN THE DESIGN, CONSTRUCTION, OPERATION OR MAINTENANCE'
3822             . ' OF ANY MILITARY FACILITY[.]',
3823             };
3824              
3825             =item * bsd_3_clause_no_nuclear_license
3826              
3827             I
3828              
3829             =cut
3830              
3831             $RE{bsd_3_clause_no_nuclear_license} = {
3832             name => 'BSD-3-Clause-No-Nuclear-License',
3833             'name.alt.org.spdx.since.date_20160721' =>
3834             'BSD-3-Clause-No-Nuclear-License',
3835             caption => 'BSD 3-Clause No Nuclear License',
3836             tags => [
3837             'family:bsd',
3838             'license:contains:license:bsd_3_clause',
3839             'license:is:grant',
3840             'type:unversioned',
3841             ],
3842              
3843             'pat.alt.subject.license.scope.multisection.part.second_half' =>
3844             $P{nopromo_neither}
3845             . '[.][ ]'
3846             . $P{discl_warranties_any_kind} . '[. ]'
3847             . $P{discl_warranties_excluded} . '[. ]'
3848             . $P{discl_liability_suffered} . '[. ]'
3849             . $P{discl_liability_revenue}
3850             . '[.][ ]'
3851             . 'You acknowledge that this software'
3852             . ' is not designed, licensed or intended for use'
3853             . ' in the design, construction, operation or maintenance'
3854             . ' of any nuclear facility[.]',
3855             };
3856              
3857             =item * bsd_3_clause_no_nuclear_license_2014
3858              
3859             I
3860              
3861             =cut
3862              
3863             $RE{bsd_3_clause_no_nuclear_license_2014} = {
3864             name => 'BSD-3-Clause-No-Nuclear-License-2014',
3865             'name.alt.org.spdx.since.date_20160721' =>
3866             'BSD-3-Clause-No-Nuclear-License-2014',
3867             caption => 'BSD 3-Clause No Nuclear License 2014',
3868             tags => [
3869             'family:bsd',
3870             'license:contains:license:bsd_3_clause',
3871             'license:is:grant',
3872             'type:unversioned',
3873             ],
3874              
3875             'pat.alt.subject.license.scope.multisection.part.second_half' =>
3876             $P{nopromo_neither}
3877             . '[.][ ]'
3878             . $P{discl_warranties} . '[. ]'
3879             . $P{discl_liability}
3880             . '[.][ ]'
3881             . 'You acknowledge that this software'
3882             . ' is not designed, licensed or intended for use'
3883             . ' in the design, construction, operation or maintenance'
3884             . ' of any nuclear facility[.]',
3885             };
3886              
3887             =item * bsd_3_clause_no_nuclear_warranty
3888              
3889             I
3890              
3891             =cut
3892              
3893             $RE{bsd_3_clause_no_nuclear_warranty} = {
3894             name => 'BSD-3-Clause-No-Nuclear-Warranty',
3895             'name.alt.org.spdx.since.date_20160721' =>
3896             'BSD-3-Clause-No-Nuclear-Warranty',
3897             caption => 'BSD 3-Clause No Nuclear Warranty',
3898             tags => [
3899             'family:bsd',
3900             'type:unversioned',
3901             ],
3902             tags => [
3903             'family:bsd',
3904             'license:contains:license:bsd_3_clause',
3905             'license:is:grant',
3906             'type:unversioned',
3907             ],
3908              
3909             'pat.alt.subject.license.scope.multisection.part.second_half' =>
3910             $P{nopromo_neither}
3911             . '[.][ ]'
3912             . $P{discl_warranties_any_kind} . '[. ]'
3913             . $P{discl_warranties_excluded} . '[. ]'
3914             . $P{discl_liability_suffered} . '[. ]'
3915             . $P{discl_liability_revenue}
3916             . '[.][ ]'
3917             . 'You acknowledge that this software'
3918             . ' is not designed or intended for use'
3919             . ' in the design, construction, operation or maintenance'
3920             . ' of any nuclear facility[.]',
3921             };
3922              
3923             =item * bsd_3_clause_refractions
3924              
3925             I
3926              
3927             =cut
3928              
3929             # license scheme is unversioned, despite versioned name
3930             $RE{bsd_3_clause_refractions} = {
3931             'name.alt.org.debian' => 'BSD-3-clause~Refractions',
3932             caption => 'Refractions BSD License v1.0',
3933             'caption.alt.org.steward' =>
3934             'Refractions BSD 3 Clause License (BSD) - v 1.0',
3935             description => <<'END',
3936             Specific instance of BSD 3-Clause License,
3937             tied to "Refractions Research".
3938             END
3939             iri => 'http://udig.refractions.net/files/bsd3-v10.html',
3940             tags => [
3941             'family:bsd',
3942             'license:contains:license:bsd_3_clause',
3943             'license:is:grant',
3944             'type:unversioned',
3945             ],
3946             licenseversion => '1.0',
3947              
3948             'pat.alt.subject.license.scope.line.scope.sentence.part.clause_3' =>
3949             'Neither the name of the Refractions Research nor',
3950             };
3951              
3952             =item * bsd_4_clause
3953              
3954             =cut
3955              
3956             $RE{bsd_4_clause} = {
3957             name => 'BSD-4-Clause',
3958             'name.alt.org.debian' => 'BSD-4-clause',
3959             'name.alt.org.fedora.iri.bsd_short' => 'BSDwithAdvertising',
3960             'name.alt.org.spdx' => 'BSD-4-Clause',
3961             'name.alt.org.tldr' => '4-clause-bsd',
3962             'name.alt.org.wikidata.synth.nogrant' => 'Q21503790',
3963             'name.alt.misc.clauses' => '4-clause-BSD',
3964             caption => 'BSD 4-Clause License',
3965             'caption.alt.org.fedora' => 'BSD License (original)',
3966             'caption.alt.org.fedora.misc.summary' => 'Original BSD License',
3967             'caption.alt.org.spdx.until.date_20171228' =>
3968             'BSD 4-clause "Original" or "Old" License',
3969             'caption.alt.org.spdx.since.date_20171228' =>
3970             'BSD 4-Clause "Original" or "Old" License',
3971             'caption.alt.org.tldr' => '4-Clause BSD',
3972             'caption.alt.org.wikidata' => '4-clause BSD License',
3973             'caption.alt.org.wikipedia.iri.bsd' =>
3974             '4-clause license (original "BSD License")',
3975             'caption.alt.misc.qemu' => 'BSD Licence (with advertising clause)',
3976             'caption.alt.misc.parens' => 'BSD (4 clause)',
3977             'summary.alt.org.fedora.iri.bsd' =>
3978             'Original BSD License (BSD with advertising)',
3979             tags => [
3980             'family:bsd',
3981             'license:contains:license:bsd_3_clause',
3982             'license:is:grant',
3983             'type:unversioned',
3984             ],
3985              
3986             'pat.alt.subject.license.scope.sentence' => $P{ad_mat_ack_this},
3987              
3988             # TODO: enable when possible to skip based on dependency graph
3989             # 'pat.alt.subject.license.scope.multisection.part.head' =>
3990             # $P{repro_copr_cond_discl} . '[.][ ]' . '[*)]?' . $P{ad_mat_ack_this},
3991             'pat.alt.subject.license.scope.multisection.part.tail' => '[*)]?'
3992             . $P{ad_mat_ack_this}
3993             . '[word][ word]{0,14}'
3994             . '[.][ ]' . '[*)]?'
3995             . $P{nopromo_neither},
3996             'pat.alt.subject.license.scope.multisection.part.most' =>
3997             $P{repro_copr_cond_discl}
3998             . '[.][ ][*)]?'
3999             . $P{ad_mat_ack_this}
4000             . '[word][ word]{0,14}'
4001             . '[.][ ][*)]?'
4002             . $P{nopromo_neither},
4003             };
4004              
4005             =item * bsd_4_clause_uc
4006              
4007             I
4008              
4009             =cut
4010              
4011             $RE{bsd_4_clause_uc} = {
4012             name => 'BSD-4-Clause-UC',
4013             'name.alt.org.spdx' => 'BSD-4-Clause-UC',
4014             caption => 'BSD-4-Clause (University of California-Specific)',
4015             description => <<'END',
4016             Specific instance of BSD 4-Clause License,
4017             tied to "University of California, Berkeley".
4018             END
4019             tags => [
4020             'family:bsd',
4021             'license:contains:license:bsd_4_clause',
4022             'license:is:grant',
4023             'type:unversioned',
4024             ],
4025              
4026             'pat.alt.subject.license.scope.multisection.part.tail' => '[*)]?'
4027             . $P{ad_mat_ack_this}
4028             . 'the University of California, Berkeley and its contributors'
4029             . '[.][ ]' . '[*)]?'
4030             . $P{nopromo_university},
4031             'pat.alt.subject.license.scope.multisection.part.most' =>
4032             $P{repro_copr_cond_discl}
4033             . '[.][ ][*)]?'
4034             . $P{ad_mat_ack_this}
4035             . 'the University of California, Berkeley and its contributors'
4036             . '[.][ ][*)]?'
4037             . $P{nopromo_university},
4038             };
4039              
4040             =item * bsd_protection
4041              
4042             I
4043              
4044             =cut
4045              
4046             $RE{bsd_protection} = {
4047             name => 'BSD-Protection',
4048             'name.alt.org.spdx.since.date_20140807' => 'BSD-Protection',
4049             caption => 'BSD Protection License',
4050             'caption.alt.org.fedora.iri.self' => 'BSD Protection License',
4051             'caption.alt.org.fedora.misc.short' => 'BSD Protection',
4052             tags => [
4053             'type:unversioned',
4054             ],
4055              
4056             'pat.alt.subject.license.scope.line.scope.sentence.part.section1' =>
4057             'This license governs the copying, distribution, and modification',
4058             };
4059              
4060             =item * bsl
4061              
4062             I
4063              
4064             =item * bsl_1
4065              
4066             I
4067              
4068             =cut
4069              
4070             $RE{bsl} = {
4071             name => 'BSL',
4072             'name.alt.misc.fossology_old' => 'Boost',
4073             'name.alt.org.wikidata.synth.nogrant' => 'Q2353141',
4074             caption => 'Boost Software License',
4075             'caption.alt.misc.mixedcase' => 'boost Software License',
4076             'iri.alt.org.wikipedia' =>
4077             'https://en.wikipedia.org/wiki/Boost_Software_License#License',
4078             tags => [
4079             'type:versioned:decimal',
4080             ],
4081             };
4082              
4083             $RE{bsl_1} = {
4084             name => 'BSL-1.0',
4085             'name.alt.org.osi' => 'BSL-1.0',
4086             'name.alt.org.fedora.synth.nogrant' => 'Boost',
4087             'name.alt.org.osi.iri.stem.until.date_20110430' => 'bsl1.0',
4088             'name.alt.org.spdx' => 'BSL-1.0',
4089             'name.alt.org.tldr' => 'boost-software-license-1.0-explained',
4090             'name.alt.org.tldr.path.short.synth.nogrant' => 'boost',
4091             'name.alt.misc.fossology_old' => 'Boost_v1.0',
4092             caption => 'Boost Software License 1.0',
4093             'caption.alt.org.fedora.synth.nogrant' => 'Boost Software License',
4094             'caption.alt.misc.mixedcase' => 'boost Software License, Version 1.0',
4095             'caption.alt.org.osi.misc.list.synth.nogrant' => 'Boost Software License',
4096             'caption.alt.org.tldr' => 'Boost Software License 1.0 (BSL-1.0)',
4097             'caption.alt.org.trove' => 'Boost Software License 1.0 (BSL-1.0)',
4098             iri => 'http://www.boost.org/LICENSE_1_0.txt',
4099             tags => [
4100             'license:is:grant',
4101             'type:singleversion:bsl',
4102             ],
4103             licenseversion => '1.0',
4104              
4105             'pat.alt.subject.license' =>
4106             'this license [(]the ["]Software["][)] to use, reproduce',
4107             };
4108              
4109             =item * bzip2
4110              
4111             =item * bzip2_1_0_5
4112              
4113             =item * bzip2_1_0_6
4114              
4115             =cut
4116              
4117             $RE{bzip2} = {
4118             name => 'bzip2',
4119             caption => 'bzip2 and libbzip2 License',
4120             tags => [
4121             'type:versioned:decimal',
4122             ],
4123              
4124             'pat.alt.subject.license' =>
4125             '[*)]Redistributions of source code must retain '
4126             . 'the above copyright notice, this list of conditions '
4127             . 'and the following disclaimer[.][ ]'
4128             . '[*)]The origin of this software must not be misrepresented[;] '
4129             . 'you must not claim that you wrote the original software[. ]'
4130             . 'If you use this software in a product, '
4131             . 'an acknowledgment in the product documentation '
4132             . 'would be appreciated but is not required[.][ ]'
4133             . '[*)]Altered source versions must be plainly marked as such, '
4134             . 'and must not be misrepresented as being the original software[.][ ]'
4135             . '[*)]The name of the author may not be used '
4136             . 'to endorse or promote products derived from this software '
4137             . 'without specific prior written permission[.]',
4138             };
4139              
4140             $RE{bzip2_1_0_5} = {
4141             name => 'bzip2-1.0.5',
4142             'name.alt.org.spdx.since.date_20140807' => 'bzip2-1.0.5',
4143             caption => 'bzip2 and libbzip2 License v1.0.5',
4144             tags => [
4145             'license:is:grant',
4146             'type:singleversion:bzip2',
4147             ],
4148             licenseversion => '1.0.5',
4149              
4150             'pat.alt.subject.license' =>
4151             'This program, ["]?bzip2["]?(?: and|, the) associated library ["]?libbzip2["]?, '
4152             . '(?:and all documentation, )?'
4153             . 'are copyright[c] 1996[-]2007',
4154             };
4155              
4156             $RE{bzip2_1_0_6} = {
4157             name => 'bzip2-1.0.6',
4158             'name.alt.org.spdx.since.date_20140807' => 'bzip2-1.0.6',
4159             'name.alt.org.tldr.synth.nogrant' => 'bzip2',
4160             caption => 'bzip2 and libbzip2 License v1.0.6',
4161             'caption.alt.org.tldr.synth.nogrant' => 'bzip2 (original)',
4162             tags => [
4163             'license:is:grant',
4164             'type:singleversion:bzip2',
4165             ],
4166             licenseversion => '1.0.6',
4167              
4168             'pat.alt.subject.license' =>
4169             'This program, ["]?bzip2["]?(?: and|, the) associated library ["]?libbzip2["]?, '
4170             . '(?:and all documentation, )?'
4171             . 'are copyright[c] 1996[-]2010',
4172             };
4173              
4174             =item * cal
4175              
4176             I
4177              
4178             =item * cal_1
4179              
4180             I
4181              
4182             =cut
4183              
4184             $RE{cal} = {
4185             name => 'CAL',
4186             caption => 'Cryptographic Autonomy License',
4187             tags => [
4188             'type:versioned:decimal',
4189             ],
4190             };
4191              
4192             $RE{cal_1} = {
4193             name => 'CAL-1.0',
4194             'name.alt.org.osi' => 'CAL-1.0',
4195             'name.alt.org.spdx.since.date_20200515' => 'CAL-1.0',
4196             caption => 'Cryptographic Autonomy License 1.0',
4197             'caption.alt.org.osi' => 'Cryptographic Autonomy License version 1.0',
4198             'caption.alt.org.osi.misc.list' => 'Cryptographic Autonomy License v.1.0',
4199             'caption.alt.misc.legal' => 'The Cryptographic Autonomy License, v. 1.0',
4200             'iri.alt.misc.github' =>
4201             'https://github.com/holochain/cryptographic-autonomy-license',
4202             tags => [
4203             'type:singleversion:cal',
4204             ],
4205             licenseversion => '1.0',
4206              
4207             'pat.alt.subject.license' =>
4208             'This Cryptographic Autonomy License [(]the ["]License["][)] '
4209             . 'applies to any Work '
4210             . 'whose owner has marked it',
4211             };
4212              
4213             =item * caldera
4214              
4215             =cut
4216              
4217             $RE{caldera} = {
4218             name => 'Caldera',
4219             'name.alt.org.spdx.since.date_20140807' => 'Caldera',
4220             caption => 'Caldera License',
4221             'caption.alt.org.tldr' => 'Caldera License',
4222             tags => [
4223             'license:is:grant',
4224             'type:unversioned',
4225             ],
4226              
4227             'pat.alt.subject.license' =>
4228             'Caldera International, Inc\. hereby grants a fee free license',
4229             };
4230              
4231             =item * catosl
4232              
4233             =item * catosl_1_1
4234              
4235             =cut
4236              
4237             $RE{catosl} = {
4238             name => 'CATOSL',
4239             caption => 'Computer Associates Trusted Open Source License',
4240             tags => [
4241             'type:versioned:decimal',
4242             ],
4243             };
4244              
4245             $RE{catosl_1_1} = {
4246             name => 'CATOSL-1.1',
4247             'name.alt.org.fedora.synth.nogrant' => 'CATOSL',
4248             'name.alt.org.osi' => 'CATOSL-1.1',
4249             'name.alt.org.osi.iri.stem.until.date_20110430' => 'ca-tosl1.0',
4250             'name.alt.org.spdx' => 'CATOSL-1.1',
4251             'name.alt.org.wikidata.synth.nogrant' => 'Q38365570',
4252             'name.alt.misc.fossology_old' => 'CA1.1',
4253             caption => 'Computer Associates Trusted Open Source License 1.1',
4254             'caption.alt.org.tldr' =>
4255             'Computer Associates Trusted Open Source License 1.1 (CATOSL-1.1)',
4256             'caption.alt.org.wikidata' =>
4257             'Computer Associates Trusted Open Source License, Version 1.1',
4258             tags => [
4259             'type:singleversion:catosl',
4260             ],
4261             licenseversion => '1.1',
4262              
4263             'pat.alt.subject.license' =>
4264             'Contribution means[*)]in the case of CA, the Original Program',
4265             };
4266              
4267             =item * cc_by
4268              
4269             =item * cc_by_1
4270              
4271             I
4272              
4273             =item * cc_by_2
4274              
4275             I
4276              
4277             =item * cc_by_2_5
4278              
4279             I
4280              
4281             =item * cc_by_3
4282              
4283             I
4284              
4285             =item * cc_by_4
4286              
4287             I
4288              
4289             =cut
4290              
4291             # sources of introduction and expiry dates:
4292             #
4293             #
4294             #
4295              
4296             my $if_dist_work_or_works_keep_intact_notices
4297             = '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';
4298             my $if_dist_work_or_collections_keep_intact_notices
4299             = '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';
4300             my $credit_author_if_supplied
4301             = ' 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;';
4302             my $credit_author_or_designated_party
4303             = ' provide, reasonable to the medium or means You are utilizing[:]?'
4304             . ' [*)] the name of the Original Author [(]or pseudonym, if applicable[)] if supplied, and[/]or'
4305             . ' [*)] if the Original Author and[/]or Licensor designate another party or parties'
4306             . ' [(][eg] a sponsor institute, publishing entity, journal[)]'
4307             . ' for attribution in Licensor[\']?s copyright notice, terms of service or by other reasonable means,'
4308             . ' the name of such party or parties;';
4309              
4310             #" 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;";
4311             #' [*)] the title of the Work if supplied;';
4312             my $to_extend_URI
4313             = ' to the extent reasonably practicable, the Uniform Resource Identifier, if any, that Licensor specifies to be associated with the Work,'
4314             . ' unless such URI does not refer to the copyright notice or licensing information for the Work; and';
4315              
4316             # ' (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'
4317             #" (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.
4318              
4319             $RE{cc_by} = {
4320             name => 'CC-BY',
4321             'name.alt.org.fedora' => 'CC-BY',
4322             'name.alt.org.cc' => 'CC-BY',
4323             'name.alt.org.wikidata.synth.nogrant' => 'Q6905323',
4324             'name.alt.misc.fossology_old_vague.synth.nogrant' => 'CCPL',
4325             'name.alt.misc.fossology_old_vague_short.synth.nogrant' => 'CCA',
4326             caption => 'Creative Commons Attribution',
4327             'caption.alt.org.fedora' => 'Creative Commons Attribution license',
4328             tags => [
4329             'family:cc:standard',
4330             'type:versioned:decimal',
4331             ],
4332              
4333             'pat.alt.subject.name' => '(?:'
4334             . $P{cc}
4335             . '[- ](?:'
4336             . $P{cc_by} . '|BY|'
4337             . $P{cc_url} . 'by))',
4338             };
4339              
4340             $RE{cc_by_1} = {
4341             name => 'CC-BY-1.0',
4342             'name.alt.org.cc' => 'CC-BY-1.0',
4343             'name.alt.org.spdx' => 'CC-BY-1.0',
4344             'name.alt.org.wikidata.synth.nogrant' => 'Q30942811',
4345             'name.alt.misc.fossology_old_vague.synth.nogrant' => 'CCA1.0',
4346             caption => 'Creative Commons Attribution 1.0 Generic',
4347             'caption.alt.org.cc' =>
4348             'Creative Commons Attribution 1.0 Generic License',
4349             'caption.alt.org.cc.misc.legal.synth.nogrant' => 'Attribution 1.0',
4350             'caption.alt.org.cc.misc.shortname' => 'CC BY 1.0',
4351             'caption.alt.org.cc.misc.deed' => 'Attribution 1.0 Generic (CC BY 1.0)',
4352             'caption.alt.org.spdx.until.date_20150513' =>
4353             'Creative Commons Attribution 1.0',
4354             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
4355             'Creative Commons Attribution 1.0 Generic',
4356             'caption.alt.org.spdx.since.date_20150730' =>
4357             'Creative Commons Attribution 1.0',
4358             'caption.alt.org.wikidata' => 'Creative Commons Attribution 1.0 Generic',
4359             iri => 'https://creativecommons.org/licenses/by/1.0/',
4360             tags => [
4361             'family:cc:standard',
4362             'type:singleversion:cc_by',
4363             ],
4364             licenseversion => '1.0',
4365              
4366             'pat.alt.subject.license.scope.multisection.part.intro' =>
4367             'Creative Commons Attribution 1.0[ ]' . $cc_intro_1,
4368             'pat.alt.subject.license.scope.multisection.part.part4' =>
4369             'as requested[. ]' . '[*)]?'
4370             . $if_dist_work_or_works_keep_intact_notices
4371             . $credit_author_if_supplied
4372             . ' the title of the Work if supplied;'
4373             . ' in the case of a Derivative',
4374             };
4375              
4376             $RE{cc_by_2} = {
4377             name => 'CC-BY-2.0',
4378             'name.alt.org.cc.since.date_20040525' => 'CC-BY-2.0',
4379             'name.alt.org.spdx' => 'CC-BY-2.0',
4380             'name.alt.org.wikidata.synth.nogrant' => 'Q19125117',
4381             'name.alt.misc.fossology_old_vague.synth.nogrant' => 'CCPL_v2.0',
4382             caption => 'Creative Commons Attribution 2.0',
4383             'caption.alt.org.cc' =>
4384             'Creative Commons Attribution 2.0 Generic License',
4385             'caption.alt.org.cc.misc.legal.synth.nogrant' => 'Attribution 2.0',
4386             'caption.alt.org.cc.misc.shortname' => 'CC BY 2.0',
4387             'caption.alt.org.cc.misc.deed' => 'Attribution 2.0 Generic (CC BY 2.0)',
4388             'caption.alt.org.spdx.until.date_20150513' =>
4389             'Creative Commons Attribution 2.0',
4390             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
4391             'Creative Commons Attribution 2.0 Generic',
4392             'caption.alt.org.spdx.since.date_20150730' =>
4393             'Creative Commons Attribution 2.0',
4394             'caption.alt.org.wikidata' => 'Creative Commons Attribution 2.0 Generic',
4395             iri => 'https://creativecommons.org/licenses/by/2.0/',
4396             tags => [
4397             'family:cc:standard',
4398             'type:singleversion:cc_by',
4399             ],
4400             licenseversion => '2.0',
4401              
4402             'pat.alt.subject.license.scope.multisection.part.intro' =>
4403             'Creative Commons Attribution 2.0[ ]' . $cc_intro,
4404             'pat.alt.subject.license.scope.multisection.part.part4' =>
4405             'as requested[. ]' . '[*)]?'
4406             . $if_dist_work_or_works_keep_intact_notices
4407             . $credit_author_if_supplied
4408             . ' the title of the Work if supplied;'
4409             . $to_extend_URI
4410             . ' in the case of a Derivative',
4411             };
4412              
4413             $RE{cc_by_2_5} = {
4414             name => 'CC-BY-2.5',
4415             'name.alt.org.cc.since.date_20050600' => 'CC-BY-2.5',
4416             'name.alt.org.spdx' => 'CC-BY-2.5',
4417             'name.alt.org.wikidata.synth.nogrant' => 'Q18810333',
4418             'name.alt.misc.fossology_old_vague.synth.nogrant' => 'CCPL_v2.5',
4419             'name.alt.misc.fossology_old_vague_short.synth.nogrant' => 'CCA_v2.5',
4420             'name.alt.misc.fossology_old_vague_shorter.synth.nogrant' => 'CCA2.5',
4421             caption => 'Creative Commons Attribution 2.5',
4422             'caption.alt.org.cc' =>
4423             'Creative Commons Attribution 2.5 Generic License',
4424             'caption.alt.org.cc.misc.legal.synth.nogrant' => 'Attribution 2.5',
4425             'caption.alt.org.cc.misc.shortname' => 'CC BY 2.5',
4426             'caption.alt.org.cc.misc.deed' => 'Attribution 2.5 Generic (CC BY 2.5)',
4427             'caption.alt.org.spdx.until.date_20150513' =>
4428             'Creative Commons Attribution 2.5',
4429             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
4430             'Creative Commons Attribution 2.5 Generic',
4431             'caption.alt.org.spdx.since.date_20150730' =>
4432             'Creative Commons Attribution 2.5',
4433             'caption.alt.org.wikidata' => 'Creative Commons Attribution 2.5 Generic',
4434             iri => 'https://creativecommons.org/licenses/by/2.5/',
4435             tags => [
4436             'family:cc:standard',
4437             'type:singleversion:cc_by',
4438             ],
4439             licenseversion => '2.5',
4440              
4441             'pat.alt.subject.license.scope.multisection.part.intro' =>
4442             'Creative Commons Attribution 2.5[ ]' . $cc_intro,
4443             'pat.alt.subject.license.scope.multisection.part.part4' =>
4444             'as requested[. ]' . '[*)]?'
4445             . $if_dist_work_or_works_keep_intact_notices
4446             . $credit_author_or_designated_party
4447             . ' the title of the Work if supplied;'
4448             . $to_extend_URI
4449             . ' in the case of a Derivative',
4450             };
4451              
4452             $RE{cc_by_3} = {
4453             name => 'CC-BY-3.0',
4454             'name.alt.org.cc.since.date_20070223' => 'CC-BY-3.0',
4455             'name.alt.org.spdx' => 'CC-BY-3.0',
4456             'name.alt.org.tldr.synth.nogrant' => 'creative-commons-attribution-(cc)',
4457             'name.alt.org.wikidata.synth.nogrant' => 'Q14947546',
4458             'name.alt.misc.fossology_old_vague.synth.nogrant' => 'CCPL_v3.0',
4459             'name.alt.misc.fossology_old_vague_short.synth.nogrant' => 'CCA3.0',
4460             caption => 'Creative Commons Attribution 3.0',
4461             'caption.alt.org.cc' =>
4462             'Creative Commons Attribution 3.0 Unported License',
4463             'caption.alt.org.cc.misc.modern' =>
4464             'Creative Commons Attribution 3.0 International License',
4465             'caption.alt.org.cc.misc.legal' => 'Attribution 3.0 Unported',
4466             'caption.alt.org.cc.misc.shortname' => 'CC BY 3.0',
4467             'caption.alt.org.cc.misc.deed' => 'Attribution 3.0 Unported (CC BY 3.0)',
4468             'caption.alt.org.spdx.until.date_20150513' =>
4469             'Creative Commons Attribution 3.0',
4470             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
4471             'Creative Commons Attribution 3.0 Unported',
4472             'caption.alt.org.spdx.since.date_20150730' =>
4473             'Creative Commons Attribution 3.0',
4474             'caption.alt.org.tldr' =>
4475             'Creative Commons Attribution 3.0 Unported (CC-BY)',
4476             'caption.alt.org.wikidata' => 'Creative Commons Attribution 3.0 Unported',
4477             iri => 'https://creativecommons.org/licenses/by/3.0/',
4478             tags => [
4479             'family:cc:standard',
4480             'type:singleversion:cc_by',
4481             ],
4482             licenseversion => '3.0',
4483              
4484             'pat.alt.subject.license.scope.multisection.part.intro' =>
4485             'Creative Commons Attribution 3.0 Unported[ ]' . $cc_intro,
4486             'pat.alt.subject.license.scope.multisection.part.part4' =>
4487             'as requested[. ]' . '[*)]?'
4488             . $if_dist_work_or_collections_keep_intact_notices
4489              
4490             # . $credit_author_or_designated_party
4491             # . ' the title of the Work if supplied;'
4492             # . ' 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'
4493             # . ' in the case of a Derivative',
4494             };
4495              
4496             $RE{cc_by_4} = {
4497             name => 'CC-BY-4.0',
4498             'name.alt.org.cc.since.date_20131125' => 'CC-BY-4.0',
4499             'name.alt.org.spdx.since.date_20140807' => 'CC-BY-4.0',
4500             'name.alt.org.tldr' =>
4501             'creative-commons-attribution-4.0-international-(cc-by-4)',
4502             'name.alt.org.tldr.path.short' => 'ccby4',
4503             'name.alt.org.wikidata.synth.nogrant' => 'Q20007257',
4504             caption => 'Creative Commons Attribution 4.0',
4505             'caption.alt.org.cc' =>
4506             'Creative Commons Attribution 4.0 International License',
4507             'caption.alt.org.cc.misc.legal.synth.nogrant' =>
4508             'Attribution 4.0 International',
4509             'caption.alt.org.cc.misc.shortname' => 'CC BY 4.0',
4510             'caption.alt.org.cc.misc.deed' =>
4511             'Attribution 4.0 International (CC BY 4.0)',
4512             'caption.alt.org.spdx.until.date_20150513' =>
4513             'Creative Commons Attribution 4.0',
4514             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
4515             'Creative Commons Attribution 4.0 International',
4516             'caption.alt.org.spdx.since.date_20150730' =>
4517             'Creative Commons Attribution 4.0',
4518             'caption.alt.org.tldr' =>
4519             'Creative Commons Attribution 4.0 International (CC BY 4.0)',
4520             'caption.alt.org.wikidata' =>
4521             'Creative Commons Attribution 4.0 International',
4522             iri => 'https://creativecommons.org/licenses/by/4.0/',
4523             tags => [
4524             'family:cc:standard',
4525             'type:singleversion:cc_by',
4526             ],
4527             licenseversion => '4.0',
4528              
4529             'pat.alt.subject.license.scope.sentence.part.intro' =>
4530             $cc_by_exercising_you_accept_this
4531             . 'Creative Commons Attribution 4.0',
4532             };
4533              
4534             =item * cc_by_nc
4535              
4536             =item * cc_by_nc_1
4537              
4538             I
4539              
4540             =item * cc_by_nc_2
4541              
4542             I
4543              
4544             =item * cc_by_nc_2_5
4545              
4546             I
4547              
4548             =item * cc_by_nc_3
4549              
4550             I
4551              
4552             =item * cc_by_nc_4
4553              
4554             I
4555              
4556             =cut
4557              
4558             $RE{cc_by_nc} = {
4559             name => 'CC-BY-NC',
4560             'name.alt.org.cc' => 'CC-BY-NC',
4561             'name.alt.org.wikidata.synth.nogrant' => 'Q6936496',
4562             caption => 'Creative Commons Attribution-NonCommercial',
4563             'caption.alt.org.fedora' => 'Creative Commons Attribution-NonCommercial',
4564             tags => [
4565             'family:cc:standard',
4566             'type:versioned:decimal',
4567             ],
4568              
4569             'pat.alt.subject.name' => '(?:'
4570             . $P{cc}
4571             . '[- ](?:'
4572             . $P{cc_by} . '[- ]'
4573             . $P{cc_nc}
4574             . '|BY[- ]NC|'
4575             . $P{cc_url}
4576             . 'by-nc))',
4577             };
4578              
4579             $RE{cc_by_nc_1} = {
4580             name => 'CC-BY-NC-1.0',
4581             'name.alt.org.cc' => 'CC-BY-NC-1.0',
4582             'name.alt.org.spdx' => 'CC-BY-NC-1.0',
4583             'name.alt.org.wikidata.synth.nogrant' => 'Q44283370',
4584             caption => 'Creative Commons Attribution-NonCommercial 1.0',
4585             'caption.alt.org.cc' =>
4586             'Creative Commons Attribution-NonCommercial 1.0 Generic License',
4587             'caption.alt.org.cc.misc.legal' => 'Attribution-NonCommercial 1.0',
4588             'caption.alt.org.cc.misc.shortname' => 'CC BY-NC 1.0',
4589             'caption.alt.org.cc.misc.deed' =>
4590             'Attribution-NonCommercial 1.0 Generic (CC BY-NC 1.0)',
4591             'caption.alt.org.spdx.until.date_20150513' =>
4592             'Creative Commons Attribution Non Commercial 1.0',
4593             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
4594             'Creative Commons Attribution Non Commercial 1.0 Generic',
4595             'caption.alt.org.spdx.since.date_20150730' =>
4596             'Creative Commons Attribution Non Commercial 1.0',
4597             'caption.alt.org.wikidata' =>
4598             'Creative Commons Attribution-NonCommercial 1.0 Generic',
4599             iri => 'https://creativecommons.org/licenses/by-nc/1.0/',
4600             tags => [
4601             'family:cc:standard',
4602             'type:singleversion:cc_by_nc',
4603             ],
4604             licenseversion => '1.0',
4605              
4606             'pat.alt.subject.license.scope.multisection.part.intro' =>
4607             'Creative Commons Attribution-NonCommercial 1.0[ ]' . $cc_intro_1,
4608             };
4609              
4610             $RE{cc_by_nc_2} = {
4611             name => 'CC-BY-NC-2.0',
4612             'name.alt.org.cc.since.date_20040525' => 'CC-BY-NC-2.0',
4613             'name.alt.org.spdx' => 'CC-BY-NC-2.0',
4614             'name.alt.org.tldr' => 'creative-commons-public-license-(ccpl)',
4615             'name.alt.org.wikidata.synth.nogrant' => 'Q44128984',
4616             caption => 'Creative Commons Attribution-NonCommercial 2.0',
4617             'caption.alt.org.cc' =>
4618             'Creative Commons Attribution-NonCommercial 2.0 Generic License',
4619             'caption.alt.org.cc.misc.legal' => 'Attribution-NonCommercial 2.0',
4620             'caption.alt.org.cc.misc.shortname' => 'CC BY-NC 2.0',
4621             'caption.alt.org.cc.misc.deed' =>
4622             'Attribution-NonCommercial 2.0 Generic (CC BY-NC 2.0)',
4623             'caption.alt.org.spdx.until.date_20150513' =>
4624             'Creative Commons Attribution Non Commercial 2.0',
4625             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
4626             'Creative Commons Attribution Non Commercial 2.0 Generic',
4627             'caption.alt.org.spdx.since.date_20150730' =>
4628             'Creative Commons Attribution Non Commercial 2.0',
4629             'caption.alt.org.tldr' =>
4630             'Creative Commons Attribution-NonCommercial 2.0 Generic (CC BY-NC 2.0)',
4631             'caption.alt.org.wikidata' =>
4632             'Creative Commons Attribution-NonCommercial 2.0 Generic',
4633             iri => 'https://creativecommons.org/licenses/by-nc/2.0/',
4634             tags => [
4635             'family:cc:standard',
4636             'type:singleversion:cc_by_nc',
4637             ],
4638             licenseversion => '2.0',
4639              
4640             'pat.alt.subject.license.scope.multisection.part.intro' =>
4641             'Creative Commons Attribution-NonCommercial 2.0[ ]' . $cc_intro,
4642             };
4643              
4644             $RE{cc_by_nc_2_5} = {
4645             name => 'CC-BY-NC-2.5',
4646             'name.alt.org.cc.since.date_20050600' => 'CC-BY-NC-2.5',
4647             'name.alt.org.spdx' => 'CC-BY-NC-2.5',
4648             'name.alt.org.wikidata.synth.nogrant' => 'Q19113746',
4649             caption => 'Creative Commons Attribution-NonCommercial 2.5',
4650             'caption.alt.org.cc' =>
4651             'Creative Commons Attribution-NonCommercial 2.5 Generic License',
4652             'caption.alt.org.cc.misc.legal' => 'Attribution-NonCommercial 2.5',
4653             'caption.alt.org.cc.misc.shortname' => 'CC BY-NC 2.5',
4654             'caption.alt.org.cc.misc.deed' =>
4655             'Attribution-NonCommercial 2.5 Generic (CC BY-NC 2.5)',
4656             'caption.alt.org.spdx.until.date_20150513' =>
4657             'Creative Commons Attribution Non Commercial 2.5',
4658             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
4659             'Creative Commons Attribution Non Commercial 2.5 Generic',
4660             'caption.alt.org.spdx.since.date_20150730' =>
4661             'Creative Commons Attribution Non Commercial 2.5',
4662             'caption.alt.org.wikidata' =>
4663             'Creative Commons Attribution-NonCommercial 2.5 Generic',
4664             iri => 'https://creativecommons.org/licenses/by-nc/2.5/',
4665             tags => [
4666             'family:cc:standard',
4667             'type:singleversion:cc_by_nc',
4668             ],
4669             licenseversion => '2.5',
4670              
4671             'pat.alt.subject.license.scope.multisection.part.intro' =>
4672             'Creative Commons Attribution-NonCommercial 2.5[ ]' . $cc_intro,
4673             };
4674              
4675             $RE{cc_by_nc_3} = {
4676             name => 'CC-BY-NC-3.0',
4677             'name.alt.org.cc.since.date_20070223' => 'CC-BY-NC-3.0',
4678             'name.alt.org.spdx' => 'CC-BY-NC-3.0',
4679             'name.alt.org.tldr.synth.nogrant' =>
4680             'creative-commons-attribution-noncommercial-(cc-nc)',
4681             'name.alt.org.wikidata.synth.nogrant' => 'Q18810331',
4682             caption => 'Creative Commons Attribution-NonCommercial 3.0',
4683             'caption.alt.org.cc' =>
4684             'Creative Commons Attribution-NonCommercial 3.0 Unported License',
4685             'caption.alt.org.cc.misc.modern' =>
4686             'Creative Commons Attribution-NonCommercial 3.0 International License',
4687             'caption.alt.org.cc.misc.legal' =>
4688             'Attribution-NonCommercial 3.0 Unported',
4689             'caption.alt.org.cc.misc.shortname' => 'CC BY-NC 3.0',
4690             'caption.alt.org.cc.misc.deed' =>
4691             'Attribution-NonCommercial 3.0 Unported (CC BY-NC 3.0)',
4692             'caption.alt.org.spdx.until.date_20150513' =>
4693             'Creative Commons Attribution Non Commercial 3.0',
4694             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
4695             'Creative Commons Attribution Non Commercial 3.0 Unported',
4696             'caption.alt.org.spdx.since.date_20150730' =>
4697             'Creative Commons Attribution Non Commercial 3.0',
4698             'caption.alt.org.tldr.synth.nogrant' =>
4699             'Creative Commons Attribution NonCommercial (CC-BY-NC)',
4700             'caption.alt.org.wikidata' =>
4701             'Creative Commons Attribution-NonCommercial 3.0 Unported',
4702             iri => 'https://creativecommons.org/licenses/by-nc/3.0/',
4703             tags => [
4704             'family:cc:standard',
4705             'type:singleversion:cc_by_nc',
4706             ],
4707             licenseversion => '3.0',
4708              
4709             'pat.alt.subject.license.scope.multisection.part.intro' =>
4710             'Creative Commons Attribution-NonCommercial 3.0 Unported[ ]'
4711             . $cc_intro,
4712             };
4713              
4714             $RE{cc_by_nc_4} = {
4715             name => 'CC-BY-NC-4.0',
4716             'name.alt.org.cc.since.date_20131125' => 'CC-BY-NC-4.0',
4717             'name.alt.org.spdx.since.date_20140807' => 'CC-BY-NC-4.0',
4718             'name.alt.org.wikidata.synth.nogrant' => 'Q34179348',
4719             caption => 'Creative Commons Attribution-NonCommercial 4.0',
4720             'caption.alt.org.cc' =>
4721             'Creative Commons Attribution-NonCommercial 4.0 International License',
4722             'caption.alt.org.cc.misc.legal' =>
4723             'Attribution-NonCommercial 4.0 International',
4724             'caption.alt.org.cc.misc.shortname' => 'CC BY-NC 4.0',
4725             'caption.alt.org.cc.misc.deed' =>
4726             'Attribution-NonCommercial 4.0 International (CC BY-NC 4.0)',
4727             'caption.alt.org.spdx.until.date_20150513' =>
4728             'Creative Commons Attribution Non Commercial 4.0',
4729             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
4730             'Creative Commons Attribution Non Commercial 4.0 International',
4731             'caption.alt.org.spdx.since.date_20150730' =>
4732             'Creative Commons Attribution Non Commercial 4.0',
4733             'caption.alt.org.tldr' =>
4734             'Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0)',
4735             'caption.alt.org.wikidata' =>
4736             'Creative Commons Attribution-NonCommercial 4.0 International',
4737             iri => 'https://creativecommons.org/licenses/by-nc/4.0/',
4738             tags => [
4739             'family:cc:standard',
4740             'type:singleversion:cc_by_nc',
4741             ],
4742             licenseversion => '4.0',
4743              
4744             'pat.alt.subject.license.scope.sentence.part.intro' =>
4745             $cc_by_exercising_you_accept_this
4746             . 'Creative Commons Attribution-NonCommercial 4.0',
4747             };
4748              
4749             =item * cc_by_nc_nd
4750              
4751             =item * cc_by_nc_nd_1
4752              
4753             I
4754              
4755             =item * cc_by_nc_nd_2
4756              
4757             I
4758              
4759             =item * cc_by_nc_nd_2_5
4760              
4761             I
4762              
4763             =item * cc_by_nc_nd_3
4764              
4765             I
4766              
4767             =item * cc_by_nc_nd_4
4768              
4769             I
4770              
4771             =cut
4772              
4773             $RE{cc_by_nc_nd} = {
4774             name => 'CC-BY-NC-ND',
4775             'name.alt.org.cc' => 'CC-BY-NC-ND',
4776             'name.alt.org.wikidata.synth.nogrant' => 'Q6937225',
4777             caption => 'Creative Commons Attribution-NonCommercial-NoDerivatives',
4778             'caption.alt.org.cc.misc.abbrev' =>
4779             'Creative Commons Attribution-NonCommercial-NoDerivs',
4780             'caption.alt.org.cc.misc.abbrev_flipped' =>
4781             'Creative Commons Attribution-NoDerivs-NonCommercial',
4782             'caption.alt.org.fedora' =>
4783             'Creative Commons Attribution-NonCommercial-NoDerivs',
4784             tags => [
4785             'family:cc:standard',
4786             'type:versioned:decimal',
4787             ],
4788              
4789             'pat.alt.subject.name' => '(?:'
4790             . $P{cc}
4791             . '[- ](?:'
4792             . $P{cc_by}
4793             . '[- ](?:'
4794             . $P{cc_nc} . '[- ]'
4795             . $P{cc_nd} . '|'
4796             . $P{cc_nd} . '[- ]'
4797             . $P{cc_nc}
4798             . ')|BY[- ]NC[- ]ND|'
4799             . $P{cc_url}
4800             . 'by-nc-nd))',
4801             };
4802              
4803             $RE{cc_by_nc_nd_1} = {
4804             name => 'CC-BY-NC-ND-1.0',
4805             'name.alt.org.cc' => 'CC-BY-ND-NC-1.0',
4806             'name.alt.org.spdx' => 'CC-BY-NC-ND-1.0',
4807             'name.alt.org.wikidata.synth.nogrant' => 'Q47008926',
4808             caption => 'Creative Commons Attribution-NoDerivs-NonCommercial 1.0',
4809             'caption.alt.org.cc' =>
4810             'Creative Commons Attribution-NoDerivs-NonCommercial 1.0 Generic License',
4811             'caption.alt.org.cc.misc.legal' =>
4812             'Attribution-NoDerivs-NonCommercial 1.0',
4813             'caption.alt.org.cc.misc.shortname' => 'CC BY-ND-NC 1.0',
4814             'caption.alt.org.cc.misc.deed' =>
4815             'Attribution-NoDerivs-NonCommercial 1.0 Generic (CC BY-ND-NC 1.0)',
4816             'caption.alt.org.spdx.until.date_20150513' =>
4817             'Creative Commons Attribution Non Commercial No Derivatives 1.0',
4818             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
4819             'Creative Commons Attribution Non Commercial No Derivatives 1.0 Generic',
4820             'caption.alt.org.spdx.since.date_20150730' =>
4821             'Creative Commons Attribution Non Commercial No Derivatives 1.0',
4822             'caption.alt.org.wikidata' =>
4823             'Creative Commons Attribution-NonCommercial-NoDerivs 1.0 Generic',
4824             iri => 'https://creativecommons.org/licenses/by-nd-nc/1.0/',
4825             tags => [
4826             'family:cc:standard',
4827             'type:singleversion:cc_by_nc_nd',
4828             ],
4829             licenseversion => '1.0',
4830              
4831             'pat.alt.subject.license.scope.multisection.part.intro' =>
4832             'Creative Commons Attribution-NoDerivs-NonCommercial 1.0[ ]'
4833             . $cc_intro_1,
4834             };
4835              
4836             $RE{cc_by_nc_nd_2} = {
4837             name => 'CC-BY-NC-ND-2.0',
4838             'name.alt.org.cc.since.date_20040525' => 'CC-BY-NC-ND-2.0',
4839             'name.alt.org.spdx' => 'CC-BY-NC-ND-2.0',
4840             'name.alt.org.wikidata.synth.nogrant' => 'Q47008927',
4841             caption => 'Creative Commons Attribution-NonCommercial-NoDerivs 2.0',
4842             'caption.alt.org.cc' =>
4843             'Creative Commons Attribution-NonCommercial-NoDerivs 2.0 Generic License',
4844             'caption.alt.org.cc.misc.legal' =>
4845             'Attribution-NonCommercial-NoDerivs 2.0',
4846             'caption.alt.org.cc.misc.shortname' => 'CC BY-NC-ND 2.0',
4847             'caption.alt.org.cc.misc.deed' =>
4848             'Attribution-NonCommercial-NoDerivs 2.0 Generic (CC BY-NC-ND 2.0)',
4849             'caption.alt.org.spdx.until.date_20150513' =>
4850             'Creative Commons Attribution Non Commercial No Derivatives 2.0',
4851             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
4852             'Creative Commons Attribution Non Commercial No Derivatives 2.0 Generic',
4853             'caption.alt.org.spdx.since.date_20150730' =>
4854             'Creative Commons Attribution Non Commercial No Derivatives 2.0',
4855             'caption.alt.org.wikidata' =>
4856             'Creative Commons Attribution-NonCommercial-NoDerivs 2.0 Generic',
4857             iri => 'https://creativecommons.org/licenses/by-nc-nd/2.0/',
4858             tags => [
4859             'family:cc:standard',
4860             'type:singleversion:cc_by_nc_nd',
4861             ],
4862             licenseversion => '2.0',
4863              
4864             'pat.alt.subject.license.scope.multisection.part.intro' =>
4865             'Creative Commons Attribution-NonCommercial-NoDerivs 2.0[ ]'
4866             . $cc_intro,
4867             };
4868              
4869             $RE{cc_by_nc_nd_2_5} = {
4870             name => 'CC-BY-NC-ND-2.5',
4871             'name.alt.org.cc.since.date_20050600' => 'CC-BY-NC-ND-2.5',
4872             'name.alt.org.spdx' => 'CC-BY-NC-ND-2.5',
4873             'name.alt.org.wikidata.synth.nogrant' => 'Q19068204',
4874             caption => 'Creative Commons Attribution-NonCommercial-NoDerivs 2.5',
4875             'caption.alt.org.cc' =>
4876             'Creative Commons Attribution-NonCommercial-NoDerivs 2.5 Generic License',
4877             'caption.alt.org.cc.misc.legal' =>
4878             'Attribution-NonCommercial-NoDerivs 2.5',
4879             'caption.alt.org.cc.misc.shortname' => 'CC BY-NC-ND 2.5',
4880             'caption.alt.org.cc.misc.deed' =>
4881             'Attribution-NonCommercial-NoDerivs 2.5 Generic (CC BY-NC-ND 2.5)',
4882             'caption.alt.org.spdx.until.date_20150513' =>
4883             'Creative Commons Attribution Non Commercial No Derivatives 2.5',
4884             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
4885             'Creative Commons Attribution Non Commercial No Derivatives 2.5 Generic',
4886             'caption.alt.org.spdx.since.date_20150730' =>
4887             'Creative Commons Attribution Non Commercial No Derivatives 2.5',
4888             'caption.alt.org.wikidata' =>
4889             'Creative Commons Attribution-NonCommercial-NoDerivs 2.5 Generic',
4890             iri => 'https://creativecommons.org/licenses/by-nc-nd/2.5/',
4891             tags => [
4892             'family:cc:standard',
4893             'type:singleversion:cc_by_nc_nd',
4894             ],
4895             licenseversion => '2.5',
4896              
4897             'pat.alt.subject.license.scope.multisection.part.intro' =>
4898             'Creative Commons Attribution-NonCommercial-NoDerivs 2.5[ ]'
4899             . $cc_intro,
4900             };
4901              
4902             $RE{cc_by_nc_nd_3} = {
4903             name => 'CC-BY-NC-ND-3.0',
4904             'name.alt.org.cc.since.date_20070223' => 'CC-BY-NC-ND-3.0',
4905             'name.alt.org.spdx' => 'CC-BY-NC-ND-3.0',
4906             'name.alt.org.wikidata.synth.nogrant' => 'Q19125045',
4907             caption => 'Creative Commons Attribution-NonCommercial-NoDerivs 3.0',
4908             'caption.alt.org.cc' =>
4909             'Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License',
4910             'caption.alt.org.cc.misc.modern' =>
4911             'Creative Commons Attribution-NonCommercial-NoDerivs 3.0 International License',
4912             'caption.alt.org.cc.misc.legal' =>
4913             'Attribution-NonCommercial-NoDerivs 3.0 Unported',
4914             'caption.alt.org.cc.misc.shortname' => 'CC BY-NC-ND 3.0',
4915             'caption.alt.org.cc.misc.deed' =>
4916             'Attribution-NonCommercial-NoDerivs 3.0 Unported (CC BY-NC-ND 3.0)',
4917             'caption.alt.org.spdx.until.date_20150513' =>
4918             'Creative Commons Attribution Non Commercial No Derivatives 3.0',
4919             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
4920             'Creative Commons Attribution Non Commercial No Derivatives 3.0 Unported',
4921             'caption.alt.org.spdx.since.date_20150730' =>
4922             'Creative Commons Attribution Non Commercial No Derivatives 3.0',
4923             'caption.alt.org.tldr.synth.nogrant' =>
4924             'Creative Commons Attribution NonCommercial NoDerivs (CC-NC-ND)',
4925             'caption.alt.org.wikidata' =>
4926             'Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported',
4927             iri => 'https://creativecommons.org/licenses/by-nc-nd/3.0/',
4928             tags => [
4929             'family:cc:standard',
4930             'type:singleversion:cc_by_nc_nd',
4931             ],
4932             licenseversion => '3.0',
4933              
4934             'pat.alt.subject.license.scope.multisection.part.intro' =>
4935             'Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported[ ]'
4936             . $cc_intro,
4937             };
4938              
4939             $RE{cc_by_nc_nd_4} = {
4940             name => 'CC-BY-NC-ND-4.0',
4941             'name.alt.org.cc.since.date_20131125' => 'CC-BY-NC-ND-4.0',
4942             'name.alt.org.spdx.since.date_20140807' => 'CC-BY-NC-ND-4.0',
4943             'name.alt.org.wikidata.synth.nogrant' => 'Q24082749',
4944             caption => 'Creative Commons Attribution-NonCommercial-NoDerivatives 4.0',
4945             'caption.alt.org.cc' =>
4946             'Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License',
4947             'caption.alt.org.cc.misc.legal' =>
4948             'Attribution-NonCommercial-NoDerivatives 4.0 International',
4949             'caption.alt.org.cc.misc.shortname' => 'CC BY-NC-ND 4.0',
4950             'caption.alt.org.cc.misc.deed' =>
4951             'Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0)',
4952             'caption.alt.org.spdx.until.date_20150513' =>
4953             'Creative Commons Attribution Non Commercial No Derivatives 4.0',
4954             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
4955             'Creative Commons Attribution Non Commercial No Derivatives 4.0 International',
4956             'caption.alt.org.spdx.since.date_20150730' =>
4957             'Creative Commons Attribution Non Commercial No Derivatives 4.0',
4958             'caption.alt.org.wikidata' =>
4959             'Creative Commons Attribution-NonCommercial-NoDerivs 4.0 International',
4960             iri => 'https://creativecommons.org/licenses/by-nc-nd/4.0/',
4961             tags => [
4962             'family:cc:standard',
4963             'type:singleversion:cc_by_nc_nd',
4964             ],
4965             licenseversion => '4.0',
4966              
4967             'pat.alt.subject.license.scope.sentence.part.intro' =>
4968             $cc_by_exercising_you_accept_this
4969             . 'Creative Commons Attribution-NonCommercial-NoDerivatives 4.0',
4970             };
4971              
4972             =item * cc_by_nc_sa
4973              
4974             =item * cc_by_nc_sa_1
4975              
4976             I
4977              
4978             =item * cc_by_nc_sa_2
4979              
4980             I
4981              
4982             =item * cc_by_nc_sa_2_5
4983              
4984             I
4985              
4986             =item * cc_by_nc_sa_3
4987              
4988             I
4989              
4990             =item * cc_by_nc_sa_4
4991              
4992             I
4993              
4994             =cut
4995              
4996             $RE{cc_by_nc_sa} = {
4997             name => 'CC-BY-NC-SA',
4998             'name.alt.org.cc' => 'CC-BY-NC-SA',
4999             'name.alt.org.wikidata.synth.nogrant' => 'Q6998997',
5000             caption => 'Creative Commons Attribution-NonCommercial-ShareAlike',
5001             'caption.alt.org.fedora' =>
5002             'Creative Commons Attribution-NonCommercial-ShareAlike',
5003             'caption.alt.org.wikidata.until.date_20210809' =>
5004             'Creative Commons Attribution–NonCommercial-ShareAlike',
5005             'caption.alt.org.wikidata.since.date_20210809' =>
5006             'Creative Commons Attribution-NonCommercial-ShareAlike',
5007             tags => [
5008             'family:cc:standard',
5009             'type:versioned:decimal',
5010             ],
5011              
5012             'pat.alt.subject.name' => '(?:'
5013             . $P{cc}
5014             . '[- ](?:'
5015             . $P{cc_by} . '[- ]'
5016             . $P{cc_nc} . '[- ]'
5017             . $P{cc_sa}
5018             . '|BY[- ]NC[- ]SA|'
5019             . $P{cc_url}
5020             . 'by-nc-sa))',
5021             };
5022              
5023             $RE{cc_by_nc_sa_1} = {
5024             name => 'CC-BY-NC-SA-1.0',
5025             'name.alt.org.cc' => 'CC-BY-NC-SA-1.0',
5026             'name.alt.org.spdx' => 'CC-BY-NC-SA-1.0',
5027             'name.alt.org.wikidata.synth.nogrant' => 'Q47008954',
5028             caption => 'Creative Commons Attribution-NonCommercial-ShareAlike 1.0',
5029             'caption.alt.org.cc' =>
5030             'Creative Commons Attribution-NonCommercial-ShareAlike 1.0 Generic License',
5031             'caption.alt.org.cc.misc.legal' =>
5032             'Attribution-NonCommercial-ShareAlike 1.0',
5033             'caption.alt.org.cc.misc.shortname' => 'CC BY-NC-SA 1.0',
5034             'caption.alt.org.cc.misc.deed' =>
5035             'Attribution-NonCommercial-ShareAlike 1.0 Generic (CC BY-NC-SA 1.0)',
5036             'caption.alt.org.spdx.until.date_20150513' =>
5037             'Creative Commons Attribution Non Commercial Share Alike 1.0',
5038             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
5039             'Creative Commons Attribution Non Commercial Share Alike 1.0 Generic',
5040             'caption.alt.org.spdx.since.date_20150730' =>
5041             'Creative Commons Attribution Non Commercial Share Alike 1.0',
5042             'caption.alt.org.wikidata' =>
5043             'Creative Commons Attribution-NonCommercial-ShareAlike 1.0 Generic',
5044             iri => 'https://creativecommons.org/licenses/by-nc-sa/1.0/',
5045             tags => [
5046             'family:cc:standard',
5047             'type:singleversion:cc_by_nc_sa',
5048             ],
5049             licenseversion => '1.0',
5050              
5051             'pat.alt.subject.license.scope.multisection.part.intro' =>
5052             'Creative Commons Attribution-NonCommercial-ShareAlike 1.0[ ]'
5053             . $cc_intro_1,
5054             };
5055              
5056             $RE{cc_by_nc_sa_2} = {
5057             name => 'CC-BY-NC-SA-2.0',
5058             'name.alt.org.cc.since.date_20040525' => 'CC-BY-NC-SA-2.0',
5059             'name.alt.org.spdx' => 'CC-BY-NC-SA-2.0',
5060             'name.alt.org.wikidata.synth.nogrant' => 'Q28050835',
5061             caption => 'Creative Commons Attribution-NonCommercial-ShareAlike 2.0',
5062             'caption.alt.org.cc' =>
5063             'Creative Commons Attribution-NonCommercial-ShareAlike 2.0 Generic License',
5064             'caption.alt.org.cc.misc.legal' =>
5065             'Attribution-NonCommercial-ShareAlike 2.0',
5066             'caption.alt.org.cc.misc.shortname' => 'CC BY-NC-SA 2.0',
5067             'caption.alt.org.cc.misc.deed' =>
5068             'Attribution-NonCommercial-ShareAlike 2.0 Generic (CC BY-NC-SA 2.0)',
5069             'caption.alt.org.spdx.until.date_20150513' =>
5070             'Creative Commons Attribution Non Commercial Share Alike 2.0',
5071             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
5072             'Creative Commons Attribution Non Commercial Share Alike 2.0 Generic',
5073             'caption.alt.org.spdx.since.date_20150730' =>
5074             'Creative Commons Attribution Non Commercial Share Alike 2.0',
5075             'caption.alt.org.wikidata' =>
5076             'Creative Commons Attribution-NonCommercial-ShareAlike 2.0 Generic',
5077             iri => 'https://creativecommons.org/licenses/by-nc-sa/2.0/',
5078             tags => [
5079             'family:cc:standard',
5080             'type:singleversion:cc_by_nc_sa',
5081             ],
5082             licenseversion => '2.0',
5083              
5084             'pat.alt.subject.license.scope.multisection.part.intro' =>
5085             'Creative Commons Attribution-NonCommercial-ShareAlike 2.0[ ]'
5086             . $cc_intro,
5087             };
5088              
5089             $RE{cc_by_nc_sa_2_5} = {
5090             name => 'CC-BY-NC-SA-2.5',
5091             'name.alt.org.cc.since.date_20050600' => 'CC-BY-NC-SA-2.5',
5092             'name.alt.org.spdx' => 'CC-BY-NC-SA-2.5',
5093             'name.alt.org.wikidata.synth.nogrant' => 'Q19068212',
5094             caption => 'Creative Commons Attribution-NonCommercial-ShareAlike 2.5',
5095             'caption.alt.org.cc' =>
5096             'Creative Commons Attribution-NonCommercial-ShareAlike 2.5 Generic License',
5097             'caption.alt.org.cc.misc.legal' =>
5098             'Attribution-NonCommercial-ShareAlike 2.5',
5099             'caption.alt.org.cc.misc.shortname' => 'CC BY-NC-SA 2.5',
5100             'caption.alt.org.cc.misc.deed' =>
5101             'Attribution-NonCommercial-ShareAlike 2.5 Generic (CC BY-NC-SA 2.5)',
5102             'caption.alt.org.spdx.until.date_20150513' =>
5103             'Creative Commons Attribution Non Commercial Share Alike 2.5',
5104             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
5105             'Creative Commons Attribution Non Commercial Share Alike 2.5 Generic',
5106             'caption.alt.org.spdx.since.date_20150730' =>
5107             'Creative Commons Attribution Non Commercial Share Alike 2.5',
5108             'caption.alt.org.wikidata' =>
5109             'Creative Commons Attribution-NonCommercial-ShareAlike 2.5 Generic',
5110             iri => 'https://creativecommons.org/licenses/by-nc-sa/2.5/',
5111             tags => [
5112             'family:cc:standard',
5113             'type:singleversion:cc_by_nc_sa',
5114             ],
5115             licenseversion => '2.5',
5116              
5117             'pat.alt.subject.license.scope.multisection.part.intro' =>
5118             'Creative Commons Attribution-NonCommercial-ShareAlike 2.5[ ]'
5119             . $cc_intro,
5120             };
5121              
5122             $RE{cc_by_nc_sa_3} = {
5123             name => 'CC-BY-NC-SA-3.0',
5124             'name.alt.org.cc.since.date_20070223' => 'CC-BY-NC-SA-3.0',
5125             'name.alt.org.spdx' => 'CC-BY-NC-SA-3.0',
5126             'name.alt.org.wikidata.synth.nogrant' => 'Q15643954',
5127             caption => 'Creative Commons Attribution-NonCommercial-ShareAlike 3.0',
5128             'caption.alt.org.cc' =>
5129             'Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License',
5130             'caption.alt.org.cc.misc.modern' =>
5131             'Creative Commons Attribution-NonCommercial-ShareAlike 3.0 International License',
5132             'caption.alt.org.cc.misc.legal' =>
5133             'Attribution-NonCommercial-ShareAlike 3.0 Unported',
5134             'caption.alt.org.cc.misc.shortname' => 'CC BY-NC-SA 3.0',
5135             'caption.alt.org.cc.misc.deed' =>
5136             'Attribution-NonCommercial-ShareAlike 3.0 Unported (CC BY-NC-SA 3.0)',
5137             'caption.alt.org.spdx.until.date_20150513' =>
5138             'Creative Commons Attribution Non Commercial Share Alike 3.0',
5139             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
5140             'Creative Commons Attribution Non Commercial Share Alike 3.0 Unported',
5141             'caption.alt.org.spdx.since.date_20150730' =>
5142             'Creative Commons Attribution Non Commercial Share Alike 3.0',
5143             'caption.alt.org.tldr.synth.nogrant' =>
5144             'Creative Commons Attribution NonCommercial ShareAlike (CC-NC-SA)',
5145             'caption.alt.org.wikidata' =>
5146             'Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported',
5147             iri => 'https://creativecommons.org/licenses/by-nc-sa/3.0/',
5148             tags => [
5149             'family:cc:standard',
5150             'type:singleversion:cc_by_nc_sa',
5151             ],
5152             licenseversion => '3.0',
5153              
5154             'pat.alt.subject.license.scope.multisection.part.intro' =>
5155             'Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported[ ]'
5156             . $cc_intro,
5157             };
5158              
5159             $RE{cc_by_nc_sa_4} = {
5160             name => 'CC-BY-NC-SA-4.0',
5161             'name.alt.org.cc.since.date_20131125' => 'CC-BY-NC-SA-4.0',
5162             'name.alt.org.spdx.since.date_20140807' => 'CC-BY-NC-SA-4.0',
5163             'name.alt.org.wikidata.synth.nogrant' => 'Q42553662',
5164             caption => 'Creative Commons Attribution-NonCommercial-ShareAlike 4.0',
5165             'caption.alt.org.cc' =>
5166             'Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License',
5167             'caption.alt.org.cc.misc.legal' =>
5168             'Attribution-NonCommercial-ShareAlike 4.0 International',
5169             'caption.alt.org.cc.misc.shortname' => 'CC BY-NC-SA 4.0',
5170             'caption.alt.org.cc.misc.deed' =>
5171             'Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)',
5172             'caption.alt.org.spdx.until.date_20150513' =>
5173             'Creative Commons Attribution Non Commercial Share Alike 4.0',
5174             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
5175             'Creative Commons Attribution Non Commercial Share Alike 4.0 International',
5176             'caption.alt.org.spdx.since.date_20150730' =>
5177             'Creative Commons Attribution Non Commercial Share Alike 4.0',
5178             'caption.alt.org.tldr' =>
5179             'Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)',
5180             'caption.alt.org.wikidata' =>
5181             'Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International',
5182             iri => 'https://creativecommons.org/licenses/by-nc-sa/4.0/',
5183             tags => [
5184             'family:cc:standard',
5185             'type:singleversion:cc_by_nc_sa',
5186             ],
5187             licenseversion => '4.0',
5188              
5189             'pat.alt.subject.license.scope.sentence.part.intro' =>
5190             $cc_by_exercising_you_accept_this
5191             . 'Creative Commons Attribution-NonCommercial-ShareAlike 4.0',
5192             };
5193              
5194             =item * cc_by_nd
5195              
5196             =item * cc_by_nd_1
5197              
5198             I
5199              
5200             =item * cc_by_nd_2
5201              
5202             I
5203              
5204             =item * cc_by_nd_2_5
5205              
5206             I
5207              
5208             =item * cc_by_nd_3
5209              
5210             I
5211              
5212             =item * cc_by_nd_4
5213              
5214             I
5215              
5216             =cut
5217              
5218             $RE{cc_by_nd} = {
5219             name => 'CC-BY-ND',
5220             'name.alt.org.cc' => 'CC-BY-ND',
5221             'name.alt.org.fedora' => 'CC-BY-ND',
5222             'name.alt.org.wikidata.synth.nogrant' => 'Q6999319',
5223             caption => 'Creative Commons Attribution-NoDerivatives',
5224             'caption.alt.org.cc.misc.abbrev' =>
5225             'Creative Commons Attribution-NoDerivs',
5226             'caption.alt.org.fedora' => 'Creative Commons Attribution-NoDerivs',
5227             'caption.alt.org.wikidata' =>
5228             'Creative Commons Attribution-NoDerivatives',
5229             tags => [
5230             'family:cc:standard',
5231             'type:versioned:decimal',
5232             ],
5233              
5234             'pat.alt.subject.name' => '(?:'
5235             . $P{cc}
5236             . '[- ](?:'
5237             . $P{cc_by} . '[- ]'
5238             . $P{cc_nd}
5239             . '|BY[- ]ND|'
5240             . $P{cc_url}
5241             . 'by-nd))',
5242             };
5243              
5244             $RE{cc_by_nd_1} = {
5245             name => 'CC-BY-ND-1.0',
5246             'name.alt.org.cc' => 'CC-BY-ND-1.0',
5247             'name.alt.org.spdx' => 'CC-BY-ND-1.0',
5248             'name.alt.org.wikidata.synth.nogrant' => 'Q47008966',
5249             caption => 'Creative Commons Attribution-NoDerivs 1.0',
5250             'caption.alt.org.cc' =>
5251             'Creative Commons Attribution-NoDerivs 1.0 Generic License',
5252             'caption.alt.org.cc.misc.legal' => 'Attribution-NoDerivs 1.0',
5253             'caption.alt.org.cc.misc.shortname' => 'CC BY-ND 1.0',
5254             'caption.alt.org.cc.misc.deed' =>
5255             'Attribution-NoDerivs 1.0 Generic (CC BY-ND 1.0)',
5256             'caption.alt.org.spdx.until.date_20150513' =>
5257             'Creative Commons Attribution No Derivatives 1.0',
5258             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
5259             'Creative Commons Attribution No Derivatives 1.0 Generic',
5260             'caption.alt.org.spdx.since.date_20150730' =>
5261             'Creative Commons Attribution No Derivatives 1.0',
5262             'caption.alt.org.wikidata' =>
5263             'Creative Commons Attribution-NoDerivs 1.0 Generic',
5264             iri => 'https://creativecommons.org/licenses/by-nd/1.0/',
5265             tags => [
5266             'family:cc:standard',
5267             'type:singleversion:cc_by_nd',
5268             ],
5269             licenseversion => '1.0',
5270              
5271             'pat.alt.subject.license.scope.multisection.part.intro' =>
5272             'Creative Commons Attribution-NoDerivs 1.0[ ]' . $cc_intro_1,
5273             };
5274              
5275             $RE{cc_by_nd_2} = {
5276             name => 'CC-BY-ND-2.0',
5277             'name.alt.org.cc.since.date_20040525' => 'CC-BY-ND-2.0',
5278             'name.alt.org.spdx' => 'CC-BY-ND-2.0',
5279             'name.alt.org.wikidata.synth.nogrant' => 'Q35254645',
5280             caption => 'Creative Commons Attribution-NoDerivs 2.0',
5281             'caption.alt.org.cc' =>
5282             'Creative Commons Attribution-NoDerivs 2.0 Generic License',
5283             'caption.alt.org.cc.misc.legal' => 'Attribution-NoDerivs 2.0',
5284             'caption.alt.org.cc.misc.shortname' => 'CC BY-ND 2.0',
5285             'caption.alt.org.cc.misc.deed' =>
5286             'Attribution-NoDerivs 2.0 Generic (CC BY-ND 2.0)',
5287             'caption.alt.org.spdx.until.date_20150513' =>
5288             'Creative Commons Attribution No Derivatives 2.0',
5289             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
5290             'Creative Commons Attribution No Derivatives 2.0 Generic',
5291             'caption.alt.org.spdx.since.date_20150730' =>
5292             'Creative Commons Attribution No Derivatives 2.0',
5293             'caption.alt.org.wikidata' =>
5294             'Creative Commons Attribution-NoDerivs 2.0 Generic',
5295             iri => 'https://creativecommons.org/licenses/by-nd/2.0/',
5296             tags => [
5297             'family:cc:standard',
5298             'type:singleversion:cc_by_nd',
5299             ],
5300             licenseversion => '2.0',
5301              
5302             'pat.alt.subject.license.scope.multisection.part.intro' =>
5303             'Creative Commons Attribution-NoDerivs 2.0[ ]' . $cc_intro,
5304             };
5305              
5306             $RE{cc_by_nd_2_5} = {
5307             name => 'CC-BY-ND-2.5',
5308             'name.alt.org.cc.since.date_20050600' => 'CC-BY-ND-2.5',
5309             'name.alt.org.spdx' => 'CC-BY-ND-2.5',
5310             'name.alt.org.wikidata.synth.nogrant' => 'Q18810338',
5311             caption => 'Creative Commons Attribution-NoDerivs 2.5',
5312             'caption.alt.org.cc' =>
5313             'Creative Commons Attribution-NoDerivs 2.5 Generic License',
5314             'caption.alt.org.cc.misc.legal' => 'Attribution-NoDerivs 2.5',
5315             'caption.alt.org.cc.misc.shortname' => 'CC BY-ND 2.5',
5316             'caption.alt.org.cc.misc.deed' =>
5317             'Attribution-NoDerivs 2.5 Generic (CC BY-ND 2.5)',
5318             'caption.alt.org.spdx.until.date_20150513' =>
5319             'Creative Commons Attribution No Derivatives 2.5',
5320             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
5321             'Creative Commons Attribution No Derivatives 2.5 Generic',
5322             'caption.alt.org.spdx.since.date_20150730' =>
5323             'Creative Commons Attribution No Derivatives 2.5',
5324             'caption.alt.org.wikidata' =>
5325             'Creative Commons Attribution-NoDerivs 2.5 Generic',
5326             iri => 'https://creativecommons.org/licenses/by-nd/2.5/',
5327             tags => [
5328             'family:cc:standard',
5329             'type:singleversion:cc_by_nd',
5330             ],
5331             licenseversion => '2.5',
5332              
5333             'pat.alt.subject.license.scope.multisection.part.intro' =>
5334             'Creative Commons Attribution-NoDerivs 2.5[ ]' . $cc_intro,
5335             };
5336              
5337             $RE{cc_by_nd_3} = {
5338             name => 'CC-BY-ND-3.0',
5339             'name.alt.org.cc.since.date_20070223' => 'CC-BY-ND-3.0',
5340             'name.alt.org.spdx' => 'CC-BY-ND-3.0',
5341             'name.alt.org.wikidata.synth.nogrant' => 'Q18810160',
5342             caption => 'Creative Commons Attribution-NoDerivs 3.0',
5343             'caption.alt.org.cc' =>
5344             'Creative Commons Attribution-NoDerivs 3.0 Unported License',
5345             'caption.alt.org.cc.misc.modern' =>
5346             'Creative Commons Attribution-NoDerivs 3.0 International License',
5347             'caption.alt.org.cc.misc.legal' => 'Attribution-NoDerivs 3.0 Unported',
5348             'caption.alt.org.cc.misc.shortname' => 'CC BY-ND 3.0',
5349             'caption.alt.org.cc.misc.deed' =>
5350             'Attribution-NoDerivs 3.0 Unported (CC BY-ND 3.0)',
5351             'caption.alt.org.spdx.until.date_20150513' =>
5352             'Creative Commons Attribution No Derivatives 3.0',
5353             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
5354             'Creative Commons Attribution No Derivatives 3.0 Unported',
5355             'caption.alt.org.spdx.since.date_20150730' =>
5356             'Creative Commons Attribution No Derivatives 3.0',
5357             'caption.alt.org.tldr.synth.nogrant' =>
5358             'Creative Commons Attribution NoDerivs (CC-ND)',
5359             'caption.alt.org.wikidata' =>
5360             'Creative Commons Attribution-NoDerivs 3.0 Unported',
5361             iri => 'https://creativecommons.org/licenses/by-nd/3.0/',
5362             tags => [
5363             'family:cc:standard',
5364             'type:singleversion:cc_by_nd',
5365             ],
5366             licenseversion => '3.0',
5367              
5368             'pat.alt.subject.license.scope.multisection.part.intro' =>
5369             'Creative Commons Attribution-NoDerivs 3.0 Unported[ ]' . $cc_intro,
5370             };
5371              
5372             $RE{cc_by_nd_4} = {
5373             name => 'CC-BY-ND-4.0',
5374             'name.alt.org.cc.since.date_20131125' => 'CC-BY-ND-4.0',
5375             'name.alt.org.spdx.since.date_20140807' => 'CC-BY-ND-4.0',
5376             'name.alt.org.wikidata.synth.nogrant' => 'Q36795408',
5377             caption => 'Creative Commons Attribution-NoDerivatives 4.0',
5378             'caption.alt.org.cc' =>
5379             'Creative Commons Attribution-NoDerivatives 4.0 International License',
5380             'caption.alt.org.cc.misc.legal' =>
5381             'Attribution-NoDerivatives 4.0 International',
5382             'caption.alt.org.cc.misc.shortname' => 'CC BY-ND 4.0',
5383             'caption.alt.org.cc.misc.deed' =>
5384             'Attribution-NoDerivatives 4.0 International (CC BY-ND 4.0)',
5385             'caption.alt.org.spdx.until.date_20150513' =>
5386             'Creative Commons Attribution No Derivatives 4.0',
5387             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
5388             'Creative Commons Attribution No Derivatives 4.0 International',
5389             'caption.alt.org.spdx.since.date_20150730' =>
5390             'Creative Commons Attribution No Derivatives 4.0',
5391             'caption.alt.org.tldr' =>
5392             'Creative Commons Attribution-NoDerivatives 4.0 International (CC BY-ND 4.0)',
5393             'caption.alt.org.wikidata' =>
5394             'Creative Commons Attribution-NoDerivs 4.0 International',
5395             iri => 'https://creativecommons.org/licenses/by-nd/4.0/',
5396             tags => [
5397             'family:cc:standard',
5398             'type:singleversion:cc_by_nd',
5399             ],
5400             licenseversion => '4.0',
5401              
5402             'pat.alt.subject.license.scope.sentence.part.intro' =>
5403             $cc_by_exercising_you_accept_this
5404             . 'Creative Commons Attribution-NoDerivatives 4.0',
5405             };
5406              
5407             =item * cc_by_sa
5408              
5409             =item * cc_by_sa_1
5410              
5411             I
5412              
5413             =item * cc_by_sa_2
5414              
5415             I
5416              
5417             =item * cc_by_sa_2_5
5418              
5419             I
5420              
5421             =item * cc_by_sa_3
5422              
5423             I
5424              
5425             =item * cc_by_sa_4
5426              
5427             I
5428              
5429             =cut
5430              
5431             $RE{cc_by_sa} = {
5432             name => 'CC-BY-SA',
5433             'name.alt.org.cc' => 'CC-BY-SA',
5434             'name.alt.org.fedora' => 'CC-BY-SA',
5435             'name.alt.org.wikidata.synth.nogrant' => 'Q6905942',
5436             'name.alt.misc.fossology_old' => 'CCA_SA',
5437             caption => 'Creative Commons Attribution-ShareAlike',
5438             tags => [
5439             'family:cc:standard',
5440             'type:versioned:decimal',
5441             ],
5442              
5443             'pat.alt.subject.name' => '(?:'
5444             . $P{cc}
5445             . '[- ](?:'
5446             . $P{cc_by} . '[- ]'
5447             . $P{cc_sa}
5448             . '|BY[- ]SA|'
5449             . $P{cc_url}
5450             . 'by-sa))',
5451             };
5452              
5453             $RE{cc_by_sa_1} = {
5454             name => 'CC-BY-SA-1.0',
5455             'name.alt.org.cc' => 'CC-BY-SA-1.0',
5456             'name.alt.org.spdx' => 'CC-BY-SA-1.0',
5457             'name.alt.org.wikidata.synth.nogrant' => 'Q47001652',
5458             'name.alt.misc.fossology_old' => 'CCA_SA_v1.0',
5459             'name.alt.misc.fossology_old_short' => 'CCA_SA1.0',
5460             caption => 'Creative Commons Attribution-ShareAlike 1.0',
5461             'caption.alt.org.cc' =>
5462             'Creative Commons Attribution-ShareAlike 1.0 Generic License',
5463             'caption.alt.org.cc.misc.legal' => 'Attribution-ShareAlike 1.0',
5464             'caption.alt.org.cc.misc.shortname' => 'CC BY-SA 1.0',
5465             'caption.alt.org.cc.misc.deed' =>
5466             'Attribution-ShareAlike 1.0 Generic (CC BY-SA 1.0)',
5467             'caption.alt.org.spdx.until.date_20150513' =>
5468             'Creative Commons Attribution Share Alike 1.0',
5469             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
5470             'Creative Commons Attribution Share Alike 1.0 Generic',
5471             'caption.alt.org.spdx.since.date_20150730' =>
5472             'Creative Commons Attribution Share Alike 1.0',
5473             'caption.alt.org.wikidata' =>
5474             'Creative Commons Attribution-ShareAlike 1.0 Generic',
5475             iri => 'https://creativecommons.org/licenses/by-sa/1.0/',
5476             tags => [
5477             'family:cc:standard',
5478             'type:singleversion:cc_by_sa',
5479             ],
5480             licenseversion => '1.0',
5481              
5482             'pat.alt.subject.license.scope.multisection.part.intro' =>
5483             'Creative Commons Attribution-ShareAlike 1.0[ ]' . $cc_intro_1,
5484             };
5485              
5486             $RE{cc_by_sa_2} = {
5487             name => 'CC-BY-SA-2.0',
5488             'name.alt.org.cc.since.date_20040525' => 'CC-BY-SA-2.0',
5489             'name.alt.org.spdx' => 'CC-BY-SA-2.0',
5490             'name.alt.org.wikidata.synth.nogrant' => 'Q19068220',
5491             caption => 'Creative Commons Attribution-ShareAlike 2.0',
5492             'caption.alt.org.cc' =>
5493             'Creative Commons Attribution-ShareAlike 2.0 Generic License',
5494             'caption.alt.org.cc.misc.legal' => 'Attribution-ShareAlike 2.0',
5495             'caption.alt.org.cc.misc.shortname' => 'CC BY-SA 2.0',
5496             'caption.alt.org.cc.misc.deed' =>
5497             'Attribution-ShareAlike 2.0 Generic (CC BY-SA 2.0)',
5498             'caption.alt.org.spdx.until.date_20150513' =>
5499             'Creative Commons Attribution Share Alike 2.0',
5500             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
5501             'Creative Commons Attribution Share Alike 2.0 Generic',
5502             'caption.alt.org.spdx.since.date_20150730' =>
5503             'Creative Commons Attribution Share Alike 2.0',
5504             'caption.alt.org.wikidata' =>
5505             'Creative Commons Attribution-ShareAlike 2.0 Generic',
5506             iri => 'https://creativecommons.org/licenses/by-sa/2.0/',
5507             tags => [
5508             'family:cc:standard',
5509             'type:singleversion:cc_by_sa',
5510             ],
5511             licenseversion => '2.0',
5512              
5513             'pat.alt.subject.license.scope.multisection.part.intro' =>
5514             'Creative Commons Attribution-ShareAlike 2.0[ ]' . $cc_intro,
5515             };
5516              
5517             $RE{cc_by_sa_2_5} = {
5518             name => 'CC-BY-SA-2.5',
5519             'name.alt.org.cc.since.date_20050600' => 'CC-BY-SA-2.5',
5520             'name.alt.org.spdx' => 'CC-BY-SA-2.5',
5521             'name.alt.org.wikidata.synth.nogrant' => 'Q19113751',
5522             'name.alt.misc.fossology_old' => 'CCA_SA_v2.5',
5523             'name.alt.misc.fossology_old_short' => 'CCA_SA2.5',
5524             caption => 'Creative Commons Attribution-ShareAlike 2.5',
5525             'caption.alt.org.cc' =>
5526             'Creative Commons Attribution-ShareAlike 2.5 Generic License',
5527             'caption.alt.org.cc.misc.legal' => 'Attribution-ShareAlike 2.5',
5528             'caption.alt.org.cc.misc.shortname' => 'CC BY-SA 2.5',
5529             'caption.alt.org.cc.misc.deed' =>
5530             'Attribution-ShareAlike 2.5 Generic (CC BY-SA 2.5)',
5531             'caption.alt.org.spdx.until.date_20150513' =>
5532             'Creative Commons Attribution Share Alike 2.5',
5533             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
5534             'Creative Commons Attribution Share Alike 2.5 Generic',
5535             'caption.alt.org.spdx.since.date_20150730' =>
5536             'Creative Commons Attribution Share Alike 2.5',
5537             'caption.alt.org.wikidata' =>
5538             'Creative Commons Attribution-ShareAlike 2.5 Generic',
5539             iri => 'https://creativecommons.org/licenses/by-sa/2.5/',
5540             tags => [
5541             'family:cc:standard',
5542             'type:singleversion:cc_by_sa',
5543             ],
5544             licenseversion => '2.5',
5545              
5546             'pat.alt.subject.license.scope.multisection.part.intro' =>
5547             'Creative Commons Attribution-ShareAlike 2.5[ ]' . $cc_intro,
5548             };
5549              
5550             $RE{cc_by_sa_3} = {
5551             name => 'CC-BY-SA-3.0',
5552             'name.alt.org.cc.since.date_20070223' => 'CC-BY-SA-3.0',
5553             'name.alt.org.spdx' => 'CC-BY-SA-3.0',
5554             'name.alt.org.wikidata.synth.nogrant' => 'Q14946043',
5555             'name.alt.misc.fossology_old' => 'CCA_SA_v3.0',
5556             'name.alt.misc.fossology_old_short' => 'CCA_SA3.0',
5557             caption => 'Creative Commons Attribution-ShareAlike 3.0',
5558             'caption.alt.org.cc' =>
5559             'Creative Commons Attribution-ShareAlike 3.0 Unported License',
5560             'caption.alt.org.cc.misc.modern' =>
5561             'Creative Commons Attribution-ShareAlike 3.0 International License',
5562             'caption.alt.org.cc.misc.legal' => 'Attribution-ShareAlike 3.0 Unported',
5563             'caption.alt.org.cc.misc.shortname' => 'CC BY-SA 3.0',
5564             'caption.alt.org.cc.misc.deed' =>
5565             'Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0)',
5566             'caption.alt.org.spdx.until.date_20150513' =>
5567             'Creative Commons Attribution Share Alike 3.0',
5568             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
5569             'Creative Commons Attribution Share Alike 3.0 Unported',
5570             'caption.alt.org.spdx.since.date_20150730' =>
5571             'Creative Commons Attribution Share Alike 3.0',
5572             'caption.alt.org.tldr.synth.nogrant' =>
5573             'Creative Commons Attribution Share Alike (CC-SA)',
5574             'caption.alt.org.wikidata' =>
5575             'Creative Commons Attribution-ShareAlike 3.0 Unported',
5576             iri => 'https://creativecommons.org/licenses/by-sa/3.0/',
5577             tags => [
5578             'family:cc:standard',
5579             'type:singleversion:cc_by_sa',
5580             ],
5581             licenseversion => '3.0',
5582              
5583             'pat.alt.subject.license.scope.multisection.part.intro' =>
5584             'Creative Commons Attribution-ShareAlike 3.0 Unported[ ]'
5585             . $cc_intro,
5586             };
5587              
5588             $RE{cc_by_sa_4} = {
5589             name => 'CC-BY-SA-4.0',
5590             'name.alt.org.cc.since.date_20131125' => 'CC-BY-SA-4.0',
5591             'name.alt.org.spdx.since.date_20140807' => 'CC-BY-SA-4.0',
5592             'name.alt.org.wikidata.synth.nogrant' => 'Q18199165',
5593             caption => 'Creative Commons Attribution-ShareAlike 4.0',
5594             'caption.alt.org.cc' =>
5595             'Creative Commons Attribution-ShareAlike 4.0 International License',
5596             'caption.alt.org.cc.misc.legal' =>
5597             'Attribution-ShareAlike 4.0 International',
5598             'caption.alt.org.cc.misc.shortname' => 'CC BY-SA 4.0',
5599             'caption.alt.org.cc.misc.deed' =>
5600             'Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)',
5601             'caption.alt.org.spdx.until.date_20150513' =>
5602             'Creative Commons Attribution Share Alike 4.0',
5603             'caption.alt.org.spdx.since.date_20150513.until.date_20150730' =>
5604             'Creative Commons Attribution Share Alike 4.0 International',
5605             'caption.alt.org.spdx.since.date_20150730' =>
5606             'Creative Commons Attribution Share Alike 4.0',
5607             'caption.alt.org.tldr' =>
5608             'Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)',
5609             'caption.alt.org.wikidata' =>
5610             'Creative Commons Attribution-ShareAlike 4.0 International',
5611             iri => 'https://creativecommons.org/licenses/by-sa/4.0/',
5612             tags => [
5613             'family:cc:standard',
5614             'type:singleversion:cc_by_sa',
5615             ],
5616             licenseversion => '4.0',
5617              
5618             'pat.alt.subject.license.scope.sentence.part.intro' =>
5619             $cc_by_exercising_you_accept_this
5620             . 'Creative Commons Attribution-ShareAlike 4.0',
5621             };
5622              
5623             =item * cc_cc0
5624              
5625             =item * cc_cc0_1
5626              
5627             I
5628              
5629             =cut
5630              
5631             $RE{cc_cc0} = {
5632             name => 'CC0',
5633             'name.alt.org.cc' => 'CC0',
5634             'name.alt.org.wikidata.synth.nogrant' => 'Q6938433',
5635             caption => 'Creative Commons CC0',
5636             'caption.alt.org.fedora' => 'Creative Commons Zero 1.0 Universal',
5637             'caption.alt.org.wikidata' => 'CC0',
5638             'caption.alt.misc.zero' => 'Creative Commons Zero',
5639             'iri.alt.org.wikipedia' =>
5640             'https://en.wikipedia.org/wiki/Creative_Commons_license#Zero_/_public_domain',
5641             tags => [
5642             'family:cc:zero',
5643             'type:versioned:decimal',
5644             ],
5645              
5646             'pat.alt.subject.name' => '(?:'
5647             . $P{cc}
5648             . '[- ](?:'
5649             . $P{cc_cc0}
5650             . '(?: [(]?["]?CC0["]?[)]?)?|CC0|'
5651             . $P{cc_url_pd}
5652             . 'zero))',
5653             'pat.alt.subject.grant' =>
5654             'has waived all copyright and related or neighboring rights',
5655             };
5656              
5657             $RE{cc_cc0_1} = {
5658             name => 'CC0-1.0',
5659             'name.alt.org.cc' => 'CC0-1.0',
5660             'name.alt.org.spdx' => 'CC0-1.0',
5661             'name.alt.org.tldr' => 'creative-commons-cc0-1.0-universal',
5662             'name.alt.org.tldr.path.short' => 'cc0-1.0',
5663             caption => 'Creative Commons CC0 1.0',
5664             'caption.alt.org.cc.misc.legal' => 'CC0 1.0 Universal',
5665             'caption.alt.org.cc.misc.shortname' => 'CC0 1.0',
5666             'caption.alt.org.cc.misc.deed' =>
5667             'CC0 1.0 Universal (CC0 1.0) Public Domain Dedication',
5668             'caption.alt.org.spdx' => 'Creative Commons Zero v1.0 Universal',
5669             'caption.alt.org.tldr' => 'Creative Commons CC0 1.0 Universal (CC-0)',
5670             'caption.alt.org.trove' => 'CC0 1.0 Universal (CC0 1.0)',
5671             'caption.alt.org.trove.misc.short' => 'CC0 1.0',
5672             iri => 'https://creativecommons.org/publicdomain/zero/1.0/',
5673             'iri.alt.org.wikipedia' =>
5674             'https://en.wikipedia.org/wiki/Creative_Commons_license#Zero_/_public_domain',
5675             tags => [
5676             'family:cc:zero',
5677             'type:singleversion:cc_cc0',
5678             ],
5679             licenseversion => '1.0',
5680              
5681             'pat.alt.subject.grant' =>
5682             'has waived all copyright and related or neighboring rights',
5683             'pat.alt.subject.license.scope.sentence.synth.cc' => '(?:(?:\S+ )?'
5684             . $cc_no_law_firm
5685             . $cc_dist_no_rel_doc
5686             . $cc_info_asis_discl_doc
5687             . '(?: \S+)?[ ])?Statement of Purpose[ ]'
5688             . $laws_confer,
5689             };
5690              
5691             =item * cc_devnations
5692              
5693             I
5694              
5695             =item * cc_devnations_2
5696              
5697             I
5698              
5699             =cut
5700              
5701             $RE{cc_devnations} = {
5702             name => 'CC-DevNations',
5703             'name.alt.org.cc.until.date_20070604' => 'CC-DevNations',
5704             caption => 'Creative Commons Developing Nations',
5705             tags => [
5706             'family:cc:standard',
5707             'type:versioned:decimal',
5708             ],
5709             };
5710              
5711             $RE{cc_devnations_2} = {
5712             name => 'CC-DevNations-2.0',
5713             'name.alt.org.cc.since.date_20040913.until.date_20070604' =>
5714             'CC-DevNations-2.0',
5715             caption => 'Creative Commons Developing Nations 2.0',
5716             'caption.alt.org.cc.synth.nogrant' => 'Developing Nations License',
5717             'caption.alt.org.cc.misc.legal' => 'Developing Nations 2.0',
5718             iri => 'https://creativecommons.org/licenses/devnations/2.0/',
5719             description => <<'END',
5720             Release:
5721              
5722             Expiry:
5723             END
5724             tags => [
5725             'family:cc:standard',
5726             'type:singleversion:cc_devnations',
5727             ],
5728             licenseversion => '2.0',
5729              
5730             'pat.alt.subject.license.scope.multisection.part.intro' =>
5731             'Creative Commons Developing Nations 2.0[ ]' . $cc_intro_1,
5732             'pat.alt.subject.license.scope.sentence.part.definition_c' =>
5733             '["]Developing Nation["] means any nation that is not classified',
5734             };
5735              
5736             =item * cc_nc
5737              
5738             I
5739              
5740             =item * cc_nc_1
5741              
5742             I
5743              
5744             =cut
5745              
5746             $RE{cc_nc} = {
5747             name => 'CC-NC',
5748             'name.alt.org.cc.until.date_20040525' => 'CC-NC',
5749             'name.alt.org.wikidata.synth.nogrant' => 'Q65071627',
5750             caption => 'Creative Commons NonCommercial',
5751             tags => [
5752             'family:cc:standard',
5753             'type:versioned:decimal',
5754             ],
5755             };
5756              
5757             $RE{cc_nc_1} = {
5758             name => 'CC-NC-1.0',
5759             'name.alt.org.cc.until.date_20040525' => 'CC-NC-1.0',
5760             caption => 'Creative Commons NonCommercial 1.0',
5761             'caption.alt.org.cc' =>
5762             'Creative Commons NonCommercial 1.0 Generic License',
5763             'caption.alt.org.cc.misc.legal' => 'NonCommercial 1.0',
5764             'caption.alt.org.cc.misc.shortname' => 'CC NC 1.0',
5765             'caption.alt.org.cc.misc.deed' => 'NonCommercial 1.0 Generic (CC NC 1.0)',
5766             iri => 'https://creativecommons.org/licenses/nc/1.0/',
5767             tags => [
5768             'family:cc:standard',
5769             'type:singleversion:cc_nc',
5770             ],
5771             licenseversion => '1.0',
5772              
5773             'pat.alt.subject.license.scope.multisection.part.intro' =>
5774             'Creative Commons NonCommercial 1.0[ ]' . $cc_intro_1,
5775             };
5776              
5777             =item * cc_nc_sa
5778              
5779             I
5780              
5781             =item * cc_nc_sa_1
5782              
5783             I
5784              
5785             =cut
5786              
5787             $RE{cc_nc_sa} = {
5788             name => 'CC-NC-SA',
5789             'name.alt.org.cc.until.date_20040525' => 'CC-NC-SA',
5790             caption => 'Creative Commons NonCommercial-ShareAlike',
5791             tags => [
5792             'family:cc:standard',
5793             'type:versioned:decimal',
5794             ],
5795             };
5796              
5797             $RE{cc_nc_sa_1} = {
5798             name => 'CC-NC-SA-1.0',
5799             'name.alt.org.cc.until.date_20040525' => 'CC-NC-SA-1.0',
5800             caption => 'Creative Commons NonCommercial-ShareAlike 1.0',
5801             'caption.alt.org.cc' =>
5802             'Creative Commons NonCommercial-ShareAlike 1.0 Generic License',
5803             'caption.alt.org.cc.misc.legal' => 'NonCommercial-ShareAlike 1.0',
5804             'caption.alt.org.cc.misc.shortname' => 'CC NC-SA 1.0',
5805             'caption.alt.org.cc.misc.deed' =>
5806             'NonCommercial-ShareAlike 1.0 Generic (CC NC-SA 1.0)',
5807             iri => 'https://creativecommons.org/licenses/nc-sa/1.0/',
5808             description => <<'END',
5809             Expiry:
5810             END
5811             tags => [
5812             'family:cc:standard',
5813             'type:singleversion:cc_nc_sa',
5814             ],
5815             licenseversion => '1.0',
5816              
5817             'pat.alt.subject.license.scope.multisection.part.intro' =>
5818             'Creative Commons NonCommercial-ShareAlike 1.0[ ]' . $cc_intro_1,
5819             };
5820              
5821             =item * cc_nc_sp
5822              
5823             I
5824              
5825             =item * cc_nc_sp_1
5826              
5827             I
5828              
5829             =cut
5830              
5831             $RE{cc_nc_sp} = {
5832             name => 'CC-NC-SP',
5833             'name.alt.org.cc.since.date_20041112.until.date_20110912' =>
5834             'CC-NC-Sampling+',
5835             caption => 'Creative Commons NonCommercial Sampling Plus',
5836             tags => [
5837             'family:cc:recombo',
5838             'type:versioned:decimal',
5839             ],
5840             };
5841              
5842             $RE{cc_nc_sp_1} = {
5843             name => 'CC-NC-SP-1.0',
5844             'name.alt.org.cc.since.date_20041112.until.date_20110912' =>
5845             'CC-NC-Sampling+-1.0',
5846             caption => 'Creative Commons NonCommercial Sampling Plus 1.0',
5847             'caption.alt.org.cc' => 'NonCommercial Sampling Plus 1.0',
5848             'caption.alt.org.cc.misc.shortname' => 'CC NC-Sampling+ 1.0',
5849             iri => 'https://creativecommons.org/licenses/nc-sampling+/1.0/',
5850             description => <<'END',
5851             Release:
5852              
5853             Expiry:
5854             END
5855             tags => [
5856             'family:cc:recombo',
5857             'type:singleversion:cc_nc_sp',
5858             ],
5859             licenseversion => '1.0',
5860              
5861             'pat.alt.subject.license.scope.multisection.part.intro' =>
5862             'Creative Commons NonCommercial 1.0[ ]' . $cc_intro_1,
5863             };
5864              
5865             =item * cc_nd_nc
5866              
5867             I
5868              
5869             =item * cc_nd_nc_1
5870              
5871             I
5872              
5873             =cut
5874              
5875             $RE{cc_nd_nc} = {
5876             name => 'CC-ND-NC',
5877             'name.alt.org.cc.until.date_20040525' => 'CC-ND-NC',
5878             caption => 'Creative Commons NoDerivs-NonCommercial',
5879             'caption.alt.org.cc.misc.long' =>
5880             'Creative Commons NoDerivatives-NonCommercial',
5881             'caption.alt.org.cc.misc.flipped' =>
5882             'Creative Commons NonCommercial-NoDerivs',
5883             tags => [
5884             'family:cc:standard',
5885             'type:versioned:decimal',
5886             ],
5887             };
5888              
5889             $RE{cc_nd_nc_1} = {
5890             name => 'CC-ND-NC-1.0',
5891             'name.alt.org.cc.until.date_20040525' => 'CC-ND-NC-1.0',
5892             caption => 'Creative Commons NoDerivs-NonCommercial 1.0',
5893             'caption.alt.org.cc' =>
5894             'Creative Commons NoDerivs-NonCommercial 1.0 Generic License',
5895             'caption.alt.org.cc.misc.legal' => 'NoDerivs-NonCommercial 1.0',
5896             'caption.alt.org.cc.misc.shortname' => 'CC ND-NC 1.0',
5897             'caption.alt.org.cc.misc.deed' =>
5898             'NoDerivs-NonCommercial 1.0 Generic (CC ND-NC 1.0)',
5899             iri => 'https://creativecommons.org/licenses/nd-nc/1.0/',
5900             description => <<'END',
5901             Expiry:
5902             END
5903             tags => [
5904             'family:cc:standard',
5905             'type:singleversion:cc_nd_nc',
5906             ],
5907             licenseversion => '1.0',
5908              
5909             'pat.alt.subject.license.scope.multisection.part.intro' =>
5910             'Creative Commons NoDerivs-NonCommercial 1.0[ ]' . $cc_intro_1,
5911             };
5912              
5913             =item * cc_nd
5914              
5915             I
5916              
5917             =item * cc_nd_1
5918              
5919             I
5920              
5921             =cut
5922              
5923             $RE{cc_nd} = {
5924             name => 'CC-ND',
5925             'name.alt.org.cc.until.date_20040525' => 'CC-ND',
5926             caption => 'Creative Commons NoDerivs',
5927             'caption.alt.org.cc.misc.long' => 'Creative Commons NoDerivatives',
5928             tags => [
5929             'family:cc:standard',
5930             'type:versioned:decimal',
5931             ],
5932             };
5933              
5934             $RE{cc_nd_1} = {
5935             name => 'CC-ND-1.0',
5936             'name.alt.org.cc.until.date_20040525' => 'CC-ND-1.0',
5937             caption => 'Creative Commons NoDerivs 1.0',
5938             'caption.alt.org.cc' => 'Creative Commons NoDerivs 1.0 Generic License',
5939             'caption.alt.org.cc.misc.legal' => 'NoDerivs 1.0',
5940             'caption.alt.org.cc.misc.shortname' => 'CC ND 1.0',
5941             'caption.alt.org.cc.misc.deed' => 'NoDerivs 1.0 Generic (CC ND 1.0)',
5942             iri => 'https://creativecommons.org/licenses/nd/1.0/',
5943             description => <<'END',
5944             Expiry:
5945             END
5946             tags => [
5947             'family:cc:standard',
5948             'type:singleversion:cc_nd',
5949             ],
5950             licenseversion => '1.0',
5951              
5952             'pat.alt.subject.license.scope.multisection.part.intro' =>
5953             'Creative Commons NoDerivs 1.0[ ]' . $cc_intro_1,
5954             };
5955              
5956             =item * cc_pd
5957              
5958             I
5959              
5960             =item * cc_pdd
5961              
5962             I
5963              
5964             =item * cc_pddc
5965              
5966             I
5967              
5968             =cut
5969              
5970             $RE{cc_pd} = {
5971             name => 'CC-PD',
5972             'name.alt.org.cc.until.date_20101011' => 'CC-PD',
5973             caption => 'Creative Commons Public Domain',
5974             description => <<'END',
5975             Casual name
5976             for either "Public Domain Dedication and Certification"
5977             or its predecessor "Public Domain Dedication".
5978             END
5979             iri => 'https://creativecommons.org/licenses/publicdomain/',
5980             tags => [
5981             'family:cc:publicdomain',
5982             'type:unversioned',
5983             ],
5984             };
5985              
5986             $RE{cc_pdd} = {
5987             name => 'CC-PDD',
5988             'name.alt.org.cc.until.date_20040525' => 'CC-PDD',
5989             caption => 'Creative Commons Public Domain Dedication',
5990             'caption.alt.org.cc.misc.deed' =>
5991             'Creative Commons Copyright-Only Dedication (based on United States law)',
5992             'iri.alt.archive.time_20040202011504' =>
5993             'https://creativecommons.org/licenses/publicdomain/',
5994             description => <<'END',
5995             Expiry: Possibly with revision 2.0 of the main licenses.
5996            
5997             END
5998             tags => [
5999             'family:cc:publicdomain',
6000             'type:unversioned',
6001             ],
6002              
6003             'pat.alt.subject.license.scope.line.scope.sentence.part.intro' =>
6004             'The person or persons who have associated their work with this document',
6005             };
6006              
6007             $RE{cc_pddc} = {
6008             name => 'CC-PDDC',
6009             'name.alt.org.cc.since.date_20040525.until.date_20101011' => 'CC-PDDC',
6010             'name.alt.org.spdx.since.date_20190710' => 'CC-PDDC',
6011             caption => 'Creative Commons Public Domain Dedication and Certification',
6012             'caption.alt.org.cc.misc.long' =>
6013             'Creative Commons Copyright-Only Dedication (based on United States law) or Public Domain Certification',
6014             description => <<'END',
6015             Expiry: Possibly with revision 2.0 of the main licenses.
6016            
6017              
6018             Expiry:
6019             END
6020             tags => [
6021             'family:cc:publicdomain',
6022             'type:unversioned',
6023             ],
6024              
6025             'pat.alt.subject.license.scope.line.scope.sentence.part.intro' =>
6026             'The person or persons who have associated work with this document',
6027             };
6028              
6029             =item * cc_sa
6030              
6031             I
6032              
6033             =item * cc_sa_1
6034              
6035             I
6036              
6037             =cut
6038              
6039             $RE{cc_sa} = {
6040             name => 'CC-SA',
6041             'name.alt.org.cc.until.date_20040525' => 'CC-SA',
6042             caption => 'Creative Commons ShareAlike',
6043             tags => [
6044             'family:cc:standard',
6045             'type:versioned:decimal',
6046             ],
6047             };
6048              
6049             $RE{cc_sa_1} = {
6050             name => 'CC-SA-1.0',
6051             'name.alt.org.cc.until.date_20040525' => 'CC-SA-1.0',
6052             'name.alt.org.wikidata.synth.nogrant' => 'Q75209430',
6053             caption => 'Creative Commons ShareAlike 1.0',
6054             'caption.alt.org.cc' => 'Creative Commons ShareAlike 1.0 Generic License',
6055             'caption.alt.org.wikidata' => 'Creative Commons ShareAlike 1.0',
6056             'caption.alt.org.cc.misc.legal' => 'ShareAlike 1.0',
6057             'caption.alt.org.cc.misc.shortname' => 'CC SA 1.0',
6058             'caption.alt.org.cc.misc.deed' => 'ShareAlike 1.0 Generic (CC SA 1.0)',
6059             iri => 'https://creativecommons.org/licenses/sa/1.0/',
6060             description => <<'END',
6061             Expiry:
6062             END
6063             tags => [
6064             'family:cc:standard',
6065             'type:singleversion:cc_sa',
6066             ],
6067             licenseversion => '1.0',
6068              
6069             'pat.alt.subject.license.scope.multisection.part.intro' =>
6070             'Creative Commons ShareAlike 1.0[ ]' . $cc_intro_1,
6071             };
6072              
6073             =item * cc_sampling
6074              
6075             I
6076              
6077             =item * cc_sampling_1
6078              
6079             I
6080              
6081             =cut
6082              
6083             $RE{cc_sampling} = {
6084             name => 'CC-Sampling',
6085             'name.alt.org.cc.since.date_20031216.until.date_20070604' =>
6086             'CC-Sampling',
6087             caption => 'Creative Commons Sampling',
6088             tags => [
6089             'family:cc:recombo',
6090             'type:versioned:decimal',
6091             ],
6092             };
6093              
6094             $RE{cc_sampling_1} = {
6095             name => 'CC-Sampling-1.0',
6096             'name.alt.org.cc.since.date_20031216.until.date_20070604' =>
6097             'CC-Sampling-1.0',
6098             'name.alt.org.wikidata.synth.nogrant' => 'Q100509915',
6099             caption => 'Creative Commons Sampling 1.0',
6100             'caption.alt.org.cc.synth.nogrant' => 'Sampling 1.0',
6101             'caption.alt.org.wikidata' => 'Sampling 1.0',
6102             iri => 'https://creativecommons.org/licenses/sampling/1.0/',
6103             description => <<'END',
6104             Release:
6105              
6106             Rebranding as recombo:
6107              
6108             Use with recombo logo:
6109              
6110             Expiry:
6111             END
6112             tags => [
6113             'family:cc:recombo',
6114             'type:singleversion:cc_sampling',
6115             ],
6116             licenseversion => '1.0',
6117              
6118             'pat.alt.subject.license.scope.multisection.part.intro' =>
6119             'Creative Commons Sampling 1.0[ ]' . $cc_intro_1,
6120             'pat.alt.subject.license.scope.line.scope.paragraph.part.part3a' =>
6121             'Re-creativity[. ]You may',
6122             };
6123              
6124             =item * cc_sp
6125              
6126             =item * cc_sp_1
6127              
6128             I
6129              
6130             =cut
6131              
6132             $RE{cc_sp} = {
6133             name => 'CC-SP',
6134             'name.alt.org.cc.since.date_20031216.until.date_20110912' =>
6135             'CC-Sampling+',
6136             caption => 'Creative Commons Sampling Plus',
6137             tags => [
6138             'family:cc:recombo',
6139             'type:versioned:decimal',
6140             ],
6141              
6142             'pat.alt.subject.name' => '(?:'
6143             . $P{cc}
6144             . '[- ](?:'
6145             . $P{cc_sp} . '|'
6146             . $P{cc_url}
6147             . 'sampling\+))',
6148             };
6149              
6150             $RE{cc_sp_1} = {
6151             name => 'CC-SP-1.0',
6152             'name.alt.org.cc.since.date_20031216.until.date_20110912' =>
6153             'CC-Sampling+-1.0',
6154             'name.alt.org.wikidata.synth.nogrant' => 'Q26913038',
6155             caption => 'Creative Commons Sampling Plus 1.0',
6156             'caption.alt.org.cc' => 'Sampling Plus 1.0',
6157             'caption.alt.org.cc.misc.shortname.synth.nogrant' => 'CC Sampling+ 1.0',
6158             'caption.alt.org.fedora' => 'Creative Commons Sampling Plus 1.0',
6159             iri => 'https://creativecommons.org/licenses/sampling+/1.0/',
6160             description => <<'END',
6161             Release:
6162              
6163             Expiry:
6164             END
6165             tags => [
6166             'family:cc:recombo',
6167             'type:singleversion:cc_sp',
6168             ],
6169             licenseversion => '1.0',
6170              
6171             'pat.alt.subject.license.scope.multisection.part.intro' =>
6172             'Creative Commons Sampling Plus 1.0[ ]' . $cc_intro_1,
6173             'pat.alt.subject.license.scope.line.scope.sentence.part.part3a' =>
6174             'Re-creativity permitted',
6175             };
6176              
6177             =item * cddl
6178              
6179             =item * cddl_1
6180              
6181             I
6182              
6183             =item * cddl_1_1
6184              
6185             I
6186              
6187             =cut
6188              
6189             $RE{cddl} = {
6190             name => 'CDDL',
6191             'name.alt.org.fedora.iri.self' => 'CDDL',
6192             'name.alt.org.wikidata.synth.nogrant' => 'Q304628',
6193             caption => 'Common Development and Distribution License',
6194             'caption.alt.org.wikipedia' =>
6195             'Common Development and Distribution License',
6196             tags => [
6197             'type:versioned:decimal',
6198             ],
6199             };
6200              
6201             $RE{cddl_1} = {
6202             name => 'CDDL-1.0',
6203             'name.alt.org.fedora' => 'CDDL-1.0',
6204             'name.alt.org.osi' => 'CDDL-1.0',
6205             'name.alt.org.osi.iri.stem_plain.until.date_20110430.archive.time_20110426131805'
6206             => 'cddl1',
6207             'name.alt.org.spdx' => 'CDDL-1.0',
6208             'name.alt.org.tldr.synth.nogrant' =>
6209             'common-development-and-distribution-license-(cddl-1.0)-explained',
6210             'name.alt.org.tldr.path.short' => 'cddl',
6211             'name.alt.org.wikidata.synth.nogrant' => 'Q26996811',
6212             'name.alt.misc.fossology_old' => 'CDDL_v1.0',
6213             'name.alt.misc.fossology_old_short' => 'CDDL1.0',
6214             caption => 'Common Development and Distribution License 1.0',
6215             'caption.alt.org.fedora' => 'Common Development Distribution License 1.0',
6216             'caption.alt.org.fedora.iri.cddl' => 'CDDL 1.0',
6217             'caption.alt.org.osi' =>
6218             'Common Development and Distribution License 1.0',
6219             'caption.alt.org.tldr' =>
6220             'Common Development and Distribution License (CDDL-1.0)',
6221             'caption.alt.org.trove' =>
6222             'Common Development and Distribution License 1.0 (CDDL-1.0)',
6223             'caption.alt.org.wikidata' =>
6224             'Common Development and Distribution License version 1.0',
6225             tags => [
6226             'type:singleversion:cddl',
6227             ],
6228             licenseversion => '1.0',
6229              
6230             'pat.alt.subject.license' =>
6231             'Sun Microsystems, Inc[.] is the initial license steward',
6232             };
6233              
6234             $RE{cddl_1_1} = {
6235             name => 'CDDL-1.1',
6236             'name.alt.org.fedora' => 'CDDL-1.1',
6237             'name.alt.org.spdx' => 'CDDL-1.1',
6238             'name.alt.org.wikidata.synth.nogrant' => 'Q26996804',
6239             caption => 'Common Development and Distribution License 1.1',
6240             'caption.alt.org.fedora' => 'Common Development Distribution License 1.1',
6241             'caption.alt.org.fedora.iri.cddl' => 'CDDL 1.1',
6242             'caption.alt.org.wikidata' =>
6243             'Common Development and Distribution License version 1.1',
6244             tags => [
6245             'type:singleversion:cddl',
6246             ],
6247             licenseversion => '1.1',
6248              
6249             'pat.alt.subject.license.scope.line.scope.paragraph' =>
6250             'Oracle is the initial license steward',
6251             };
6252              
6253             =item * cecill
6254              
6255             =item * cecill_1
6256              
6257             =item * cecill_1_1
6258              
6259             =item * cecill_2
6260              
6261             =item * cecill_2_1
6262              
6263             =cut
6264              
6265             $RE{cecill} = {
6266             name => 'CECILL',
6267             'name.alt.org.wikidata.synth.nogrant' => 'Q1052189',
6268             'name.alt.misc.short_camelcase' => 'CeCILL',
6269             caption => 'CeCILL License',
6270             'caption.alt.misc.last.lang.en' =>
6271             'FREE SOFTWARE LICENSE AGREEMENT CeCILL',
6272             'caption.alt.org.steward.lang.en' =>
6273             'CeCILL FREE SOFTWARE LICENSE AGREEMENT',
6274             'caption.alt.org.steward.lang.fr' =>
6275             'CONTRAT DE LICENCE DE LOGICIEL LIBRE CeCILL',
6276             'caption.alt.org.wikidata' => 'CeCILL',
6277             'caption.alt.org.wikipedia' => 'CeCILL',
6278             'iri.alt.path.sloppy' => 'http://www.cecill.info',
6279             tags => [
6280             'type:versioned:decimal',
6281             ],
6282              
6283             'pat.alt.subject.name.lang.fr' => '(?:la )?licence CeCILL',
6284             'pat.alt.subject.grant.lang.fr' =>
6285             'Ce logiciel est r[é]gi par la licence CeCILL soumise',
6286             '_pat.alt.subject.license.lang.en' => [
6287             'Version 1\.1 of 10[/]26[/]2004',
6288             'Version 2\.0 dated 2006[-]09[-]05',
6289             'Version 2\.1 dated 2013[-]06[-]21',
6290             ],
6291             '_pat.alt.subject.license.lang.fr' => [
6292             'Version 1 du 21[/]06[/]2004',
6293             'Version 2\.0 du 2006[-]09[-]05',
6294             'Version 2\.1 du 2013[-]06[-]21',
6295             ],
6296             };
6297              
6298             $RE{cecill_1} = {
6299             name => 'CECILL-1.0',
6300             'name.alt.org.spdx' => 'CECILL-1.0',
6301             'name.alt.misc.fossology_old' => 'CeCILL1.0',
6302             'name.alt.misc.short_camelcase' => 'CeCILL-1.0',
6303             caption => 'CeCILL Free Software License Agreement v1.0',
6304             'caption.alt.org.steward' =>
6305             'CONTRAT DE LICENCE DE LOGICIEL LIBRE CeCILL Version 1',
6306             'caption.alt.org.tldr' =>
6307             'CeCILL Free Software License Agreement v1.0 (CECILL-1.0)',
6308             'caption.alt.misc.short' => 'CeCILL License 1.0',
6309             iri => 'https://cecill.info/licences/Licence_CeCILL_V1-fr.html',
6310             'iri.alt.format.txt' =>
6311             'https://cecill.info/licences/Licence_CeCILL_V1-fr.txt',
6312             'iri.alt.format.pdf' =>
6313             'https://cecill.info/licences/Licence_CeCILL-V1_VF.pdf',
6314             tags => [
6315             'type:singleversion:cecill',
6316             ],
6317             licenseversion => '1.0',
6318              
6319             'pat.alt.subject.license.lang.fr' => 'Version 1 du 21[/]06[/]2004',
6320             };
6321              
6322             $RE{cecill_1_1} = {
6323             name => 'CECILL-1.1',
6324             'name.alt.org.fedora.synth.nogrant' => 'CeCILL',
6325             'name.alt.org.spdx' => 'CECILL-1.1',
6326             'name.alt.misc.fossology_old' => 'CeCILL_v1.1',
6327             'name.alt.misc.fossology_old_short' => 'CeCILL1.1',
6328             'name.alt.misc.short_camelcase' => 'CeCILL-1.1',
6329             caption => 'CeCILL Free Software License Agreement v1.1',
6330             'caption.alt.org.fedora' => 'CeCILL License v1.1',
6331             'caption.alt.org.steward' =>
6332             'FREE SOFTWARE LICENSING AGREEMENT CeCILL Version 1.1',
6333             'caption.alt.org.tldr' =>
6334             'CeCILL Free Software License Agreement v1.1 (CECILL-1.1)',
6335             'caption.alt.misc.short' => 'CeCILL License 1.1',
6336             iri => 'https://cecill.info/licences/Licence_CeCILL_V1.1-US.html',
6337             'iri.alt.format.txt' =>
6338             'https://cecill.info/licences/Licence_CeCILL_V1.1-US.txt',
6339             'iri.alt.format.pdf' =>
6340             'https://cecill.info/licences/Licence_CeCILL-V1.1-VA.pdf',
6341             tags => [
6342             'type:singleversion:cecill',
6343             ],
6344             licenseversion => '1.1',
6345              
6346             'pat.alt.subject.license.part.header' => 'Version 1\.1 of 10[/]26[/]2004',
6347             'pat.alt.subject.license.scope.sentence.part.part1_initial_sw_en' =>
6348             'for the first time '
6349             . 'under the terms and conditions of the Agreement',
6350             'pat.alt.subject.license.scope.sentence.part.part2_en' =>
6351             'Agreement is to grant users the right '
6352             . 'to modify and redistribute the software governed',
6353             'pat.alt.subject.license.scope.sentence.part.part5_3_en' =>
6354             'redistribute copies '
6355             . 'of the modified or unmodified Software to third parties ',
6356             'pat.alt.subject.license.scope.sentence.part.part5_3_2_en' =>
6357             'to all the provisions hereof',
6358             'pat.alt.subject.license.scope.sentence.part.part5_3_3_en' =>
6359             'may be distributed under a separate Licensing Agreement',
6360             'pat.alt.subject.license.part.part5_3_4_en' =>
6361             'is subject to the provisions of the GPL License',
6362             'pat.alt.subject.license.scope.sentence.part.part6_1_1_en' =>
6363             'compliance with the terms and conditions '
6364             . 'under which the Holder has elected to distribute its work '
6365             . 'and no one shall be entitled to and',
6366             'pat.alt.subject.license.scope.sentence.part.part6_1_2_en' =>
6367             'the Agreement, for the duration',
6368             'pat.alt.subject.license.scope.sentence.part.part7_2_en' =>
6369             'shall be subject to a separate',
6370             'pat.alt.subject.license.part.part8_1_en' =>
6371             '(?:Subject to the provisions of Article 8\.2, should'
6372             . '|subject to providing evidence of it)',
6373             'pat.alt.subject.license.scope.sentence.part.part10_2_en' =>
6374             'all licenses that it may have granted '
6375             . 'prior to termination of the Agreement '
6376             . 'shall remain valid subject to their',
6377             'pat.alt.subject.license.scope.sentence.part.part12_3_en' =>
6378             'Any or all Software distributed '
6379             . 'under a given version of the Agreement '
6380             . 'may only be subsequently distributed '
6381             . 'under the same version of the Agreement, '
6382             . 'or a subsequent version, '
6383             . 'subject to the provisions of article',
6384             'pat.alt.subject.license.scope.paragraph.part.part13_1_en' =>
6385             'The Agreement is governed by French law[. ]'
6386             . 'The Parties agree to endeavor to settle',
6387             };
6388              
6389             $RE{cecill_2} = {
6390             name => 'CECILL-2.0',
6391             'name.alt.org.fedora.synth.nogrant' => 'CeCILL',
6392             'name.alt.org.spdx' => 'CECILL-2.0',
6393             'name.alt.org.tldr' => 'cecill-v2',
6394             'name.alt.misc.fossology_old' => 'CeCILL_v2.0',
6395             'name.alt.misc.fossology_old_short' => 'CeCILL2.0',
6396             'name.alt.misc.fossology_old_shorter' => 'CeCILL_v2',
6397             'name.alt.misc.short_camelcase' => 'CeCILL-2.0',
6398             caption => 'CeCILL Free Software License Agreement v2.0',
6399             'caption.alt.org.fedora' => 'CeCILL License v2',
6400             'caption.alt.org.steward.lang.en' =>
6401             'CeCILL FREE SOFTWARE LICENSE AGREEMENT Version 2.0',
6402             'caption.alt.org.steward.lang.fr' =>
6403             'CONTRAT DE LICENCE DE LOGICIEL LIBRE CeCILL Version 2.0',
6404             'caption.alt.org.tldr' =>
6405             'CeCILL Free Software License Agreement v2.0 (CECILL-2.0)',
6406             'caption.alt.misc.short' => 'CeCILL License 2.0',
6407             'iri.alt.lang.en' =>
6408             'https://cecill.info/licences/Licence_CeCILL_V2-en.html',
6409             'iri.alt.lang.fr' =>
6410             'https://cecill.info/licences/Licence_CeCILL_V2-fr.html',
6411             'iri.alt.format.txt.lang.en' =>
6412             'https://cecill.info/licences/Licence_CeCILL_V2-en.txt',
6413             'iri.alt.format.txt.lang.fr' =>
6414             'https://cecill.info/licences/Licence_CeCILL_V2-fr.txt',
6415             tags => [
6416             'type:singleversion:cecill',
6417             ],
6418             licenseversion => '2.0',
6419              
6420             'pat.alt.subject.license.lang.en' => 'Version 2\.0 dated 2006[-]09[-]05',
6421             'pat.alt.subject.license.lang.fr' => 'Version 2\.0 du 2006[-]09[-]05',
6422             'pat.alt.subject.license.part.gpl' =>
6423             'subject to the provisions of one of the versions of the GNU GPL, and',
6424             };
6425              
6426             $RE{cecill_2_1} = {
6427             name => 'CECILL-2.1',
6428             'name.alt.org.osi' => 'CECILL-2.1',
6429             'name.alt.org.spdx.since.date_20150930' => 'CECILL-2.1',
6430             'name.alt.org.trove' => 'CeCILL-2.1',
6431             caption => 'CeCILL Free Software License Agreement v2.1',
6432             'caption.alt.org.steward.lang.en' =>
6433             'CeCILL FREE SOFTWARE LICENSE AGREEMENT Version 2.1',
6434             'caption.alt.org.steward.lang.fr' =>
6435             'CONTRAT DE LICENCE DE LOGICIEL LIBRE CeCILL Version 2.1',
6436             'caption.alt.org.osi' =>
6437             'Cea Cnrs Inria Logiciel Libre License, version 2.1',
6438             'caption.alt.org.osi.misc.list' => 'CeCILL License 2.1',
6439             'caption.alt.org.trove' =>
6440             'CEA CNRS Inria Logiciel Libre License, version 2.1 (CeCILL-2.1)',
6441             'iri.alt.lang.en' =>
6442             'https://cecill.info/licences/Licence_CeCILL_V2.1-en.html',
6443             'iri.alt.lang.fr' =>
6444             'https://cecill.info/licences/Licence_CeCILL_V2.1-fr.html',
6445             'iri.alt.format.txt.lang.en' =>
6446             'https://cecill.info/licences/Licence_CeCILL_V2.1-en.txt',
6447             'iri.alt.format.txt.lang.fr' =>
6448             'https://cecill.info/licences/Licence_CeCILL_V2.1-fr.txt',
6449             tags => [
6450             'type:singleversion:cecill',
6451             ],
6452             licenseversion => '2.1',
6453              
6454             'pat.alt.subject.grant.lang.en' => 'governed by the CeCILL ?license',
6455             'pat.alt.subject.grant.lang.fr' =>
6456             'Ce logiciel est r[é]gi par la licence CeCILL soumise',
6457             'pat.alt.subject.license.lang.en' => 'Version 2\.1 dated 2013[-]06[-]21',
6458             'pat.alt.subject.license.lang.fr' => 'Version 2\.1 du 2013[-]06[-]21',
6459             'pat.alt.subject.license.part.gpl' =>
6460             'subject to the provisions of one of the versions of the GNU GPL, GNU',
6461             };
6462              
6463             =item * cecill_b
6464              
6465             =item * cecill_b_1
6466              
6467             I
6468              
6469             =cut
6470              
6471             $RE{cecill_b} = {
6472             name => 'CECILL-B',
6473             'name.alt.org.fedora' => 'CeCILL-B',
6474             'name.alt.misc.short_camelcase' => 'CeCILL-B',
6475             caption => 'CeCILL-B License',
6476             'caption.alt.org.steward.lang.en' =>
6477             'CeCILL-B FREE SOFTWARE LICENSE AGREEMENT',
6478             'caption.alt.org.steward.lang.fr' =>
6479             'CONTRAT DE LICENCE DE LOGICIEL LIBRE CeCILL-B',
6480             'caption.alt.org.trove' =>
6481             'CeCILL-B Free Software License Agreement (CECILL-B)',
6482             'iri.alt.lang.en' =>
6483             'https://cecill.info/licences/Licence_CeCILL-B_V1-en.html',
6484             'iri.alt.lang.fr' =>
6485             'https://cecill.info/licences/Licence_CeCILL-B_V1-en.html',
6486             'iri.alt.format.txt.lang.en' =>
6487             'https://cecill.info/licences/Licence_CeCILL-B_V1-en.txt',
6488             'iri.alt.format.txt.lang.fr' =>
6489             'https://cecill.info/licences/Licence_CeCILL-B_V1-fr.txt',
6490             tags => [
6491             'type:versioned:decimal',
6492             ],
6493              
6494             'pat.alt.subject.grant.lang.fr' =>
6495             'Ce logiciel est r[é]gi par la licence CeCILL-B soumise',
6496             'pat.alt.subject.license.lang.en' =>
6497             'The exercising of this freedom is conditional upon a strong',
6498             'pat.alt.subject.license.lang.fr' =>
6499             'aux utilisateurs une tr[è]s large libert[é] de',
6500             };
6501              
6502             $RE{cecill_b_1} = {
6503             name => 'CECILL-B-1.0',
6504             'name.alt.misc.short_camelcase' => 'CeCILL-B-1.0',
6505             'name.alt.org.spdx.synth.nogrant' => 'CECILL-B',
6506             caption => 'CeCILL-B Free Software License Agreement v1.0',
6507             'caption.alt.org.steward.lang.en' =>
6508             'CeCILL-B FREE SOFTWARE LICENSE AGREEMENT Version 1.0',
6509             'caption.alt.org.steward.lang.fr' =>
6510             'CONTRAT DE LICENCE DE LOGICIEL LIBRE CeCILL-B Version 1.0',
6511             'caption.alt.org.spdx.synth.nogrant' =>
6512             'CeCILL-B Free Software License Agreement',
6513             'caption.alt.misc.short' => 'CeCILL-B License 1.0',
6514             'iri.alt.lang.en' =>
6515             'https://cecill.info/licences/Licence_CeCILL-B_V1-en.html',
6516             'iri.alt.lang.fr' =>
6517             'https://cecill.info/licences/Licence_CeCILL-B_V1-en.html',
6518             'iri.alt.format.txt.lang.en' =>
6519             'https://cecill.info/licences/Licence_CeCILL-B_V1-en.txt',
6520             'iri.alt.format.txt.lang.fr' =>
6521             'https://cecill.info/licences/Licence_CeCILL-B_V1-fr.txt',
6522             tags => [
6523             'type:singleversion:cecill_b',
6524             ],
6525             licenseversion => '1.0',
6526              
6527             'pat.alt.subject.grant.lang.en' => 'governed by the CeCILL-B license',
6528             'pat.alt.subject.grant.lang.fr' =>
6529             'Ce logiciel est r[é]gi par la licence CeCILL-B soumise',
6530             'pat.alt.subject.license.lang.en' =>
6531             'The exercising of this freedom is conditional upon a strong',
6532             'pat.alt.subject.license.lang.fr' =>
6533             'aux utilisateurs une tr[è]s large libert[é] de',
6534             };
6535              
6536             =item * cecill_c
6537              
6538             =item * cecill_c_1
6539              
6540             I
6541              
6542             =cut
6543              
6544             # TODO: synthesize patterns (except name) from cecill_c_1: they are all duplicates
6545             $RE{cecill_c} = {
6546             name => 'CECILL-C',
6547             'name.alt.org.fedora' => 'CeCILL-C',
6548             'name.alt.misc.short_camelcase' => 'CeCILL-C',
6549             caption => 'CeCILL-C License',
6550             'caption.alt.org.steward.lang.en' =>
6551             'CeCILL-C FREE SOFTWARE LICENSE AGREEMENT',
6552             'caption.alt.org.steward.lang.fr' =>
6553             'CONTRAT DE LICENCE DE LOGICIEL LIBRE CeCILL-C',
6554             'caption.alt.org.trove' =>
6555             'CeCILL-C Free Software License Agreement (CECILL-C)',
6556             'iri.alt.lang.en' =>
6557             'https://cecill.info/licences/Licence_CeCILL-C_V1-en.html',
6558             'iri.alt.lang.fr' =>
6559             'https://cecill.info/licences/Licence_CeCILL-C_V1-fr.html',
6560             tags => [
6561             'type:versioned:decimal',
6562             ],
6563              
6564             'pat.alt.subject.grant.lang.fr' =>
6565             'Ce logiciel est r[é]gi par la licence CeCILL-C soumise',
6566             '_pat.alt.subject.license.lang.en' => [
6567             'The exercising of this right is conditional upon the obligation',
6568             'the Software modified or not;',
6569             ],
6570             '_pat.alt.subject.license.lang.fr' => [
6571             'aux utilisateurs la libert[é] de modifier et',
6572             'Logiciel modifi[é] ou non;',
6573             ],
6574             'pat.alt.subject.license.lang.en' => 'the Software modified or not;[ ]'
6575             . '[*)]to ensure that use of',
6576             'pat.alt.subject.license.lang.fr' => 'Logiciel modifi[é] ou non;[ ]'
6577             . '[*)][à] faire en sorte que',
6578             };
6579              
6580             $RE{cecill_c_1} = {
6581             name => 'CECILL-C-1.0',
6582             'name.alt.org.spdx.synth.nogrant' => 'CECILL-C',
6583             'name.alt.misc.short_camelcase' => 'CeCILL-C-1.0',
6584             caption => 'CeCILL-C Free Software License Agreement v1.0',
6585             'caption.alt.org.steward.lang.en' =>
6586             'CeCILL-C FREE SOFTWARE LICENSE AGREEMENT Version 1.0',
6587             'caption.alt.org.steward.lang.fr' =>
6588             'CONTRAT DE LICENCE DE LOGICIEL LIBRE CeCILL-C Version 1.0',
6589             'caption.alt.org.spdx.synth.nogrant' =>
6590             'CeCILL-C Free Software License Agreement',
6591             'caption.alt.misc.short' => 'CeCILL-C License 1.0',
6592             'iri.alt.lang.en' =>
6593             'https://cecill.info/licences/Licence_CeCILL-C_V1-en.html',
6594             'iri.alt.lang.fr' =>
6595             'https://cecill.info/licences/Licence_CeCILL-C_V1-fr.html',
6596             'iri.alt.format.txt.lang.en' =>
6597             'https://cecill.info/licences/Licence_CeCILL-C_V1-en.txt',
6598             'iri.alt.format.txt.lang.fr' =>
6599             'https://cecill.info/licences/Licence_CeCILL-C_V1-fr.txt',
6600             tags => [
6601             'type:singleversion:cecill_c',
6602             ],
6603             licenseversion => '1.0',
6604              
6605             '_pat.alt.subject.grant.lang.en' => [
6606             'under the terms of the CeCILL-C license',
6607             'governed by the CeCILL-C license',
6608             ],
6609             'pat.alt.subject.grant.lang.fr' =>
6610             'Ce logiciel est r[é]gi par la licence CeCILL-C soumise',
6611             '_pat.alt.subject.license.lang.en' => [
6612             'The exercising of this right is conditional upon the obligation',
6613             'the Software modified or not;',
6614             ],
6615             '_pat.alt.subject.license.lang.fr' => [
6616             'aux utilisateurs la libert[é] de modifier et',
6617             'Logiciel modifi[é] ou non;',
6618             ],
6619             'pat.alt.subject.license.scope.all.lang.en' =>
6620             'the Software modified or not;[ ]' . '[*)]to ensure that use of',
6621             'pat.alt.subject.license.scope.all.lang.fr' =>
6622             'Logiciel modifi[é] ou non;[ ]' . '[*)][à] faire en sorte que',
6623             };
6624              
6625             =item * cnri_jython
6626              
6627             =cut
6628              
6629             $RE{cnri_jython} = {
6630             name => 'CNRI-Jython',
6631             'name.alt.org.fedora' => 'JPython',
6632             'name.alt.org.spdx.since.date_20150730' => 'CNRI-Jython',
6633             caption => 'CNRI Jython License',
6634             'caption.alt.org.fedora' => 'JPython License (old)',
6635             'caption.alt.org.tldr' => 'CNRI Jython License',
6636             'caption.alt.org.steward' => 'JPython License',
6637             iri => 'http://www.jython.org/license.html',
6638              
6639             tags => [
6640             'type:unversioned',
6641             ],
6642              
6643             'pat.alt.subject.license' =>
6644             '[*)]CNRI is making the Software available to Licensee',
6645             };
6646              
6647             =item * cnri_python
6648              
6649             =cut
6650              
6651             $RE{cnri_python} = {
6652             name => 'CNRI-Python',
6653             'name.alt.org.fedora' => 'CNRI',
6654             'name.alt.org.osi' => 'CNRI-Python',
6655             'name.alt.org.osi.iri.stem.until.date_20110430' => 'pythonpl',
6656             'name.alt.org.spdx' => 'CNRI-Python',
6657             'name.alt.org.wikidata.synth.nogrant' => 'Q38365646',
6658             caption => 'CNRI Python License',
6659             'caption.alt.org.fedora' => 'CNRI License (Old Python)',
6660             'caption.alt.org.osi' => 'CNRI Python license',
6661             'caption.alt.org.osi.misc.shortname' => 'CNRI portion of Python License',
6662             'caption.alt.org.tldr' => 'CNRI Python License (CNRI-Python)',
6663             'caption.alt.org.wikidata' =>
6664             'CNRI portion of the multi-part Python License',
6665             'caption.alt.org.wikipedia' => 'Python License',
6666             'summary.alt.org.osi' =>
6667             'The CNRI portion of the multi-part Python License',
6668             iri =>
6669             'https://docs.python.org/3/license.html#cnri-license-agreement-for-python-1-6-1',
6670             'iri.alt.misc.handle' => 'http://hdl.handle.net/1895.22/1011',
6671              
6672             tags => [
6673             'type:unversioned',
6674             ],
6675              
6676             'pat.alt.subject.license' =>
6677             '[*)]CNRI is making Python 1\.6(?:b1)? available to Licensee',
6678             };
6679              
6680             =item * cnri_python_gpl_compat
6681              
6682             =cut
6683              
6684             $RE{cnri_python_gpl_compat} = {
6685             name => 'CNRI-Python-GPL-Compatible',
6686             'name.alt.org.spdx' => 'CNRI-Python-GPL-Compatible',
6687             caption => 'CNRI Python Open Source GPL Compatible License Agreement',
6688             iri => 'http://www.python.org/download/releases/1.6.1/download_win/',
6689             'iri.alt.misc.handle' => 'http://hdl.handle.net/1895.22/1013',
6690              
6691             tags => [
6692             'type:unversioned',
6693             ],
6694              
6695             'pat.alt.subject.license.part.part4' =>
6696             '[*)]CNRI is making Python 1\.6\.1 available to Licensee',
6697             'pat.alt.subject.license.scope.sentence.part.part7' =>
6698             'with regard to derivative works based on Python 1\.6\.1 '
6699             . 'that incorporate non-separable material '
6700             . 'that was previously distributed under the GNU General Public License',
6701             };
6702              
6703             =item * condor
6704              
6705             I
6706              
6707             =item * condor_1_1
6708              
6709             I
6710              
6711             =cut
6712              
6713             $RE{condor} = {
6714             name => 'Condor',
6715             'name.alt.org.fedora' => 'Condor',
6716             caption => 'Condor Public License',
6717             'caption.alt.org.tldr' => 'Condor Public License v1.1 (Condor-1.1)',
6718             tags => [
6719             'type:versioned:decimal',
6720             ],
6721             };
6722              
6723             $RE{condor_1_1} = {
6724             name => 'Condor-1.1',
6725             'name.alt.org.spdx.since.date_20130117' => 'Condor-1.1',
6726             caption => 'Condor Public License v1.1',
6727             tags => [
6728             'type:singleversion:condor',
6729             ],
6730             licenseversion => '1.1',
6731              
6732             'pat.alt.subject.license.scope.line.scope.sentence.part.clause5' =>
6733             'To the extent that patent claims licensable by',
6734             };
6735              
6736             =item * cpal
6737              
6738             =item * cpal_1
6739              
6740             =cut
6741              
6742             $RE{cpal} = {
6743             name => 'CPAL',
6744             'name.alt.org.wikidata.synth.nogrant' => 'Q1116195',
6745             caption => 'Common Public Attribution License',
6746             tags => [
6747             'type:versioned:decimal',
6748             ],
6749             };
6750              
6751             $RE{cpal_1} = {
6752             name => 'CPAL-1.0',
6753             'name.alt.org.fedora.synth.nogrant' => 'CPAL',
6754             'name.alt.org.osi' => 'CPAL-1.0',
6755             'name.alt.org.osi.iri.stem.until.date_20110430' => 'cpal_1.0',
6756             'name.alt.org.spdx' => 'CPAL-1.0',
6757             'name.alt.misc.fossology_old' => 'CPAL_v1.0',
6758             caption => 'Common Public Attribution License 1.0',
6759             'caption.alt.org.fedora' => 'CPAL License 1.0',
6760             'caption.alt.org.osi' => 'Common Public Attribution License Version 1.0',
6761             'caption.alt.org.osi.misc.list' =>
6762             'Common Public Attribution License 1.0',
6763             'caption.alt.org.tldr' =>
6764             'Common Public Attribution License Version 1.0 (CPAL-1.0)',
6765             'caption.alt.misc.fossology_old_short' => 'CPAL 1.0',
6766             tags => [
6767             'type:singleversion:cpal',
6768             ],
6769             licenseversion => '1.0',
6770              
6771             'pat.alt.subject.license.scope.multisection.part.header' =>
6772             'Common Public Attribution License Version 1\.0 [(]CPAL[)][ ]'
6773             . '[*)]["]?Definitions["]?',
6774             };
6775              
6776             =item * cpl
6777              
6778             I
6779              
6780             =item * cpl_1
6781              
6782             I
6783              
6784             =cut
6785              
6786             $RE{cpl} = {
6787             name => 'CPL',
6788             'name.alt.org.fedora' => 'CPL',
6789             'name.alt.org.wikidata.synth.nogrant' => 'Q2477807',
6790             'name.alt.misc.fossology_old' => 'CPL_v1.0',
6791             caption => 'Common Public License',
6792             'caption.alt.org.trove' => 'Common Public License',
6793             'caption.alt.org.wikipedia' => 'Common Public License',
6794             'caption.alt.misc.fossology_old_short' => 'CPL 1.0',
6795             description => <<'END',
6796             Origin: IBM Public License (IPL)
6797             END
6798             tags => [
6799             'type:versioned:decimal',
6800             ],
6801             };
6802              
6803             $RE{cpl_1} = {
6804             name => 'CPL-1.0',
6805             'name.alt.org.osi' => 'CPL-1.0',
6806             'name.alt.org.spdx' => 'CPL-1.0',
6807             caption => 'Common Public License 1.0',
6808             'caption.alt.org.osi' => 'Common Public License, version 1.0',
6809             'name.alt.org.osi.iri.stem_plain.until.date_20110430.archive.time_20110426131805'
6810             => 'cpl1.0',
6811             'caption.alt.org.osi.misc.list' => 'Common Public License 1.0',
6812             'caption.alt.org.tldr' => 'Common Public License 1.0 (CPL-1.0)',
6813             'caption.alt.misc.legal' => 'Common Public License Version 1.0',
6814             iri => 'https://www.ibm.com/developerworks/library/os-cpl.html',
6815             tags => [
6816             'type:singleversion:cpl',
6817             ],
6818             licenseversion => '1.0',
6819              
6820             'pat.alt.subject.license.scope.sentence' =>
6821             'IBM is the initial Agreement Steward',
6822             'pat.alt.subject.license.scope.multisection.part.head' =>
6823             '(?:Common Public License Version 1\.0[ ])?'
6824             . 'THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE [(]["]AGREEMENT["][)][. ]'
6825             . 'ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT[\']S ACCEPTANCE OF THIS AGREEMENT[.](?: |[ ])'
6826             . '[*)][ ]?DEFINITIONS[ ]'
6827             . '["]Contribution["] means[:"]?[ ]'
6828             . '[*)]in the case of the initial Contributor, the initial code',
6829             };
6830              
6831             =item * cpol
6832              
6833             =item * cpol_1_02
6834              
6835             =cut
6836              
6837             $RE{cpol} = {
6838             name => 'CPOL',
6839             'name.alt.org.wikidata.synth.nogrant' => 'Q5140041',
6840             caption => 'The Code Project Open License',
6841             'caption.alt.org.fedora' => 'CodeProject Open License (CPOL)',
6842             'caption.alt.org.wikidata' => 'Code Project Open License',
6843             tags => [
6844             'type:versioned:decimal',
6845             ],
6846             };
6847              
6848             $RE{cpol_1_02} = {
6849             name => 'CPOL-1.02',
6850             'name.alt.org.spdx.since.date_20130410' => 'CPOL-1.02',
6851             'name.alt.misc.fossology_old' => 'CPOL1.2',
6852             caption => 'Code Project Open License 1.02',
6853             'caption.alt.org.tldr' => 'The Code Project Open License (CPOL) 1.02',
6854             tags => [
6855             'type:singleversion:cpol',
6856             ],
6857             licenseversion => '1.02',
6858              
6859             'pat.alt.subject.license' => 'This License governs Your use of the Work',
6860             };
6861              
6862             =item * crossword
6863              
6864             I
6865              
6866             =cut
6867              
6868             $RE{crossword} = {
6869             name => 'Crossword',
6870             'name.alt.org.fedora.iri.self' => 'Crossword',
6871             'name.alt.org.spdx.since.date_20140807' => 'Crossword',
6872             caption => 'Crossword License',
6873             'caption.alt.org.tldr' => 'Crossword License',
6874             tags => [
6875             'license:is:grant',
6876             'type:unversioned',
6877             ],
6878              
6879             'pat.alt.subject.license.scope.sentence' =>
6880             'No author or distributor accepts responsibility to anyone for the consequences of using it',
6881             };
6882              
6883             =item * cryptix
6884              
6885             =cut
6886              
6887             $RE{cryptix} = {
6888             name => 'Cryptix',
6889             'name.alt.org.fsf' => 'CryptixGeneralLicense',
6890             'name.alt.org.wikidata.synth.nogrant' => 'Q5190781',
6891             caption => 'Cryptix Public License',
6892             'caption.alt.org.fedora' => 'Cryptix General License',
6893             'caption.alt.org.fsf' => 'Cryptix General License',
6894             'caption.alt.org.wikidata' => 'Cryptix General License',
6895             'caption.alt.org.wikipedia' => 'Cryptix General License',
6896             iri => 'http://cryptix.org/LICENSE.TXT',
6897             description => <<'END',
6898             Identical to BSD 2 Clause, except...
6899             * Redistribution of source must retain any (not only "above") legal text
6900             END
6901             tags => [
6902             'family:bsd',
6903             'license:is:grant',
6904             'type:unversioned',
6905             ],
6906              
6907             'pat.alt.subject.license.scope.multisection' =>
6908             $P{retain_notice_cond_discl_anywhere}
6909             . '[.][ ]'
6910             . $P{repro_copr_cond_discl}
6911             . '[.][ ]'
6912             . $P{asis_sw_by},
6913             };
6914              
6915             =item * cua_opl
6916              
6917             =item * cua_opl_1
6918              
6919             =cut
6920              
6921             $RE{cua_opl} = {
6922             name => 'CPAL',
6923             'name.alt.org.wikidata.synth.nogrant' => 'Q38365770',
6924             'name.alt.misc.fossology_old' => 'CUA',
6925             caption => 'CUA Office Public License',
6926             tags => [
6927             'type:versioned:decimal',
6928             ],
6929             };
6930              
6931             $RE{cua_opl_1} = {
6932             name => 'CPAL-1.0',
6933             'name.alt.org.fedora.synth.nogrant' => 'MPLv1.1',
6934             'name.alt.org.osi' => 'CUA-OPL-1.0',
6935             'name.alt.org.osi.iri.stem.until.date_20110430' => 'cuaoffice',
6936             'name.alt.org.spdx' => 'CUA-OPL-1.0',
6937             'name.alt.misc.fossology_old' => 'CUA_v1.0',
6938             caption => 'CUA Office Public License v1.0',
6939             'caption.alt.org.fedora' => 'CUA Office Public License Version 1.0',
6940             'caption.alt.org.osi.synth.nogrant' => 'CUA Office Public License',
6941             'caption.alt.org.osi.misc.list' =>
6942             'CUA Office Public License Version 1.0',
6943             'caption.alt.org.tldr' => 'CUA Office Public License v1.0 (CUA-OPL-1.0)',
6944             description => <<'END',
6945             Origin: Mozilla Public License Version 1.1
6946             END
6947             tags => [
6948             'type:singleversion:cua_opl',
6949             ],
6950             licenseversion => '1.0',
6951              
6952             'pat.alt.subject.license.scope.multisection.part.header' =>
6953             'CUA Office Public Attribution License Version 1\.0[ ]'
6954             . '[*)]["]?Definitions["]?',
6955             };
6956              
6957             =item * cube
6958              
6959             =cut
6960              
6961             $RE{cube} = {
6962             name => 'Cube',
6963             'name.alt.org.fedora.iri.self' => 'Cube',
6964             'name.alt.org.spdx.since.date_20140807' => 'Cube',
6965             caption => 'Cube License',
6966             'caption.alt.org.tldr' => 'Cube License',
6967             tags => [
6968             'family:zlib',
6969             'license:is:grant',
6970             'type:unversioned',
6971             ],
6972              
6973             'pat.alt.subject.license.scope.multisection' =>
6974             $P{origin_sw_no_misrepresent}
6975             . $P{you_not_claim_wrote} . '[. ]'
6976             . $P{use_ack_apprec_not_req}
6977             . '[.][ ]'
6978             . $P{altered_srcver_mark}
6979             . '[.][ ]'
6980             . $P{notice_no_alter_any}
6981             . '[.][ ]additional clause specific to Cube[:]?[ ]'
6982             . $P{src_no_relicense},
6983             };
6984              
6985             =item * curl
6986              
6987             =cut
6988              
6989             $RE{curl} = {
6990             'name.alt.org.spdx.since.date_20160103' => 'curl',
6991             'name.alt.org.wikidata.synth.nogrant' => 'Q33042394',
6992             caption => 'curl License',
6993             'caption.alt.org.tldr' => 'curl License',
6994             'caption.alt.org.wikidata' => 'curl license',
6995             tags => [
6996             'family:mit',
6997             'license:is:grant',
6998             'type:unversioned',
6999             ],
7000              
7001             'pat.alt.subject.license.scope.multisection' => $P{note_copr_perm}
7002             . '[.][ ]'
7003             . $P{asis_sw_warranty},
7004             };
7005              
7006             =item * cvw
7007              
7008             I
7009              
7010             =cut
7011              
7012             $RE{cvw} = {
7013             name => 'CVW',
7014             'name.alt.org.osi' => 'CVW',
7015             'name.alt.org.osi.iri.stem.until.date_20110430' => 'mitrepl',
7016             'name.alt.org.wikidata.synth.nogrant' => 'Q38365796',
7017             caption => 'MITRE Collaborative Virtual Workspace License',
7018             'caption.alt.org.fedora' =>
7019             'MITRE Collaborative Virtual Workspace License (CVW)',
7020             'caption.alt.org.osi' =>
7021             'The MITRE Collaborative Virtual Workspace License',
7022             'caption.alt.org.trove' =>
7023             'MITRE Collaborative Virtual Workspace License (CVW)',
7024             'caption.alt.org.osi.misc.list' =>
7025             'MITRE Collaborative Virtual Workspace License',
7026             'caption.alt.org.wikidata' =>
7027             'The MITRE Collaborative Virtual Workspace License',
7028             tags => [
7029             'type:unversioned',
7030             ],
7031              
7032             'pat.alt.subject.license' =>
7033             'Redistribution of the CVW software or derived works'
7034             . ' must reproduce MITRE[\']s copyright designation',
7035             };
7036              
7037             =item * d_fsl
7038              
7039             I
7040              
7041             =item * d_fsl_1
7042              
7043             I
7044              
7045             =cut
7046              
7047             $RE{d_fsl} = {
7048             name => 'D-FSL',
7049             caption => 'Deutsche Freie Software Lizenz',
7050             'caption.alt.misc.legal_grant.lang.de' =>
7051             'Deutschen Freien Software Lizenz',
7052             'caption.alt.misc.legal_grant.lang.en' => 'German Free Software License',
7053             'iri.alt.archive.time_20050208012625' => 'http://www.d-fsl.de/',
7054             'iri.alt.lang.de' =>
7055             'https://www.hbz-nrw.de/produkte/open-access/lizenzen/dfsl/deutsche-freie-software-lizenz',
7056             'iri.alt.lang.en' =>
7057             'https://www.hbz-nrw.de/produkte/open-access/lizenzen/dfsl/german-free-software-license',
7058             tags => [
7059             'type:versioned:decimal',
7060             ],
7061             };
7062              
7063             $RE{d_fsl_1} = {
7064             name => 'D-FSL-1.0',
7065             'name.alt.org.spdx.since.date_20130410' => 'D-FSL-1.0',
7066             caption => 'Deutsche Freie Software Lizenz 1.0',
7067             'caption.alt.org.spdx.since.date_20130410.synth.nogrant' =>
7068             'Deutsche Freie Software Lizenz',
7069             tags => [
7070             'type:singleversion:d_fsl',
7071             ],
7072             licenseversion => '1.0',
7073              
7074             'pat.alt.subject.license.scope.line.scope.sentence.part.section0.lang.de'
7075             => 'Die Beschreibung des Aufbaus und[/]oder der Struktur',
7076             'pat.alt.subject.license.scope.line.scope.sentence.part.section0.lang.en'
7077             => 'Description of composition, architecture and[/]or structure',
7078             };
7079              
7080             =item * dbad
7081              
7082             I
7083              
7084             =item * dbad_0_2
7085              
7086             I
7087              
7088             =item * dbad_0_3
7089              
7090             I
7091              
7092             =item * dbad_1
7093              
7094             I
7095              
7096             =item * dbad_1_1
7097              
7098             I
7099              
7100             =cut
7101              
7102             # TODO: include translations at http://www.dbad-license.org/
7103             $RE{dbad} = {
7104             name => 'DBAD',
7105             caption => 'DON\'T BE A DICK PUBLIC LICENSE',
7106             'caption.alt.misc.longer' => 'The "Dont Be a Dick" Public License',
7107             'caption.alt.misc.shorter' => 'the DBAD license',
7108             'caption.alt.org.tldr' => 'DON\'T BE A DICK PUBLIC LICENSE',
7109             iri => 'http://www.dbad-license.org/',
7110             tags => [
7111             'type:versioned:decimal',
7112             ],
7113              
7114             '_pat.alt.subject.license.scope.line.scope.sentence' => [
7115             'For legal purposes, the DBAD license is a(?: strict)? superset',
7116             "Do whatever you like with the original work, just don[']t be a dick",
7117             ],
7118             };
7119              
7120             $RE{dbad_0_2} = {
7121             name => 'DBAD-0.2',
7122             caption => 'DBAD Public License v0.2',
7123             'iri.alt.archive.time_20110112205017' =>
7124             'http://dbad-license.org/license',
7125             tags => [
7126             'type:singleversion:dbad',
7127             ],
7128             licenseversion => '0.2',
7129              
7130             'pat.alt.subject.license.scope.line.scope.sentence' =>
7131             'For legal purposes, the DBAD license is a superset',
7132             };
7133              
7134             $RE{dbad_0_3} = {
7135             name => 'DBAD-0.3',
7136             caption => 'DBAD Public License v0.3',
7137             'iri.alt.archive.time_20120322202702' =>
7138             'http://dbad-license.org/license',
7139             tags => [
7140             'type:singleversion:dbad',
7141             ],
7142             licenseversion => '0.3',
7143              
7144             'pat.alt.subject.license.scope.line.scope.sentence' =>
7145             'For legal purposes, the DBAD license is a strict superset',
7146             };
7147              
7148             $RE{dbad_1} = {
7149             name => 'DBAD-1',
7150             caption => 'DBAD Public License v1.0',
7151             'caption.alt.org.tldr.synth.nogrant' => 'DBAD Public License',
7152             'iri.alt.archive.time_20150618172510' => 'http://dbad-license.org/',
7153             tags => [
7154             'type:singleversion:dbad',
7155             ],
7156             licenseversion => '1.0',
7157              
7158             'pat.alt.subject.license.scope.line.scope.multisection' =>
7159             'Everyone is permitted'
7160             . ' to copy and distribute verbatim or modified copies of this license document'
7161             . ', and changing it is allowed as long as the name is changed'
7162             . '[.][ ]'
7163             . "[> ]DON[']T BE A DICK PUBLIC LICENSE"
7164             . '[ ][> ]TERMS AND CONDITIONS'
7165             . ' FOR COPYING, DISTRIBUTION AND MODIFICATION' . '[ ]'
7166             . '[*)]Do whatever you like with the original work, '
7167             . "just don[']t be a dick[.]",
7168             };
7169              
7170             $RE{dbad_1_1} = {
7171             name => 'DBAD-1.1',
7172             caption => 'DBAD Public License v1.1',
7173             'caption.alt.org.tldr.synth.nogrant' => "DON'T BE A DICK PUBLIC LICENSE",
7174             tags => [
7175             'type:singleversion:dbad',
7176             ],
7177             licenseversion => '1.1',
7178              
7179             'pat.alt.subject.license.scope.line.scope.multisection' =>
7180             'Everyone is permitted '
7181             . 'to copy and distribute verbatim or modified copies of this license document'
7182             . '[.][ ]'
7183             . "[> ]DON[']T BE A DICK PUBLIC LICENSE"
7184             . '[ ][> ]TERMS AND CONDITIONS'
7185             . ' FOR COPYING, DISTRIBUTION AND MODIFICATION' . '[ ]'
7186             . '[*)]Do whatever you like with the original work, '
7187             . "just don[']t be a dick[.]",
7188             };
7189              
7190             =item * dont_ask
7191              
7192             I
7193              
7194             =cut
7195              
7196             $RE{dont_ask} = {
7197             name => 'Dont-Ask',
7198             caption => "The Don't Ask Me About It License",
7199             'caption.alt.org.tldr' => "The Don't Ask Me About It License",
7200             tags => [
7201             'type:unversioned',
7202             ],
7203              
7204             'pat.alt.subject.license.scope.sentence' =>
7205             'Copying and distribution of this file, '
7206             . 'with or without modification, '
7207             . 'are permitted in any medium '
7208             . 'provided you do not contact the author '
7209             . 'about the file or any problems you are having with the file[.]',
7210             };
7211              
7212             =item * dsdp
7213              
7214             =cut
7215              
7216             $RE{dsdp} = {
7217             name => 'DSDP',
7218             'name.alt.org.fedora.iri.self' => 'DSDP',
7219             'name.alt.org.spdx.since.date_20140807' => 'DSDP',
7220             caption => 'DSDP License',
7221             'caption.alt.org.tldr' => 'DSDP License',
7222             'summary.alt.org.fedora.iri.mit' => 'MIT-style license, PetSC Variant',
7223             tags => [
7224             'family:mit',
7225             'license:is:grant',
7226             'type:unversioned',
7227             ],
7228              
7229             'pat.alt.subject.license.part.part1' =>
7230             'This program discloses material protectable',
7231             'pat.alt.subject.license.scope.paragraph' => $P{asis_expr_warranty}
7232             . '[. ]'
7233             . $P{perm_granted},
7234             };
7235              
7236             =item * ecl
7237              
7238             =item * ecl_1
7239              
7240             =item * ecl_2
7241              
7242             =cut
7243              
7244             $RE{ecl} = {
7245             name => 'ECL',
7246             'name.alt.org.wikidata.synth.nogrant' => 'Q5341236',
7247             caption => 'Educational Community License',
7248             'caption.alt.org.wikidata' => 'Educational Community License',
7249             'caption.alt.misc.long' => 'Educational Community License (ECL)',
7250             tags => [
7251             'type:versioned:decimal',
7252             ],
7253             };
7254              
7255             $RE{ecl_1} = {
7256             name => 'ECL-1.0',
7257             'name.alt.org.osi' => 'ECL-1.0',
7258             'name.alt.org.osi.iri.stem.until.date_20070704' => 'ecl1',
7259             'name.alt.org.spdx' => 'ECL-1.0',
7260             'name.alt.misc.fossology_old' => 'ECL1.0',
7261             caption => 'Educational Community License, Version 1.0',
7262             'caption.alt.org.fedora' => 'Educational Community License 1.0',
7263             'caption.alt.org.fedora.misc.short' => 'ECL 1.0',
7264             'caption.alt.org.osi' => 'Educational Community License, Version 1.0',
7265             'caption.alt.org.spdx' => 'Educational Community License v1.0',
7266             tags => [
7267             'type:singleversion:ecl',
7268             ],
7269             licenseversion => '1.0',
7270              
7271             'pat.alt.subject.license' =>
7272             'Licensed under the Educational Community License version 1.0',
7273             };
7274              
7275             $RE{ecl_2} = {
7276             name => 'ECL-2.0',
7277             'name.alt.org.osi' => 'ECL-2.0',
7278             'name.alt.org.osi.iri.stem.until.date_20110430' => 'ecl2',
7279             'name.alt.org.spdx' => 'ECL-2.0',
7280             'name.alt.org.tldr.path.short' => 'ecl-2.0',
7281             'name.alt.misc.fossology_old' => 'ECL2.0',
7282             caption => 'Educational Community License, Version 2.0',
7283             'caption.alt.org.fedora' => 'Educational Community License 2.0',
7284             'caption.alt.org.fedora.misc.short' => 'ECL 2.0',
7285             'caption.alt.org.spdx' => 'Educational Community License v2.0',
7286             'caption.alt.org.tldr' =>
7287             'Educational Community License, Version 2.0 (ECL-2.0)',
7288             'caption.alt.misc.short' => 'ECLv2',
7289             tags => [
7290             'type:singleversion:ecl',
7291             ],
7292             licenseversion => '2.0',
7293              
7294             'pat.alt.subject.license.scope.sentence' =>
7295             'Licensed under the[ ]Educational Community License, Version 2\.0',
7296             };
7297              
7298             =item * ecos_1_1
7299              
7300             I
7301              
7302             =cut
7303              
7304             # Yes, it is unversioned
7305             $RE{ecos_1_1} = {
7306             name => 'RHEPL',
7307             'name.alt.org.spdx' => 'RHeCos-1.1',
7308             caption => 'Red Hat eCos Public License v1.1',
7309             'caption.alt.misc.ecos_2_ref' => 'Red Hat eCos Public License',
7310             'caption.alt.org.tldr' => 'Red Hat eCos Public License v1.1 (RHeCos-1.1)',
7311             tags => [
7312             'type:unversioned',
7313             ],
7314              
7315             'pat.alt.subject.license.scope.sentence.part.section_1_13' =>
7316             '["]Red Hat Branded Code["] is code that Red Hat distributes',
7317             };
7318              
7319             =item * ecos_2
7320              
7321             I
7322              
7323             =cut
7324              
7325             # Yes, it is unversioned
7326             $RE{ecos_2} = {
7327             name => 'eCos-2.0',
7328             'name.alt.org.fedora.synth.nogrant' => 'eCos',
7329             'name.alt.org.osi' => 'eCos-2.0',
7330             'name.alt.org.spdx.until.date_20150513' => 'eCos-2.0',
7331             'name.alt.org.wikidata.synth.nogrant' => 'Q26904555',
7332             caption => 'eCos license version 2.0',
7333             'caption.alt.org.fedora' => 'eCos License v2.0',
7334             'caption.alt.org.osi' => 'eCos License version 2.0',
7335             'caption.alt.org.wikidata' => 'eCos-2.0',
7336             tags => [
7337             'contains.grant.gpl_2',
7338             'contains.trait.except_ecos_2',
7339             'type:unversioned',
7340             ],
7341              
7342             'pat.alt.subject.license.scope.sentence.part.grant' =>
7343             'eCos is free software; '
7344             . 'you can redistribute it and[/]or modify it '
7345             . 'under the terms of the GNU General Public License',
7346             'pat.alt.subject.license.scope.sentence.part.except_1' =>
7347             'if other files instantiate templates or use macros or inline functions from this file, '
7348             . 'or you compile this file and link it with other works',
7349             'pat.alt.subject.license.scope.line.scope.sentence.part.except_2' =>
7350             'However the source code for this file must still be made available',
7351             'pat.alt.subject.license.scope.line.scope.sentence.part.except_3' =>
7352             'This exception does not invalidate any other reasons why',
7353             };
7354              
7355             =item * efl
7356              
7357             I
7358              
7359             =item * efl_1
7360              
7361             I
7362              
7363             =item * efl_2
7364              
7365             I
7366              
7367             =cut
7368              
7369             $RE{efl} = {
7370             name => 'EFL',
7371             'name.alt.org.wikidata.synth.nogrant' => 'Q17011832',
7372             caption => 'Eiffel Forum License',
7373             'caption.alt.org.trove' => 'Eiffel Forum License',
7374             'caption.alt.org.trove.misc.long' => 'Eiffel Forum License (EFL)',
7375             'caption.alt.org.wikipedia' => 'Eiffel Forum License',
7376             'iri.alt.old.osi' => 'https://opensource.org/licenses/eiffel.html',
7377             tags => [
7378             'type:versioned:decimal',
7379             ],
7380             };
7381              
7382             $RE{efl_1} = {
7383             name => 'EFL-1',
7384             'name.alt.org.osi' => 'EFL-1.0',
7385             'name.alt.org.osi.iri.stem.until.date_20110430' => 'ver1_eiffel',
7386             'name.alt.org.spdx' => 'EFL-1.0',
7387             'name.alt.misc.fossology_old' => 'Eiffel_1.0',
7388             'name.alt.misc.fossology_old_short' => 'Eiffel_v1',
7389             caption => 'Eiffel Forum License v1.0',
7390             'caption.alt.org.fedora' => 'Eiffel Forum License 1.0',
7391             'caption.alt.org.fedora.iri.self' => 'Eiffel Forum License V1',
7392             'caption.alt.org.osi' => 'The Eiffel Forum License, version 1',
7393             'caption.alt.org.osi.misc.list' => 'Eiffel Forum License V1.0',
7394             'caption.alt.org.osi.misc.do_not_use_list' =>
7395             'Eiffel Forum License, version 1.0',
7396             iri => 'http://www.opensource.org/licenses/eiffel.php',
7397             'iri.alt.format.txt' => 'http://www.eiffel-nice.org/license/forum.txt',
7398             tags => [
7399             'license:is:grant',
7400             'type:singleversion:efl',
7401             ],
7402             licenseversion => '1.0',
7403              
7404             'pat.alt.subject.license.scope.sentence.part.publish_clause' =>
7405             'you must publicly release the modified version of this package',
7406             };
7407              
7408             $RE{efl_2} = {
7409             name => 'EFL-2',
7410             'name.alt.org.osi' => 'EFL-2.0',
7411             'name.alt.org.osi.iri.stem.until.date_20110430' => 'ver2_eiffel',
7412             'name.alt.org.spdx' => 'EFL-2.0',
7413             'name.alt.misc.fossology_old' => 'Eiffel_2.0',
7414             'name.alt.misc.fossology_old_short' => 'Eiffel_v2',
7415             caption => 'Eiffel Forum License v2.0',
7416             'caption.alt.org.fedora' => 'Eiffel Forum License 2.0',
7417             'caption.alt.org.fedora.misc.short' => 'EFL 2.0',
7418             'caption.alt.org.osi' => 'Eiffel Forum License, Version 2',
7419             'caption.alt.org.osi.misc.list' => 'Eiffel Forum License V2.0',
7420             'caption.alt.org.tldr' => 'Eiffel Forum License v2.0 (EFL-2.0)',
7421             iri => 'http://www.eiffel-nice.org/license/eiffel-forum-license-2.html',
7422             'iri.alt.format.txt' =>
7423             'http://www.eiffel-nice.org/license/eiffel-forum-license-2.txt',
7424             tags => [
7425             'license:is:grant',
7426             'type:singleversion:efl',
7427             ],
7428             licenseversion => '2.0',
7429              
7430             'pat.alt.subject.license.scope.sentence.part.publish_clause' =>
7431             'you are encouraged to publicly release the modified version of this package',
7432             };
7433              
7434             =item * entessa
7435              
7436             I
7437              
7438             =cut
7439              
7440             $RE{entessa} = {
7441             name => 'Entessa',
7442             'name.alt.org.fedora' => 'Entessa',
7443             'name.alt.org.osi' => 'Entessa',
7444             'name.alt.org.osi.iri.stem.until.date_20110430' => 'entessa',
7445             'name.alt.org.spdx' => 'Entessa',
7446             'name.alt.misc.fossology_old' => 'Entessa1.0',
7447             'name.alt.org.wikidata.synth.nogrant' => 'Q38366115',
7448             caption => 'Entessa Public License v1.0',
7449             'caption.alt.org.fedora' => 'Entessa Public License',
7450             'caption.alt.org.osi' => 'Entessa Public License Version. 1.0',
7451             'caption.alt.org.osi.misc.list' => 'Entessa Public License',
7452             'caption.alt.org.tldr' => 'Entessa Public License v1.0 (Entessa)',
7453             'caption.alt.org.wikidata' => 'Entessa Public License',
7454             description => <<'END',
7455             Identical to Apache 1.1, except...
7456             * replace "Apache" and "Apache Software Foundation" with "Entessa" and "OpenSeal"
7457             * replace "software" with "open source software" in notice inclusion clause
7458             END
7459             tags => [
7460             'license:is:grant',
7461             'type:unversioned',
7462             ],
7463              
7464             'pat.alt.subject.license.scope.sentence.part.notice_inclusion_clause' =>
7465             'This product includes open source software developed by openSEAL',
7466             };
7467              
7468             =item * epl
7469              
7470             =item * epl_1
7471              
7472             =item * epl_2
7473              
7474             =cut
7475              
7476             $RE{epl} = {
7477             name => 'EPL',
7478             'name.alt.misc.fossology_old' => 'Eclipse',
7479             'name.alt.org.wikidata.synth.nogrant' => 'Q1281977',
7480             caption => 'Eclipse Public License',
7481             'caption.alt.org.wikipedia' => 'Eclipse Public License',
7482             description => <<'END',
7483             Origin: Common Public License (CPL)
7484             END
7485             tags => [
7486             'type:versioned:decimal',
7487             ],
7488              
7489             # TODO: readd when children cover same region
7490             # 'pat.alt.subject.license.scope.sentence' =>
7491             # 'The Eclipse Foundation is the initial Agreement Steward',
7492             };
7493              
7494             $RE{epl_1} = {
7495             name => 'EPL-1.0',
7496             'name.alt.org.fedora' => 'EPL-1.0',
7497             'name.alt.org.osi' => 'EPL-1.0',
7498             'name.alt.org.osi.iri.stem_plain.until.date_20110430.archive.time_20110426131805'
7499             => 'eclipse-1.0',
7500             'name.alt.org.spdx' => 'EPL-1.0',
7501             'name.alt.org.wikidata.synth.nogrant' => 'Q55633170',
7502             'name.alt.misc.fossology_old' => 'Eclipse_1.0',
7503             caption => 'Eclipse Public License 1.0',
7504             'caption.alt.org.tldr' => 'Eclipse Public License 1.0 (EPL-1.0)',
7505             'caption.alt.org.trove' => 'Eclipse Public License 1.0 (EPL-1.0)',
7506             'caption.alt.misc.legal' => 'Eclipse Public License - v 1.0',
7507             tags => [
7508             'type:singleversion:epl',
7509             ],
7510             licenseversion => '1.0',
7511              
7512             'pat.alt.subject.license.scope.sentence' =>
7513             'Eclipse Public License[ - ]v 1\.0[ ]THE ACCOMPANYING',
7514             'pat.alt.subject.license.scope.multisection.part.head' =>
7515             '(?:Eclipse Public License[ - ]v 1\.0[ ])?'
7516             . 'THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC LICENSE [(]["]AGREEMENT["][)][. ]'
7517             . 'ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT[\']S ACCEPTANCE OF THIS AGREEMENT[.](?: |[ ])'
7518             . '[*)][ ]?DEFINITIONS[ ]'
7519             . '["]Contribution["] means[:"]?[ ]'
7520             . '[*)]in the case of the initial Contributor, the initial code',
7521             };
7522              
7523             $RE{epl_2} = {
7524             name => 'EPL-2.0',
7525             'name.alt.org.fedora' => 'EPL-2.0',
7526             'name.alt.org.osi' => 'EPL-2.0',
7527             'name.alt.org.spdx.since.date_20171228' => 'EPL-2.0',
7528             'name.alt.org.wikidata.synth.nogrant' => 'Q55633295',
7529             caption => 'Eclipse Public License 2.0',
7530             'caption.alt.org.osi' => 'Eclipse Public License version 2.0',
7531             'caption.alt.org.osi.misc.list' => 'Eclipse Public License 2.0',
7532             'caption.alt.org.trove' => 'Eclipse Public License 2.0 (EPL-2.0)',
7533             'caption.alt.misc.legal' => 'Eclipse Public License - v 2.0',
7534             tags => [
7535             'type:singleversion:epl',
7536             ],
7537             licenseversion => '2.0',
7538              
7539             'pat.alt.subject.license.scope.sentence' =>
7540             'Eclipse Public License[ - ]v 2\.0[ ]THE ACCOMPANYING',
7541             'pat.alt.subject.license.scope.multisection.part.head' =>
7542             '(?:Eclipse Public License[ - ]v 1\.0[ ])?'
7543             . 'THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC LICENSE [(]["]AGREEMENT["][)][. ]'
7544             . 'ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT[\']S ACCEPTANCE OF THIS AGREEMENT[.](?: |[ ])'
7545             . '[*)][ ]?DEFINITIONS[ ]'
7546             . '["]Contribution["] means[:"]?[ ]'
7547             . '[*)]in the case of the initial Contributor, the initial content',
7548             };
7549              
7550             =item * erlpl
7551              
7552             I
7553              
7554             =item * erlpl_1_1
7555              
7556             I
7557              
7558             =cut
7559              
7560             $RE{erlpl} = {
7561             name => 'ErlPL',
7562             'name.alt.org.wikidata.synth.nogrant' => 'Q3731857',
7563             caption => 'Erlang Public License',
7564             tags => [
7565             'type:versioned:decimal',
7566             ],
7567             };
7568              
7569             $RE{erlpl_1_1} = {
7570             name => 'ErlPL-1.1',
7571             'name.alt.org.fedora.synth.nogrant' => 'ERPL',
7572             'name.alt.org.fedora.iri.self.synth.nogrant' => 'ErlangPublicLicense',
7573             'name.alt.org.spdx' => 'ErlPL-1.1',
7574             caption => 'Erlang Public License v1.1',
7575             'caption.alt.org.fedora' => 'Erlang Public License 1.1',
7576             'caption.alt.org.tldr' => 'Erlang Public License v1.1 (ErlPL-1.1)',
7577             description => <<'END',
7578             Origin: Mozilla Public License 1.0
7579             END
7580             tags => [
7581             'type:singleversion:erlpl',
7582             ],
7583             licenseversion => '1.1',
7584              
7585             'pat.alt.subject.license.scope.multiparagraph.part.head' =>
7586             'ERLANG PUBLIC LICENSE[ ]Version 1\.1[ ]' . '[*)]Definitions',
7587             };
7588              
7589             =item * eudatagrid
7590              
7591             I
7592              
7593             =cut
7594              
7595             $RE{eudatagrid} = {
7596             name => 'EUDatagrid',
7597             'name.alt.org.osi' => 'EUDatagrid',
7598             'name.alt.org.osi.iri.stem.until.date_20110430' => 'eudatagrid',
7599             'name.alt.org.spdx' => 'EUDatagrid',
7600             'name.alt.org.wikidata.synth.nogrant' => 'Q38365944',
7601             'name.alt.misc.fossology_old_short' => 'Datagrid',
7602             caption => 'EU DataGrid Software License',
7603             'caption.alt.org.fedora' => 'EU Datagrid Software License',
7604             'caption.alt.org.fedora.misc.short' => 'EU Datagrid',
7605             'caption.alt.org.tldr' => 'EU DataGrid Software License (EUDatagrid)',
7606             tags => [
7607             'type:unversioned',
7608             ],
7609              
7610             'pat.alt.subject.license.scope.line.scope.sentence' =>
7611             'This software includes voluntary contributions made to the EU DataGrid',
7612             };
7613              
7614             =item * eupl
7615              
7616             =item * eupl_1
7617              
7618             =item * eupl_1_1
7619              
7620             =item * eupl_1_2
7621              
7622             =cut
7623              
7624             $RE{eupl} = {
7625             name => 'EUPL',
7626             'name.alt.org.wikidata.synth.nogrant' => 'Q1376919',
7627             caption => 'European Union Public License',
7628             'caption.alt.org.wikidata' => 'European Union Public Licence',
7629             'caption.alt.org.wikipedia' => 'European Union Public Licence',
7630             tags => [
7631             'type:versioned:decimal',
7632             ],
7633             };
7634              
7635             $RE{eupl_1} = {
7636             name => 'EUPL-1.0',
7637             'name.alt.org.spdx' => 'EUPL-1.0',
7638             caption => 'European Union Public License, Version 1.0',
7639             'caption.alt.org.fedora' => 'European Union Public License v1.0',
7640             'caption.alt.org.spdx' => 'European Union Public License 1.0',
7641             'caption.alt.org.trove' => 'European Union Public Licence 1.0 (EUPL 1.0)',
7642             'caption.alt.org.trove.misc.short' => 'EUPL 1.0',
7643             tags => [
7644             'license:contains:grant',
7645             'type:singleversion:eupl',
7646             ],
7647             licenseversion => '1.0',
7648              
7649             'pat.alt.subject.license.scope.multisection.part.header' =>
7650             'Licensed under the EUPL V\.1\.0[ ]or has expressed'
7651             };
7652              
7653             $RE{eupl_1_1} = {
7654             name => 'EUPL-1.1',
7655             'name.alt.org.spdx' => 'EUPL-1.1',
7656             'name.alt.org.tldr' => 'european-union-public-licence',
7657             'name.alt.org.tldr.path.short' => 'eupl-1.1',
7658             caption => 'European Union Public License, Version 1.1',
7659             'caption.alt.org.fedora' => 'European Union Public License 1.1',
7660             'caption.alt.org.fedora.misc.short' => 'EUPL 1.1',
7661             'caption.alt.org.spdx' => 'European Union Public License 1.1',
7662             'caption.alt.org.tldr' => 'European Union Public License 1.1 (EUPL-1.1)',
7663             'caption.alt.org.trove' => 'European Union Public Licence 1.1 (EUPL 1.1)',
7664             'caption.alt.org.trove.misc.short' => 'EUPL 1.1',
7665             tags => [
7666             'license:contains:grant',
7667             'type:singleversion:eupl',
7668             ],
7669             licenseversion => '1.1',
7670              
7671             'pat.alt.subject.license.scope.multisection.part.header' =>
7672             'Licensed under the EUPL V\.1\.1[ ]or has expressed'
7673             };
7674              
7675             $RE{eupl_1_2} = {
7676             name => 'EUPL-1.2',
7677             'name.alt.org.osi' => 'EUPL-1.2',
7678             'name.alt.org.spdx.since.date_20171228' => 'EUPL-1.2',
7679             caption => 'European Union Public License, Version 1.2',
7680             'caption.alt.org.fedora' => 'European Union Public License 1.2',
7681             'caption.alt.org.fedora.misc.short' => 'EUPL 1.2',
7682             'caption.alt.org.osi' => 'European Union Public License, version 1.2',
7683             'caption.alt.org.osi.misc.list' => 'European Union Public License 1.2',
7684             'caption.alt.org.osi.misc.cat_list.synth.nogrant' =>
7685             'European Union Public License',
7686             'caption.alt.org.spdx' => 'European Union Public License 1.2',
7687             'caption.alt.org.trove' => 'European Union Public Licence 1.2 (EUPL 1.2)',
7688             'caption.alt.org.trove.misc.short' => 'EUPL 1.2',
7689             'iri.alt.org.wikipedia' =>
7690             'https://en.wikipedia.org/wiki/European_Union_Public_Licence#Version_1.2',
7691             tags => [
7692             'license:contains:grant',
7693             'type:singleversion:eupl',
7694             ],
7695             licenseversion => '1.2',
7696              
7697             'pat.alt.subject.license.scope.multisection.part.header' =>
7698             'Licensed under the EUPL[ ]or has expressed'
7699             };
7700              
7701             =item * eurosym
7702              
7703             =cut
7704              
7705             $RE{eurosym} = {
7706             name => 'Eurosym',
7707             'name.alt.org.fedora.iri.self' => 'Eurosym',
7708             'name.alt.org.spdx.since.date_20140807' => 'Eurosym',
7709             caption => 'Eurosym License',
7710             'caption.alt.org.tldr' => 'Eurosym License',
7711             tags => [
7712             'family:zlib',
7713             'license:is:grant',
7714             'type:unversioned',
7715             ],
7716              
7717             'pat.alt.subject.license.scope.multisection' =>
7718             $P{origin_sw_no_misrepresent}
7719             . $P{you_not_claim_wrote} . '[. ]'
7720             . $P{use_ack_apprec}
7721             . '[.][ ]'
7722             . $P{altered_srcver_mark}
7723             . '[.][ ]' . '[*)]?'
7724             . $P{you_not_use_ad_dist}
7725             . $P{without_written_prior}
7726             . '[.][ ]' . '[*)]?'
7727             . $P{change_redist_share}
7728             . '[.][ ]'
7729             . $P{notice_no_alter},
7730             };
7731              
7732             =item * fair
7733              
7734             I
7735              
7736             =cut
7737              
7738             $RE{fair} = {
7739             name => 'Fair',
7740             'name.alt.org.fedora' => 'Fair',
7741             'name.alt.org.osi' => 'Fair',
7742             'name.alt.org.osi.iri.stem.until.date_20110430' => 'fair',
7743             'name.alt.org.spdx' => 'Fair',
7744             'name.alt.org.tldr' => 'fair-license',
7745             'name.alt.org.tldr.path.short' => 'fair',
7746             'name.alt.org.wikidata.synth.nogrant' => 'Q22682017',
7747             caption => 'Fair License',
7748             'caption.alt.org.tldr' => 'Fair License (Fair)',
7749             tags => [
7750             'license:is:grant',
7751             'type:unversioned',
7752             ],
7753              
7754             'pat.alt.subject.license.scope.line.scope.sentence' =>
7755             'Usage of the works is permitted provided that this instrument',
7756             };
7757              
7758             =item * fair_source
7759              
7760             I
7761              
7762             =item * fair_source_0_9
7763              
7764             I
7765              
7766             =cut
7767              
7768             $RE{fair_source} = {
7769             name => 'Fair-Source',
7770             caption => 'Fair Source License',
7771             tags => [
7772             'type:versioned:decimal',
7773             ],
7774             };
7775              
7776             $RE{fair_source_0_9} = {
7777             name => 'Fair-Source-0.9',
7778             caption => 'Fair Source License, version 0.9',
7779             'caption.alt.org.tldr' => 'Fair Source License 0.9 (Fair-Source-0.9)',
7780             iri => 'https://fair.io/#license',
7781             'iri.alt.format.txt' => 'https://fair.io/v0.9.txt',
7782             tags => [
7783             'type:singleversion:fair_source',
7784             ],
7785             licenseversion => '0.9',
7786              
7787             'pat.alt.subject.license.scope.line.scope.sentence' =>
7788             'Licensor hereby grants to each recipient',
7789             };
7790              
7791             =item * fal
7792              
7793             I
7794              
7795             =item * fal_1_1
7796              
7797             I
7798              
7799             =item * fal_1_2
7800              
7801             I
7802              
7803             =item * fal_1_3
7804              
7805             I
7806              
7807             =cut
7808              
7809             $RE{fal} = {
7810             name => 'FAL',
7811             caption => 'Free Art License',
7812             'caption.alt.org.fedora' => 'Free Art License',
7813             'caption.alt.org.fedora.misc.short' => 'Free Art',
7814             'caption.alt.misc.legal.lang.de' => 'Lizenz Freie Kunst',
7815             'caption.alt.misc.legal.lang.es' => 'Licencia Arte Libre',
7816             'caption.alt.misc.legal.lang.fr' => 'Licence Art Libre',
7817             'caption.alt.misc.legal.lang.it' => 'Licenza Arte Libera',
7818             'caption.alt.misc.legal.lang.pl' => 'Licencja Wolnej Sztuki',
7819             iri => 'https://artlibre.org/',
7820             tags => [
7821             'type:versioned:decimal',
7822             ],
7823             };
7824              
7825             $RE{fal_1_1} = {
7826             name => 'FAL-1.1',
7827             caption => 'Free Art License 1.1',
7828             'caption.alt.misc.legal.lang.de' => 'Lizenz Freie Kunst 1.1',
7829             tags => [
7830             'type:singleversion:fal',
7831             ],
7832             licenseversion => '1.1',
7833              
7834             'pat.alt.subject.license.scope.line.scope.sentence.lang.de' =>
7835             'Durch die Lizenz ["] ?Freie Kunst ?["] wird die Erlaubnis verliehen',
7836             };
7837              
7838             $RE{fal_1_2} = {
7839             name => 'FAL-1.2',
7840             caption => 'Free Art License 1.2',
7841             'caption.alt.misc.legal.lang.es' => 'Licencia Arte Libre 1.2',
7842             'caption.alt.misc.legal.lang.fr' => 'Licence Art Libre 1.2',
7843             'caption.alt.misc.legal.lang.it' => 'Licenza Arte Libera 1.2',
7844             iri => 'https://artlibre.org/licence/lal/licence-art-libre-12/',
7845             'iri.alt.archive.time_20051027003023.lang.en' =>
7846             'https://artlibre.org/licence/lal/en/',
7847             tags => [
7848             'type:singleversion:fal',
7849             ],
7850             licenseversion => '1.2',
7851              
7852             'pat.alt.subject.license.scope.line.scope.sentence.lang.en' =>
7853             'With this Free Art License, you are authorised',
7854             'pat.alt.subject.license.scope.line.scope.sentence.lang.es' =>
7855             'La Licencia Arte Libre [(]LAL[)] le autoriza a copiar',
7856             'pat.alt.subject.license.scope.line.scope.sentence.lang.fr' =>
7857             'Avec cette Licence Art Libre, l’autorisation est',
7858             'pat.alt.subject.license.scope.line.scope.sentence.lang.it' =>
7859             'Con questa licenza Arte Libera è permesso copiare',
7860             };
7861              
7862             $RE{fal_1_3} = {
7863             name => 'FAL-1.3',
7864             'name.alt.org.tldr.path.short.synth.nogrant' => 'fal',
7865             caption => 'Free Art License 1.3',
7866             'caption.alt.misc.legal.lang.de' => 'Lizenz Freie Kunst 1.3',
7867             'caption.alt.misc.legal.lang.en' => 'Free Art License 1.3 (FAL 1.3)',
7868             'caption.alt.misc.legal.lang.fr' => 'Licence Art Libre 1.3 (LAL 1.3)',
7869             'caption.alt.misc.legal.lang.pl' => 'Licencja Wolnej Sztuki 1.3',
7870             'caption.alt.misc.legal.lang.pt' => 'Licença da Arte Livre 1.3',
7871             'caption.alt.org.tldr.synth.nogrant' => 'Free Art License (FAL)',
7872             'iri.alt.misc.canonical.lang.de' =>
7873             'https://artlibre.org/licence/lal/de1-3/',
7874             tags => [
7875             'type:singleversion:fal',
7876             ],
7877             licenseversion => '1.3',
7878              
7879             'pat.alt.subject.license.scope.line.scope.sentence.lang.de' =>
7880             'Mit der Lizenz Freie Kunst wird die Genehmigung erteilt',
7881             'pat.alt.subject.license.scope.line.scope.sentence.lang.en' =>
7882             'The Free Art License grants the right to freely copy',
7883             'pat.alt.subject.license.scope.line.scope.sentence.lang.fr' =>
7884             'Avec la Licence Art Libre, l’autorisation est',
7885             'pat.alt.subject.license.scope.line.scope.sentence.lang.pl' =>
7886             'Licencja Wolnej Sztuki przyznaje prawo do swobodnego kopiowania',
7887             'pat.alt.subject.license.scope.line.scope.sentence.lang.pt' =>
7888             'A Licença da Arte Livre autoriza você a copiar livremente',
7889             };
7890              
7891             =item * festival
7892              
7893             I
7894              
7895             =cut
7896              
7897             $RE{festival} = {
7898             name => 'Festival',
7899             'name.alt.org.fedora.iri.mit_short' => 'Festival',
7900             'summary.alt.org.fedora.iri.mit' => 'MIT-style license, Festival variant',
7901             tags => [
7902             'family:mit',
7903             'license:is:grant',
7904             'type:unversioned',
7905             ],
7906              
7907             'pat.alt.subject.license.scope.line.scope.sentence.part.clause2' =>
7908             "Original authors['] names are not deleted",
7909             };
7910              
7911             =item * frameworx
7912              
7913             I
7914              
7915             =item * frameworx_1
7916              
7917             I
7918              
7919             =cut
7920              
7921             $RE{frameworx} = {
7922             name => 'Frameworx',
7923             'name.alt.org.wikidata.synth.nogrant' => 'Q5477987',
7924             caption => 'Frameworx License',
7925             tags => [
7926             'type:versioned:decimal',
7927             ],
7928             };
7929              
7930             $RE{frameworx_1} = {
7931             name => 'Frameworx-1.0',
7932             'name.alt.org.osi' => 'Frameworx-1.0',
7933             'name.alt.org.osi.iri.stem.until.date_20110430.synth.nogrant' =>
7934             'frameworx',
7935             'name.alt.org.spdx' => 'Frameworx-1.0',
7936             'name.alt.misc.fossology_old' => 'Frameworx_v1.0',
7937             'name.alt.misc.fossology_old_short' => 'Frameworx1.0',
7938             caption => 'Frameworx Open License 1.0',
7939             'caption.alt.org.fedora.synth.nogrant' => 'Frameworx License',
7940             'caption.alt.org.osi' => 'Frameworx License 1.0',
7941             'caption.alt.org.osi.misc.list.synth.nogrant' => 'Frameworx License',
7942             'caption.alt.org.tldr' => 'Frameworx Open License 1.0 (Frameworx-1.0)',
7943             tags => [
7944             'type:singleversion:frameworx',
7945             ],
7946             licenseversion => '1.0',
7947              
7948             'pat.alt.subject.license.scope.line.scope.sentence.part.intro' =>
7949             'This License Agreement, The Frameworx Open License 1.0, has',
7950             'pat.alt.subject.license.scope.sentence.part.license_file_clause' =>
7951             'contain an unaltered copy of the text file named the_frameworx_license\.txt',
7952             };
7953              
7954             =item * fsfap
7955              
7956             =cut
7957              
7958             $RE{fsfap} = {
7959             name => 'FSFAP',
7960             'name.alt.org.fedora.iri.self' => 'FSFAP',
7961             'name.alt.org.fsf' => 'GNUAllPermissive',
7962             'name.alt.org.spdx.since.date_20160323' => 'FSFAP',
7963             caption => 'FSF All Permissive License',
7964             'caption.alt.org.fedora' => 'FSF All Permissive license',
7965             'caption.alt.org.fsf' => 'GNU All-Permissive License',
7966             iri =>
7967             'https://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html',
7968             tags => [
7969             'license:is:grant',
7970             'type:unversioned',
7971             ],
7972              
7973             'pat.alt.subject.license.scope.sentence' =>
7974             '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',
7975             };
7976              
7977             =item * fsful
7978              
7979             =cut
7980              
7981             $RE{fsful} = {
7982             name => 'FSFUL',
7983             'name.alt.org.fedora' => 'FSFUL',
7984             'name.alt.org.spdx.since.date_20140807' => 'FSFUL',
7985             caption => 'FSF Unlimited License',
7986             'caption.alt.org.fedora.iri.self' => 'FSF Unlimited License',
7987             tags => [
7988             'license:is:grant',
7989             'type:unversioned',
7990             ],
7991              
7992             'pat.alt.subject.license.scope.sentence' =>
7993             "This configure script is free software; $fsf_ul",
7994             };
7995              
7996             =item * fsfullr
7997              
7998             =cut
7999              
8000             $RE{fsfullr} = {
8001             name => 'FSFULLR',
8002             'name.alt.org.fedora' => 'FSFULLR',
8003             'name.alt.org.spdx.since.date_20140807' => 'FSFULLR',
8004             caption => 'FSF Unlimited License (with License Retention)',
8005             tags => [
8006             'license:is:grant',
8007             'type:unversioned',
8008             ],
8009              
8010             'pat.alt.subject.license.scope.sentence' =>
8011             "This file is free software; $fsf_ullr",
8012             };
8013              
8014             =item * ftl
8015              
8016             =cut
8017              
8018             $RE{ftl} = {
8019             name => 'FTL',
8020             'name.alt.org.fedora' => 'FTL',
8021             'name.alt.org.spdx.since.date_20130117' => 'FTL',
8022             'name.alt.misc.fossology_old' => 'Freetype',
8023             'name.alt.misc.fossology_old_upper' => 'FreeType',
8024             caption => 'Freetype Project License',
8025             'caption.alt.misc.short_camelcase' => 'FreeType License',
8026             'caption.alt.misc.legal_license' => 'The Freetype Project LICENSE',
8027             'caption.alt.org.fedora' => 'Freetype License',
8028             'caption.alt.org.tldr' => 'Freetype Project License (FTL)',
8029             iri => 'https://www.freetype.org/license.html',
8030             description => <<'END',
8031             Origin: BSD License family, Artistic License, and Independent JPEG Group License.
8032             END
8033             tags => [
8034             'type:unversioned',
8035             ],
8036              
8037             'pat.alt.subject.license' =>
8038             'This license applies to all files found in such packages',
8039             };
8040              
8041             =item * gfdl
8042              
8043             =item * gfdl_1_1
8044              
8045             =item * gfdl_1_1_only
8046              
8047             =item * gfdl_1_1_or_later
8048              
8049             =item * gfdl_1_2
8050              
8051             =item * gfdl_1_2_only
8052              
8053             =item * gfdl_1_2_or_later
8054              
8055             =item * gfdl_1_3
8056              
8057             =item * gfdl_1_3_only
8058              
8059             =item * gfdl_1_3_or_later
8060              
8061             =cut
8062              
8063             $RE{gfdl} = {
8064             name => 'GFDL',
8065             'name.alt.org.fedora' => 'GFDL',
8066             'name.alt.org.fsf' => 'FDL',
8067             'name.alt.org.trove' => 'FDL',
8068             'name.alt.org.wikidata.synth.nogrant' => 'Q22169',
8069             caption => 'GNU Free Documentation License',
8070             'caption.alt.org.trove' => 'GNU Free Documentation License (FDL)',
8071             'caption.alt.org.wikidata' => 'GNU Free Documentation License',
8072             tags => [
8073             'type:versioned:decimal',
8074             ],
8075             };
8076              
8077             $RE{gfdl_1_1} = {
8078             name => 'GFDL-1.1',
8079             'name.alt.org.fsf' => 'fdl-1.1',
8080             'name.alt.org.spdx.until.date_20171228' => 'GFDL-1.1',
8081             'name.alt.org.wikidata.synth.nogrant' => 'Q26921685',
8082             'name.alt.misc.fossology_old' => 'GFDL_v1.1',
8083             caption => 'GNU Free Documentation License v1.1',
8084             'caption.alt.org.wikidata' =>
8085             'GNU Free Documentation License, version 1.1',
8086             tags => [
8087             'license:published:by_fsf',
8088             'type:singleversion:gfdl',
8089             ],
8090             licenseversion => '1.1',
8091              
8092             'pat.alt.subject.license.scope.multisection.part.header' =>
8093             'GNU Free Documentation License[ ]' . 'Version 1\.1, March 2000',
8094             'pat.alt.subject.license.part.part1' =>
8095             'This License applies to any manual or other work that contains',
8096             'pat.alt.subject.license.scope.multisection.part.part9' =>
8097             'the original English version will prevail[.][ ]'
8098             . '[*)]TERMINATION',
8099             };
8100              
8101             $RE{gfdl_1_1_only} = {
8102             name => 'GFDL-1.1-only',
8103             'name.alt.org.spdx.since.date_20171228' => 'GFDL-1.1-only',
8104             caption => 'GNU Free Documentation License v1.1 only',
8105             'caption.alt.misc.short' => 'GFDLv1.1 only',
8106             tags => [
8107             'type:usage:gfdl_1_1:only',
8108             ],
8109             };
8110              
8111             $RE{gfdl_1_1_or_later} = {
8112             name => 'GFDL-1.1-or-later',
8113             'name.alt.org.debian' => 'GFDL-1.1+',
8114             'name.alt.org.spdx.since.date_20171228' => 'GFDL-1.1-or-later',
8115             'name.alt.org.wikidata.synth.nogrant' => 'Q50829096',
8116             'name.alt.misc.fossology_old' => 'GFDL_v1.1+',
8117             caption => 'GNU Free Documentation License v1.1 or later',
8118             'caption.alt.org.wikidata' =>
8119             'GNU Free Documentation License, version 1.1 or later',
8120             'caption.alt.misc.short' => 'GFDLv1.1 or later',
8121             tags => [
8122             'type:usage:gfdl_1_1:or_later',
8123             ],
8124             };
8125              
8126             $RE{gfdl_1_2} = {
8127             name => 'GFDL-1.2',
8128             'name.alt.org.fsf' => 'fdl-1.2',
8129             'name.alt.org.perl' => 'gfdl_1_2',
8130             'name.alt.org.spdx.until.date_20171228' => 'GFDL-1.2',
8131             'name.alt.org.wikidata.synth.nogrant' => 'Q26921686',
8132             'name.alt.misc.fossology_old' => 'GFDL_v1.2',
8133             'name.alt.misc.fossology_old_short' => 'GFDL1.2',
8134             caption => 'GNU Free Documentation License v1.2',
8135             'caption.alt.org.perl' => 'GNU Free Documentation License, Version 1.2',
8136             'caption.alt.org.wikidata' =>
8137             'GNU Free Documentation License, version 1.2',
8138             tags => [
8139             'license:published:by_fsf',
8140             'type:singleversion:gfdl',
8141             ],
8142             licenseversion => '1.2',
8143              
8144             'pat.alt.subject.license.scope.multisection.part.header' =>
8145             'GNU Free Documentation License[ ]' . 'Version 1\.2, November 2002',
8146             'pat.alt.subject.license.scope.sentence.part.part9' =>
8147             'You may not copy, modify, sublicense, or distribute the Document '
8148             . 'except as expressly provided for under this License',
8149             };
8150              
8151             $RE{gfdl_1_2_only} = {
8152             name => 'GFDL-1.2-only',
8153             'name.alt.org.spdx.since.date_20171228' => 'GFDL-1.2-only',
8154             caption => 'GNU Free Documentation License v1.2 only',
8155             'caption.alt.misc.short' => 'GFDLv1.2 only',
8156             tags => [
8157             'type:usage:gfdl_1_2:only',
8158             ],
8159             };
8160              
8161             $RE{gfdl_1_2_or_later} = {
8162             name => 'GFDL-1.2-or-later',
8163             'name.alt.org.debian' => 'GFDL-1.2+',
8164             'name.alt.org.spdx.since.date_20171228' => 'GFDL-1.2-or-later',
8165             'name.alt.org.wikidata.synth.nogrant' => 'Q50829104',
8166             'name.alt.misc.fossology_old' => 'GFDL_v1.2+',
8167             caption => 'GNU Free Documentation License v1.2 or later',
8168             'caption.alt.org.wikidata' =>
8169             'GNU Free Documentation License, version 1.2 or later',
8170             'caption.alt.misc.short' => 'GFDLv1.2 or later',
8171             tags => [
8172             'type:usage:gfdl_1_2:or_later',
8173             ],
8174             };
8175              
8176             $RE{gfdl_1_3} = {
8177             name => 'GFDL-1.3',
8178             'name.alt.org.fsf' => 'fdl-1.3',
8179             'name.alt.org.perl' => 'gfdl_1_3',
8180             'name.alt.org.spdx.until.date_20171228' => 'GFDL-1.3',
8181             'name.alt.org.tldr' => 'gnu-free-documentation-license',
8182             'name.alt.org.tldr.path.short.synth.nogrant' => 'fdl',
8183             'name.alt.org.wikidata.synth.nogrant' => 'Q26921691',
8184             'caption.alt.org.wikidata' =>
8185             'GNU Free Documentation License, version 1.3',
8186             'name.alt.misc.fossology_old' => 'GFDL1.3',
8187             caption => 'GNU Free Documentation License v1.3',
8188             'caption.alt.org.perl' => 'GNU Free Documentation License, Version 1.3',
8189             'caption.alt.org.tldr' => 'GNU Free Documentation License v1.3 (FDL-1.3)',
8190             tags => [
8191             'license:published:by_fsf',
8192             'type:singleversion:gfdl',
8193             ],
8194             licenseversion => '1.3',
8195              
8196             'pat.alt.subject.license.scope.multisection.part.header' =>
8197             'GNU Free Documentation License[ ]'
8198             . 'Version 1\.3, 3 November 2008',
8199             'pat.alt.subject.license.scope.sentence.part.part9' =>
8200             'You may not copy, modify, sublicense, or distribute the Document '
8201             . 'except as expressly provided for under this License',
8202             };
8203              
8204             $RE{gfdl_1_3_only} = {
8205             name => 'GFDL-1.3-only',
8206             'name.alt.org.spdx.since.date_20171228' => 'GFDL-1.3-only',
8207             caption => 'GNU Free Documentation License v1.3 only',
8208             'caption.alt.misc.short' => 'GFDLv1.3 only',
8209             tags => [
8210             'type:usage:gfdl_1_3:only',
8211             ],
8212             };
8213              
8214             $RE{gfdl_1_3_or_later} = {
8215             name => 'GFDL-1.3-or-later',
8216             'name.alt.org.debian' => 'GFDL-1.3+',
8217             'name.alt.org.spdx.since.date_20171228' => 'GFDL-1.3-or-later',
8218             'name.alt.org.wikidata.synth.nogrant' => 'Q27019786',
8219             caption => 'GNU Free Documentation License v1.3 or later',
8220             'caption.alt.org.wikidata' =>
8221             'GNU Free Documentation License, version 1.3 or later',
8222             'caption.alt.misc.short' => 'GFDLv1.3 or later',
8223             tags => [
8224             'type:usage:gfdl_1_3:or_later',
8225             ],
8226             };
8227              
8228             =item * gfdl_niv
8229              
8230             =cut
8231              
8232             $RE{gfdl_niv} = {
8233             name => 'GFDL-NIV',
8234             caption => 'GNU Free Documentation License (no invariant sections)',
8235             summary =>
8236             'GNU Free Documentation License, with no Front-Cover or Back-Cover Texts or Invariant Sections',
8237             tags => [
8238             'type:versioned:decimal',
8239             ],
8240              
8241             'pat.alt.subject.name' =>
8242             "$the?$gnu?Free Documentation Licen[cs]e(?: [(]GFDL[)])?"
8243             . $RE{by_fsf}{'pat.alt.subject.trait'}
8244             . "?[;]? $niv",
8245             };
8246              
8247             =item * glide
8248              
8249             I
8250              
8251             =cut
8252              
8253             $RE{glide} = {
8254             name => 'Glide',
8255             'name.alt.org.fedora' => 'Glide',
8256             'name.alt.org.spdx.since.date_20140807' => 'Glide',
8257             caption => '3dfx Glide License',
8258             'caption.alt.org.tldr' => '3dfx Glide License',
8259             'caption.alt.misc.legal_grant' => 'THE 3DFX GLIDE GENERAL PUBLIC LICENSE',
8260             tags => [
8261             'license.contains.grant',
8262             'type:unversioned',
8263             ],
8264              
8265             'pat.alt.subject.license.scope.line.scope.sentence.part.intro' =>
8266             'This license is for software that provides a 3D graphics',
8267             };
8268              
8269             =item * gpl
8270              
8271             =item * gpl_1
8272              
8273             I
8274              
8275             =item * gpl_1_only
8276              
8277             =item * gpl_1_or_later
8278              
8279             =item * gpl_2
8280              
8281             I
8282              
8283             =item * gpl_2_only
8284              
8285             =item * gpl_2_or_later
8286              
8287             =item * gpl_3
8288              
8289             I
8290              
8291             =item * gpl_3_only
8292              
8293             =item * gpl_3_or_later
8294              
8295             =cut
8296              
8297             $RE{gpl} = {
8298             name => 'GPL',
8299             'name.alt.org.fsf' => 'GNUGPL',
8300             'name.alt.org.osi' => 'gpl-license',
8301             'name.alt.org.osi.misc.shortname' => 'GPL',
8302             'name.alt.org.wikidata.synth.nogrant' => 'Q7603',
8303             'name.alt.misc.fossology_old' => 'CC_GPL',
8304             caption => 'GNU General Public License',
8305             'caption.alt.org.fedora' => 'GNU General Public License',
8306             'caption.alt.org.fsf' => 'GNU General Public License (GPL)',
8307             'caption.alt.org.osi' => 'GNU General Public License',
8308             'caption.alt.org.trove' => 'GNU General Public License (GPL)',
8309             'caption.alt.org.wikipedia' => 'GNU General Public License',
8310             tags => [
8311             'family:gpl',
8312             'license:contains:grant',
8313             'type:versioned:decimal',
8314             ],
8315              
8316             '_pat.alt.subject.name' => [
8317             "$the?$gnu?$gpl(?: [(]GPL[)])?"
8318             . $RE{by_fsf}{'pat.alt.subject.trait'} . '?',
8319             "$the$gnu?GPL",
8320             "${the}GNU [Ll]icense",
8321             "${gnu}GPL",
8322             ],
8323             };
8324              
8325             $RE{gpl_1} = {
8326             name => 'GPL-1.0',
8327             'name.alt.org.debian' => 'GPL-1',
8328             'name.alt.org.perl' => 'gpl_1',
8329             'name.alt.org.fsf' => 'GPLv1',
8330             'name.alt.org.wikidata.synth.nogrant' => 'Q10513452',
8331             'name.alt.misc.fossology_old' => 'GPL1.0',
8332             'name.alt.misc.fossology_old_short' => 'GPL_v1',
8333             caption => 'GNU General Public License, Version 1',
8334             'caption.alt.org.wikidata' => 'GNU General Public License, version 1.0',
8335             iri => 'https://www.gnu.org/licenses/old-licenses/gpl-1.0.html',
8336             'iri.alt.format.txt' =>
8337             'https://www.gnu.org/licenses/old-licenses/gpl-1.0.txt',
8338             'iri.alt.path.short' => 'http://www.gnu.org/licenses/gpl-1.0.html',
8339             tags => [
8340             'family:gpl',
8341             'license:published:by_fsf',
8342             'type:singleversion:gpl',
8343             ],
8344             licenseversion => '1.0',
8345              
8346             'pat.alt.subject.license.scope.multisection.part.tail_sample' =>
8347             '[<]?name of author[>]?[ ]'
8348             . 'This program is free software[;]? '
8349             . 'you can redistribute it and[/]or modify it '
8350             . 'under the terms of the GNU General Public License '
8351             . 'as published by the Free Software Foundation[;]? '
8352             . 'either version 1, or',
8353             };
8354              
8355             $RE{gpl_1_only} = {
8356             name => 'GPL-1.0-only',
8357             'name.alt.org.fedora.synth.nogrant' => 'GPLv1',
8358             'name.alt.org.spdx.until.date_20171228.synth.nogrant' => 'GPL-1.0',
8359             'name.alt.org.spdx.since.date_20171228' => 'GPL-1.0-only',
8360             caption => 'GNU General Public License v1.0 only',
8361             'caption.alt.misc.short' => 'GPLv1 only',
8362             tags => [
8363             'family:gpl',
8364             'license:published:by_fsf',
8365             'type:usage:gpl_1:only',
8366             ],
8367             };
8368              
8369             $RE{gpl_1_or_later} = {
8370             name => 'GPL-1.0-or-later',
8371             'name.alt.org.fedora' => 'GPL+',
8372             'name.alt.org.debian' => 'GPL-1+',
8373             'name.alt.org.spdx.until.date_20150513' => 'GPL-1.0+',
8374             'name.alt.org.spdx.since.date_20171228' => 'GPL-1.0-or-later',
8375             'name.alt.org.wikidata.synth.nogrant' => 'Q27016750',
8376             'name.alt.misc.fossology_old_short' => 'GPL_v1+',
8377             caption => 'GNU General Public License v1.0 or later',
8378             'caption.alt.org.wikidata' =>
8379             'GNU General Public License, version 1.0 or later',
8380             'caption.alt.misc.short' => 'GPLv1 or later',
8381             tags => [
8382             'family:gpl',
8383             'license:published:by_fsf',
8384             'type:usage:gpl_1:or_later',
8385             ],
8386             };
8387              
8388             $RE{gpl_2} = {
8389             name => 'GPL-2',
8390             'name.alt.misc.short' => 'GPLv2',
8391             'name.alt.org.debian' => 'GPL-2',
8392             'name.alt.org.fsf' => 'GNUGPLv2',
8393             'name.alt.org.osi' => 'GPL-2.0',
8394             'name.alt.org.osi.iri.stem.until.date_20110430' => 'gpl-2.0',
8395             'name.alt.org.perl' => 'gpl_2',
8396             'name.alt.org.tldr' => 'gnu-general-public-license-v2',
8397             'name.alt.org.tldr.path.short' => 'gpl2',
8398             'name.alt.org.trove' => 'GPLv2',
8399             'name.alt.org.wikidata.synth.nogrant' => 'Q10513450',
8400             'name.alt.misc.fossology_old' => 'GPL2.0',
8401             'name.alt.misc.fossology_old_cc' => 'CC_GPL_v2',
8402             'name.alt.misc.fossology_old_short' => 'GPL_v2',
8403             caption => 'GNU General Public License, Version 2',
8404             'caption.alt.org.cc.until.date_20100915' =>
8405             'Creative Commons GNU GPL', # TODO: find official date
8406             'caption.alt.org.cc.misc.short.until.date_20100915' =>
8407             'CC-GNU GPL', # TODO: find official date
8408             'caption.alt.org.fedora.misc.cc' => 'Creative Commons GNU GPL',
8409             'caption.alt.org.fsf' => 'GNU General Public License (GPL) version 2',
8410             'caption.alt.org.trove' => 'GNU General Public License v2 (GPLv2)',
8411             'caption.alt.org.osi' => 'GNU General Public License version 2',
8412             'caption.alt.org.osi.misc.list' =>
8413             'GNU General Public License, version 2',
8414             'caption.alt.org.tldr' => 'GNU General Public License v2.0 (GPL-2.0)',
8415             'caption.alt.org.wikidata' => 'GNU General Public License, version 2.0',
8416             iri => 'https://www.gnu.org/licenses/old-licenses/gpl-2.0.html',
8417             'iri.alt.format.txt' =>
8418             'https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt',
8419             'iri.alt.path.short' => 'http://www.gnu.org/licenses/gpl-2.0.html',
8420             'iri.alt.org.cc.archive.time_20101028012914.until.date_20101028' =>
8421             'http://creativecommons.org/licenses/GPL/2.0/'
8422             , # TODO: find official date
8423             'iri.alt.org.cc.archive.time_20100915084134.until.date_20100915' =>
8424             'http://creativecommons.org/choose/cc-gpl', # TODO: find official date
8425             tags => [
8426             'family:gpl',
8427             'license:published:by_fsf',
8428             'type:singleversion:gpl',
8429             ],
8430             licenseversion => '2.0',
8431              
8432             'pat.alt.subject.license.scope.sentence.part.preamble' =>
8433             '[(]Some other Free Software Foundation software is covered by t?he GNU (Library|Lesser)',
8434             'pat.alt.subject.license.scope.line.scope.paragraph.part.title' =>
8435             'GNU General Public License [(]GPL[)]. Version 2, June 1991',
8436             'pat.alt.subject.license.scope.multisection.part.tail_sample' =>
8437             '[<]?name of author[>]?[ ]'
8438             . 'This program is free software[;]? '
8439             . 'you can redistribute it and[/]or modify it '
8440             . 'under the terms of the GNU General Public License '
8441             . 'as published by the Free Software Foundation[;]? '
8442             . 'either version 2 of the License, or',
8443             };
8444              
8445             $RE{gpl_2_only} = {
8446             name => 'GPL-2.0-only',
8447             'name.alt.org.fedora.synth.nogrant' => 'GPLv2',
8448             'name.alt.org.spdx.until.date_20171228.synth.nogrant' => 'GPL-2.0',
8449             'name.alt.org.spdx.since.date_20171228' => 'GPL-2.0-only',
8450             caption => 'GNU General Public License v2.0 only',
8451             'caption.alt.misc.short' => 'GPLv2 only',
8452             tags => [
8453             'family:gpl',
8454             'license:published:by_fsf',
8455             'type:usage:gpl_2:only',
8456             ],
8457             };
8458              
8459             $RE{gpl_2_or_later} = {
8460             name => 'GPL-2.0-or-later',
8461             'name.alt.org.fedora' => 'GPLv2+',
8462             'name.alt.org.debian' => 'GPL-2+',
8463             'name.alt.org.fedora' => 'GPLv2+',
8464             'name.alt.org.spdx.until.date_20150513' => 'GPL-2.0+',
8465             'name.alt.org.spdx.since.date_20171228' => 'GPL-2.0-or-later',
8466             'name.alt.org.trove' => 'GPLv2+',
8467             'name.alt.org.wikidata.synth.nogrant' => 'Q27016752',
8468             'name.alt.misc.fossology_old_short' => 'GPL_v2+',
8469             caption => 'GNU General Public License v2.0 or later',
8470             'caption.alt.misc.short' => 'GPLv2 or later',
8471             'caption.alt.org.trove' =>
8472             'GNU General Public License v2 or later (GPLv2+)',
8473             'caption.alt.org.wikidata' =>
8474             'GNU General Public License, version 2.0 or later',
8475             tags => [
8476             'family:gpl',
8477             'license:published:by_fsf',
8478             'type:usage:gpl_2:or_later',
8479             ],
8480             };
8481              
8482             $RE{gpl_3} = {
8483             name => 'GPL-3',
8484             'name.alt.misc.short' => 'GPLv3',
8485             'name.alt.org.debian' => 'GPL-3',
8486             'name.alt.org.fsf' => 'GNUGPLv3',
8487             'name.alt.org.osi' => 'GPL-3.0',
8488             'name.alt.org.osi.iri.stem.until.date_20110430' => 'gpl-3.0',
8489             'name.alt.org.perl' => 'gpl_3',
8490             'name.alt.org.tldr.path.short' => 'gpl-3.0',
8491             'name.alt.org.trove' => 'GPLv3',
8492             'name.alt.org.wikidata.synth.nogrant' => 'Q10513445',
8493             'name.alt.misc.fossology_old' => 'GPL3.0',
8494             'name.alt.misc.fossology_old_short' => 'GPL_v3',
8495             caption => 'GNU General Public License, Version 3',
8496             'caption.alt.org.fsf' => 'GNU General Public License (GPL) version 3',
8497             'caption.alt.org.osi' => 'GNU General Public License version 3',
8498             'caption.alt.org.osi.misc.list' =>
8499             'GNU General Public License, version 3',
8500             'caption.alt.org.tldr' => 'GNU General Public License v3 (GPL-3)',
8501             'caption.alt.org.trove' => 'GNU General Public License v3 (GPLv3)',
8502             'caption.alt.org.wikidata' => 'GNU General Public License, version 3.0',
8503             iri => 'https://www.gnu.org/licenses/gpl.html',
8504             'iri.alt.format.txt' => 'https://www.gnu.org/licenses/gpl.txt',
8505             'iri.alt.path.fragmented' =>
8506             'https://www.gnu.org/licenses/licenses.html#GPL',
8507             'iri.alt.path.versioned' => 'http://www.gnu.org/licenses/gpl-3.0.html',
8508             tags => [
8509             'family:gpl',
8510             'license:published:by_fsf',
8511             'type:singleversion:gpl',
8512             ],
8513             licenseversion => '3.0',
8514              
8515             'pat.alt.subject.license.part.part0' =>
8516             '["]This License["] refers to version 3 of the GNU General',
8517             'pat.alt.subject.license.scope.sentence.part.part13' =>
8518             'Notwithstanding any other provision of this License, '
8519             . 'you have permission to link or combine any covered work '
8520             . 'with a work licensed under version 3 of the GNU Affero',
8521             'pat.alt.subject.license.scope.multisection.part.tail_sample' =>
8522             '[<]?name of author[>]?[ ]'
8523             . 'This program is free software[;]? '
8524             . 'you can redistribute it and[/]or modify it '
8525             . 'under the terms of the GNU General Public License '
8526             . 'as published by the Free Software Foundation[;]? '
8527             . 'either version 3 of the License, or',
8528              
8529             #<<< do not let perltidy touch this (keep long regex on one line)
8530             examples => [
8531             { summary => 'pattern with subject "license" matches canonical license grant with adequate context',
8532             gen_args => { subject => 'license' },
8533             ## no Test::Tabs
8534             str => <<'END',
8535             Copyright (C)
8536              
8537             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.
8538             END
8539             ## use Test::Tabs
8540             matches => 1,
8541             },
8542             { summary => 'pattern with subject "license" doesn\'t match canonical license grant only',
8543             gen_args => { subject => 'license' },
8544             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.',
8545             matches => 0,
8546             },
8547             { summary => 'pattern with subject "grant" matches canonical license grant',
8548             gen_args => { subject => 'grant' },
8549             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.',
8550             matches => 1,
8551             },
8552             { summary => 'pattern with subject "grant" matches a license grant without usage specified',
8553             gen_args => { subject => 'grant' },
8554             str => 'Licensed under the GNU General Public License version 3.',
8555             matches => 1,
8556             },
8557             { summary => 'pattern with subject "grant" doesn\'t match license grant with usage in front',
8558             gen_args => { subject => 'grant' },
8559             str => 'Licensed under v3 or newer of the GNU General Public License.',
8560             matches => 0,
8561             },
8562             { summary => 'pattern with subject "grant" doesn\'t match license name only',
8563             gen_args => { subject => 'grant' },
8564             str => 'GNU General Public License v3',
8565             matches => 0,
8566             },
8567             { summary => 'pattern with subject "name" matches license name',
8568             gen_args => { subject => 'name' },
8569             str => 'GNU General Public License v3',
8570             matches => 1,
8571             },
8572             { summary => 'pattern with subject "iri" doesn\'t match license name',
8573             gen_args => { subject => 'iri' },
8574             str => 'GNU General Public License v3',
8575             matches => 0,
8576             },
8577             ],
8578             #>>>
8579             };
8580              
8581             $RE{gpl_3_only} = {
8582             name => 'GPL-3.0-only',
8583             'name.alt.org.fedora.synth.nogrant' => 'GPLv3',
8584             'name.alt.org.spdx.until.date_20171228.synth.nogrant' => 'GPL-3.0',
8585             'name.alt.org.spdx.since.date_20171228' => 'GPL-3.0-only',
8586             caption => 'GNU General Public License v3.0 only',
8587             'caption.alt.misc.short' => 'GPLv3 only',
8588             tags => [
8589             'family:gpl',
8590             'license:published:by_fsf',
8591             'type:usage:gpl_3:only',
8592             ],
8593              
8594             #<<< do not let perltidy touch this (keep long regex on one line)
8595             examples => [
8596             { summary => 'pattern with subject "license" doesn\'t match canonical license grant even with context',
8597             gen_args => { subject => 'license' },
8598             ## no Test::Tabs
8599             str => <<'END',
8600             Copyright (C)
8601              
8602             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.
8603             END
8604             ## use Test::Tabs
8605             matches => 0,
8606             },
8607             { summary => 'pattern with subject "license" doesn\'t match canonical license grant only',
8608             gen_args => { subject => 'license' },
8609             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.',
8610             matches => 0,
8611             },
8612             { summary => 'pattern with subject "license" doesn\'t match a non-canonical license grant',
8613             gen_args => { subject => 'license' },
8614             str => 'modify it under the terms of the GNU General Public License',
8615             matches => 0,
8616             },
8617             { summary => 'pattern with subject "grant" matches canonical license grant',
8618             gen_args => { subject => 'grant' },
8619             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.',
8620             matches => 1,
8621             },
8622             { summary => 'pattern with subject "grant" matches license grant with usage in front',
8623             gen_args => { subject => 'grant' },
8624             str => 'Licensed under v3 only of the GNU General Public License.',
8625             matches => 1,
8626             },
8627             { summary => 'pattern with subject "grant" doesn\'t match a license grant without usage specified',
8628             gen_args => { subject => 'grant' },
8629             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.',
8630             matches => 0,
8631             },
8632             { summary => 'pattern with subject "grant" doesn\'t match license grant with different usage',
8633             gen_args => { subject => 'grant' },
8634             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.',
8635             matches => 0,
8636             },
8637             { summary => 'pattern with subject "grant" doesn\'t match license name only',
8638             gen_args => { subject => 'grant' },
8639             str => 'GNU General Public License v3.0 only',
8640             matches => 0,
8641             },
8642             { summary => 'pattern with subject "name" matches canonical license name',
8643             gen_args => { subject => 'name' },
8644             str => 'GNU General Public License v3.0 only',
8645             matches => 1,
8646             },
8647             { summary => 'pattern with subject "name" doesn\'t match a license name without usage specified',
8648             gen_args => { subject => 'name' },
8649             str => 'GNU General Public License v3.0',
8650             matches => 0,
8651             },
8652             { summary => 'pattern with subject "name" doesn\'t match a license name with different usage',
8653             gen_args => { subject => 'name' },
8654             str => 'GNU General Public License v3.0 or later',
8655             matches => 0,
8656             },
8657             { summary => 'pattern with subject "iri" doesn\'t match canonical license name',
8658             gen_args => { subject => 'iri' },
8659             str => 'GNU General Public License v3.0 only',
8660             matches => 0,
8661             },
8662             ],
8663             #>>>
8664             };
8665              
8666             $RE{gpl_3_or_later} = {
8667             name => 'GPL-3.0-or-later',
8668             'name.alt.org.fedora' => 'GPLv3+',
8669             'name.alt.org.debian' => 'GPL-3+',
8670             'name.alt.org.spdx.until.date_20150513' => 'GPL-3.0+',
8671             'name.alt.org.spdx.since.date_20171228' => 'GPL-3.0-or-later',
8672             'name.alt.org.trove' => 'GPLv3+',
8673             'name.alt.org.wikidata.synth.nogrant' => 'Q27016754',
8674             'name.alt.misc.fossology_old_short' => 'GPL_v3+',
8675             caption => 'GNU General Public License v3.0 or later',
8676             'caption.alt.misc.short' => 'GPLv3 or later',
8677             'caption.alt.org.trove' =>
8678             'GNU General Public License v3 or later (GPLv3+)',
8679             'caption.alt.org.wikidata' =>
8680             'GNU General Public License, version 3.0 or later',
8681             tags => [
8682             'family:gpl',
8683             'license:published:by_fsf',
8684             'type:usage:gpl_3:or_later',
8685             ],
8686             };
8687              
8688             =item * gsoap
8689              
8690             I
8691              
8692             =item * gsoap_1.3b
8693              
8694             I
8695              
8696             =cut
8697              
8698             $RE{gsoap} = {
8699             name => 'gSOAP',
8700             'name.alt.org.wikidata.synth.nogrant' => 'Q3756289',
8701             caption => 'gSOAP Public License',
8702             tags => [
8703             'type:versioned:decimal',
8704             ],
8705             };
8706              
8707             $RE{gsoap_1_3b} = {
8708             name => 'gSOAP-1.3b',
8709             'name.alt.org.spdx' => 'gSOAP-1.3b',
8710             caption => 'gSOAP Public License v1.3b',
8711             'caption.alt.org.fedora.synth.nogrant' => 'gSOAP Public License',
8712             description => <<'END',
8713             Origin: Mozilla Public License Version 1.1
8714             END
8715             tags => [
8716             'type:singleversion:gsoap',
8717             ],
8718             licenseversion => '1.3b',
8719              
8720             'pat.alt.subject.license.scope.line.scope.sentence.part.head' =>
8721             'The gSOAP public license is derived from the Mozilla Public License',
8722             'pat.alt.subject.license.scope.line.scope.sentence.part.section_3_8' =>
8723             'You may not remove any product identification',
8724             };
8725              
8726             =item * hpnd
8727              
8728             I
8729              
8730             =cut
8731              
8732             $RE{hpnd} = {
8733             name => 'HPND',
8734             'name.alt.org.osi' => 'HPND',
8735             'name.alt.org.osi.iri.stem.until.date_20110430' => 'historical',
8736             'name.alt.org.spdx' => 'HPND',
8737             'name.alt.org.wikidata.synth.nogrant' => 'Q5773924',
8738             caption => 'Historical Permission Notice and Disclaimer',
8739             'caption.alt.org.fedora' => 'Historical Permission Notice and Disclaimer',
8740             'caption.alt.org.spdx.until.date_20171228' =>
8741             'Historic Permission Notice and Disclaimer',
8742             'caption.alt.org.spdx.since.date_20171228' =>
8743             'Historical Permission Notice and Disclaimer',
8744             'caption.alt.org.tldr' =>
8745             'Historic Permission Notice and Disclaimer (HPND)',
8746             'caption.alt.org.trove' =>
8747             'Historical Permission Notice and Disclaimer (HPND)',
8748             'caption.alt.org.wikipedia' =>
8749             'Historical Permission Notice and Disclaimer',
8750             description => <<'END',
8751             Identical to NTP, except...
8752             * omit explicit permission to charge fee
8753             * relax suitability disclaimer and terse "as is" warranty disclaimer as optional
8754             * add optional elaborate warranty disclaimer and liability disclaimer
8755             END
8756             tags => [
8757             'family:mit',
8758             'license:is:grant',
8759             'type:unversioned',
8760             ],
8761              
8762             'pat.alt.subject.license.scope.sentence' =>
8763             'Permission to use, copy, modify and distribute '
8764             . 'this software and its documentation '
8765             . 'for any purpose and without fee',
8766             'pat.alt.subject.license.scope.paragraph' =>
8767             'Permission to use, copy, modify and distribute '
8768             . 'this software and its documentation '
8769             . 'for any purpose and without fee is hereby granted, '
8770             . 'provided that the above copyright notice appears? in all copies,?(?: and)? '
8771             . 'that both(?: that)?(?: the)? copyright notice '
8772             . 'and this permission notice appear in supporting documentation'
8773             . '(?:, and that the name [word][ word]{0,14} not be used '
8774             . 'in advertising or publicity pertaining to distribution '
8775             . 'of the software without specific, written prior permission'
8776             . '[. ][word][ word]{0,14} makes no representations '
8777             . 'about the suitability of this software for any purpose'
8778             . '[. ]It is provided [as is] without express or implied warranty[.])?',
8779             };
8780              
8781             =item * hpnd_sell
8782              
8783             I
8784              
8785             =cut
8786              
8787             $RE{hpnd_sell} = {
8788             name => 'HPND-sell-variant',
8789             'name.alt.org.spdx.since.date_20190402' => 'HPND-sell-variant',
8790             caption => 'Historical Permission Notice and Disclaimer - sell variant',
8791             description => <<'END',
8792             Identical to HPND, except...
8793             * add explicit permission to sell
8794             * omit explicit permission to charge fee
8795             * extend permissions with note that they are granted without fee
8796              
8797             Identical to NTP, except...
8798             * add explicit permission to sell
8799             * omit explicit permission to charge or not charge fee
8800             * extend permissions with note that they are granted without fee
8801             * relax suitability disclaimer and terse "as is" warranty disclaimer as optional
8802             * add optional elaborate warranty disclaimer and liability disclaimer
8803             END
8804             tags => [
8805             'family:mit',
8806             'license:is:grant',
8807             'type:unversioned',
8808             ],
8809              
8810             'pat.alt.subject.license.scope.paragraph' =>
8811             'Permission to use, copy, modify, distribute, and sell '
8812             . 'this software and its documentation '
8813             . 'for any purpose is hereby granted without fee, '
8814             . 'provided that the above copyright notice appears? in all copies,?(?: and)? '
8815             . 'that both(?: that)?(?: the)? copyright notice '
8816             . 'and this permission notice appear in supporting documentation'
8817             . '(?:, and that the name [word][ word]{0,14} not be used '
8818             . 'in advertising or publicity pertaining to distribution '
8819             . 'of the software without specific, written prior permission'
8820             . '[. ][word][ word]{0,14} makes no representations '
8821             . 'about the suitability of this software for any purpose'
8822             . '[. ]It is provided [as is] without express or implied warranty[.])?',
8823             };
8824              
8825             =item * ibm_pibs
8826              
8827             I
8828              
8829             =cut
8830              
8831             $RE{ibm_pibs} = {
8832             name => 'IBM-pibs',
8833             'name.alt.org.spdx.since.date_20130912' => 'IBM-pibs',
8834             caption => 'IBM PowerPC Initialization and Boot Software',
8835             'caption.alt.org.tldr' =>
8836             'IBM PowerPC Initialization and Boot Software (IBM-pibs)',
8837             tags => [
8838             'license:is:grant',
8839             'type:unversioned',
8840             ],
8841              
8842             'pat.alt.subject.license.scope.line.scope.sentence' =>
8843             'Any user of this software should understand that IBM cannot',
8844             };
8845              
8846             =item * icu
8847              
8848             =cut
8849              
8850             $RE{icu} = {
8851             name => 'ICU',
8852             'name.alt.org.spdx.since.date_20150513' => 'ICU',
8853             caption => 'ICU License',
8854             'summary.alt.org.fedora.iri.mit' =>
8855             'MIT-style license, Modern style (ICU Variant)',
8856             tags => [
8857             'family:mit',
8858             'license:is:grant',
8859             'type:unversioned',
8860             ],
8861              
8862             'pat.alt.subject.license.scope.multisection' => $P{note_copr_perm}
8863             . ' of the Software and that '
8864             . $P{repro_copr_perm_appear_doc}
8865             . '[.][ ]'
8866             . $P{asis_sw_warranty}
8867             . '(?:[^.]+[. ]){2}'
8868             . $P{nopromo_except},
8869             };
8870              
8871             =item * ijg
8872              
8873             I
8874              
8875             =cut
8876              
8877             $RE{ijg} = {
8878             name => 'IJG',
8879             'name.alt.org.fedora.iri.self' => 'IJG',
8880             'name.alt.org.spdx.since.date_20130117' => 'IJG',
8881             'name.alt.org.wikidata.synth.nogrant' => 'Q106186423',
8882             caption => 'Independent JPEG Group License',
8883             'caption.alt.org.tldr' => 'Independent JPEG Group License (IJG)',
8884             tags => [
8885             'type:unversioned',
8886             ],
8887              
8888             'pat.alt.subject.license.scope.section.part.intro' =>
8889             "We don[']t promise that this software works" . '[. ]'
8890             . '[(]But if you find any bugs, please let us know[!][)]',
8891             };
8892              
8893             =item * imlib2
8894              
8895             I
8896              
8897             =cut
8898              
8899             $RE{imlib2} = {
8900             name => 'Imlib2',
8901             'name.alt.org.fedora.iri.self' => 'Imlib2',
8902             'name.alt.org.spdx.since.date_20130117' => 'Imlib2',
8903             caption => 'Imlib2 License',
8904             'caption.alt.org.tldr' => 'Imlib2 License (Imlib2)',
8905             description => <<'END',
8906             Identical to enna License, except...
8907             * Define meaning of making source available
8908             * Describe purpose of copyright notice
8909             END
8910             tags => [
8911             'family:mit',
8912             'license:is:grant',
8913             'type:unversioned',
8914             ],
8915              
8916             'pat.alt.subject.license.scope.section' => $P{perm_granted}
8917             . $P{free_charge}
8918             . $P{to_pers}
8919             . $P{the_sw}
8920             . $P{to_deal_the_sw_rights}
8921             . $P{subj_cond}
8922             . $P{to_copy_sublicence_conditions}
8923             . '[:]?[ ]'
8924             . $P{retain_copr_perm_sw_copr} . '[. ]'
8925             . $P{ack_pub_use_nosrc} . '[. ]'
8926             . 'Making the source available publicly means '
8927             . 'including the source for this software with the distribution, '
8928             . 'or a method to get this software via some reasonable mechanism '
8929             . '[(]electronic transfer via a network or media[)] '
8930             . 'as well as making an offer to supply the source on request'
8931             . '[. ]'
8932             . 'This Copyright notice serves as an offer to supply the source on on request as well'
8933             . '[. ]'
8934             . 'Instead of this, supplying acknowledgments of use of this software '
8935             . 'in either Copyright notices, Manuals, Publicity and Marketing documents '
8936             . 'or any documentation provided '
8937             . 'with any product containing this software[. ]'
8938             . $P{license_not_lib} . '[.]',
8939             'pat.alt.subject.license.scope.line' =>
8940             'Making the source available publicly means including',
8941             };
8942              
8943             =item * intel
8944              
8945             I
8946              
8947             =cut
8948              
8949             $RE{intel} = {
8950             name => 'Intel',
8951             'name.alt.org.osi' => 'Intel',
8952             'name.alt.org.osi.iri.stem.until.date_20110430' =>
8953             'intel-open-source-license',
8954             'name.alt.org.spdx.since.date_20130117' => 'Intel',
8955             'name.alt.org.wikidata.synth.nogrant' => 'Q6043507',
8956             caption => 'Intel Open Source License',
8957             'caption.alt.org.fedora' => 'Intel Open Source License',
8958             'caption.alt.org.osi' => 'The Intel Open Source License',
8959             'caption.alt.org.osi.misc.list' => 'Intel Open Source License',
8960             'caption.alt.org.tldr' => 'Intel Open Source License (Intel)',
8961             'caption.alt.org.trove' => 'Intel Open Source License',
8962             description => <<'END',
8963             Identical to BSD 3 Clause, except...
8964             * Add export law disclaimer
8965             END
8966             tags => [
8967             'family:bsd',
8968             'license:contains:license:bsd_3_clause',
8969             'license:is:grant',
8970             'type:unversioned',
8971             ],
8972              
8973             'pat.alt.subject.license.scope.multisection' => $P{repro_copr_cond_discl}
8974             . '[.]?[ ]'
8975             . '(?:[*)]\[?(?:rescinded 22 July 1999'
8976             . '|This condition was removed[.])\]?)?' . '[*)]'
8977             . $P{nopromo_neither}
8978             . '[.][ ]'
8979             . $P{discl_warranties} . '[. ]'
8980             . $P{discl_liability}
8981             . '[.][ ]'
8982             . 'EXPORT LAWS[:] THIS LICENSE ADDS NO RESTRICTIONS TO THE EXPORT LAWS',
8983             'pat.alt.subject.license.scope.line.scope.sentence.part.last' =>
8984             'THIS LICENSE ADDS NO RESTRICTIONS TO THE EXPORT LAWS',
8985             };
8986              
8987             =item * ipa
8988              
8989             I
8990              
8991             =cut
8992              
8993             $RE{ipa} = {
8994             name => 'IPA',
8995             'name.alt.org.fedora' => 'IPA',
8996             'name.alt.org.osi' => 'IPA',
8997             'name.alt.org.osi.iri.stem.until.date_20110430' => 'ipafont',
8998             'name.alt.org.spdx' => 'IPA',
8999             'name.alt.org.tldr.path.short' => 'ipa',
9000             'name.alt.org.wikidata.synth.nogrant' => 'Q38366264',
9001             caption => 'IPA Font License',
9002             'caption.alt.org.tldr' => 'IPA Font License (IPA)',
9003             tags => [
9004             'type:unversioned',
9005             ],
9006              
9007             'pat.alt.subject.license.scope.line.scope.sentence.part.intro' =>
9008             'The Licensor provides the Licensed Program',
9009             };
9010              
9011             =item * ipl
9012              
9013             =item * ipl_1
9014              
9015             =cut
9016              
9017             $RE{ipl} = {
9018             name => 'IPL',
9019             'name.alt.org.fedora.synth.nogrant' => 'IBM',
9020             'name.alt.org.osi.iri.stem.until.date_20110430' => 'ibmpl',
9021             'name.alt.org.wikidata.synth.nogrant' => 'Q288745',
9022             'name.alt.misc.fossology_old' => 'IBM-PL',
9023             'name.alt.misc.fossology_old_vague.synth.nogrant' => 'IBM',
9024             caption => 'IBM Public License',
9025             'caption.alt.org.trove' => 'IBM Public License',
9026             'caption.alt.org.wikipedia' => 'IBM Public License',
9027             tags => [
9028             'type:versioned:decimal',
9029             ],
9030             };
9031              
9032             $RE{ipl_1} = {
9033             name => 'IPL-1.0',
9034             'name.alt.org.osi' => 'IPL-1.0',
9035             'name.alt.org.spdx' => 'IPL-1.0',
9036             'name.alt.org.tldr.path.short' => 'ipl',
9037             caption => 'IBM Public License v1.0',
9038             'caption.alt.org.osi' => 'IBM Public License 1.0',
9039             'caption.alt.org.osi.misc.list' => 'IBM Public License Version 1.0',
9040             'caption.alt.org.tldr' => 'IBM Public License 1.0 (IPL)',
9041             'caption.alt.misc.legal' => 'IBM Public License Version 1.0',
9042             'caption.alt.misc.fossology_old' => 'IBM-PL 1.0',
9043             description => <<'END',
9044             Origin: Possibly Lucent Public License Version 1.0
9045             END
9046             tags => [
9047             'type:singleversion:ipl',
9048             ],
9049             licenseversion => '1.0',
9050              
9051             'pat.alt.subject.license.scope.sentence' => 'UNDER THE TERMS OF THIS IBM',
9052             'pat.alt.subject.license.scope.multisection.part.head' =>
9053             '(?:IBM Public License Version 1\.0[ ])?'
9054             . 'THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS IBM PUBLIC LICENSE [(]["]AGREEMENT["][)][. ]'
9055             . 'ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT[\']S ACCEPTANCE OF THIS AGREEMENT[.][ ]'
9056             . '[*)][ ]?DEFINITIONS[ ]'
9057             . '["]Contribution["] means[:"]?[ ]'
9058             . '[*)]in the case of International Business Machines Corporation [(]["]IBM["][)], the Original Program',
9059             };
9060              
9061             =item * isc
9062              
9063             =cut
9064              
9065             $RE{isc} = {
9066             name => 'ISC',
9067             'name.alt.org.fedora' => 'ISC',
9068             'name.alt.org.osi' => 'ISC',
9069             'name.alt.org.osi.iri.stem_plain.until.date_20110430.archive.time_20110426131805'
9070             => 'isc-license',
9071             'name.alt.org.spdx' => 'ISC',
9072             'name.alt.org.tldr' => '-isc-license',
9073             'name.alt.org.tldr.path.short' => 'isc',
9074             'name.alt.org.trove' => 'ISCL',
9075             'name.alt.org.wikidata.synth.nogrant' => 'Q386474',
9076             caption => 'ISC License',
9077             'caption.alt.misc.openbsd' => 'OpenBSD License',
9078             'caption.alt.org.tldr' => 'ISC License',
9079             'caption.alt.org.trove' => 'ISC License (ISCL)',
9080             'caption.alt.org.wikidata' => 'ISC license',
9081             'caption.alt.org.wikipedia' => 'ISC license',
9082             'summary.alt.org.fedora' => 'ISC License (Bind, DHCP Server)',
9083             tags => [
9084             'family:mit',
9085             'license:is:grant',
9086             'type:unversioned',
9087             ],
9088              
9089             'pat.alt.subject.license.scope.multisection' => $P{note_copr_perm}
9090             . '[.][ ]'
9091             . $P{asis_sw_name_discl},
9092             };
9093              
9094             =item * jabberpl
9095              
9096             I
9097              
9098             =cut
9099              
9100             $RE{jabberpl} = {
9101             name => 'jabberpl',
9102             'name.alt.org.fedora' => 'Jabber',
9103             'name.alt.org.osi' => 'jabberpl',
9104             'name.alt.org.osi.iri.stem.until.date_20110430' => 'jabberpl',
9105             'name.alt.org.wikidata.synth.nogrant' => 'Q1149006',
9106             'name.alt.misc.fossology_old' => 'Jabber',
9107             caption => 'Jabber Open Source License',
9108             'caption.alt.org.trove' => 'Jabber Open Source License',
9109             tags => [
9110             'license:contains:grant',
9111             'type:unversioned',
9112             ],
9113              
9114             'pat.alt.subject.license.part.intro' =>
9115             'This Jabber Open Source License [(]the ["]License["][)]'
9116             . ' applies to Jabber Server and related software products',
9117             };
9118              
9119             =item * json
9120              
9121             I
9122              
9123             =cut
9124              
9125             $RE{json} = {
9126             name => 'JSON',
9127             'name.alt.org.spdx.since.date_20130117' => 'JSON',
9128             caption => 'JSON License',
9129             'caption.alt.org.fedora' => 'JSON License',
9130             'caption.alt.org.tldr' => 'The JSON License',
9131             tags => [
9132             'license:is:grant',
9133             'type:unversioned',
9134             ],
9135              
9136             'pat.alt.subject.license' =>
9137             'The Software shall be used for Good, not Evil[.]',
9138             };
9139              
9140             =item * jython
9141              
9142             I
9143              
9144             =cut
9145              
9146             $RE{jython} = {
9147             name => 'Jython',
9148             'name.alt.org.spdx.since.date_20150730' => 'CNRI-Jython',
9149             caption => 'Jython License',
9150             'caption.alt.org.spdx' => 'CNRI Jython License',
9151             'caption.alt.legal.license' => 'The Jython License',
9152             iri => 'http://www.jython.org/license.txt',
9153             tags => [
9154             'type:unversioned',
9155             ],
9156              
9157             'pat.alt.subject.license' =>
9158             '[*)]PSF is making Jython available to Licensee',
9159             };
9160              
9161             =item * kevlin_henney
9162              
9163             I
9164              
9165             =cut
9166              
9167             $RE{kevlin_henney} = {
9168             name => 'Kevlin-Henney',
9169             caption => 'Kevlin Henney License',
9170             tags => [
9171             'family:mit',
9172             'license:is:grant',
9173             'type:unversioned',
9174             ],
9175              
9176             'pat.alt.subject.license.scope.multisection' => $P{note_copr_perms_deriv}
9177             . '[.][ ]'
9178             . $P{asis_sw_expr_warranty},
9179             };
9180              
9181             =item * leptonica
9182              
9183             I
9184              
9185             =cut
9186              
9187             $RE{leptonica} = {
9188             name => 'Leptonica',
9189             'name.alt.org.fedora.iri.self' => 'Leptonica',
9190             'name.alt.org.spdx.since.date_20140807' => 'Leptonica',
9191             caption => 'Leptonica License',
9192             description => <<'END',
9193             Identical to Crossword License, except...
9194             * Expand disclaimer slightly
9195             * Replace "he" with "he or she"
9196             * Extend permissions clause to explicitly permit commercial and non-commercial use
9197             * Add source-no-misrepresentation clause
9198             * Add mark-modified-source clause, replacing no-misrepresentation passage in permissions clause
9199             * Add retain-notice clause
9200             END
9201             tags => [
9202             'license:is:grant',
9203             'type:unversioned',
9204             ],
9205              
9206             'pat.alt.subject.license.scope.sentence' =>
9207             'No author or distributor accepts responsibility to anyone '
9208             . 'for the consequences of using this software',
9209             };
9210              
9211             =item * lgpl
9212              
9213             =item * lgpl_2
9214              
9215             =item * lgpl_2_only
9216              
9217             =item * lgpl_2_or_later
9218              
9219             =item * lgpl_2_1
9220              
9221             =item * lgpl_2_1_only
9222              
9223             =item * lgpl_2_1_or_later
9224              
9225             =item * lgpl_3
9226              
9227             =item * lgpl_3_only
9228              
9229             =item * lgpl_3_or_later
9230              
9231             =cut
9232              
9233             $RE{lgpl} = {
9234             name => 'LGPL',
9235             'name.alt.org.fsf' => 'LGPL',
9236             'name.alt.org.osi' => 'lgpl-license',
9237             'name.alt.org.osi.misc.shortname' => 'LGPL',
9238             'name.alt.org.wikidata.synth.nogrant' => 'Q192897',
9239             'name.alt.misc.fossology_old' => 'CC_LGPL',
9240             caption => 'GNU Lesser General Public License',
9241             'caption.alt.org.fsf' => 'GNU Lesser General Public License (LGPL)',
9242             'caption.alt.org.osi' => 'GNU LGPL',
9243             'caption.alt.org.osi.misc.list' => 'GNU Lesser General Public License',
9244             'caption.alt.org.trove' =>
9245             'GNU Library or Lesser General Public License (LGPL)',
9246             'caption.alt.org.wikipedia' => 'GNU Lesser General Public License',
9247             'caption.alt.org.osi' => 'GNU LGPL',
9248             'caption.alt.org.osi.misc.list' => 'GNU Lesser General Public License',
9249             tags => [
9250             'type:versioned:decimal',
9251             ],
9252              
9253             '_pat.alt.subject.name' => [
9254             "$the?$gnu?Library $gpl(?: [(]LGPL[)])?"
9255             . $RE{by_fsf}{'pat.alt.subject.trait'} . '?',
9256             "$the?$gnu?Lesser(?: [(]Library[)])? $gpl(?: [(]LGPL[)])?"
9257             . $RE{by_fsf}{'pat.alt.subject.trait'} . '?',
9258             "$the?$gnu?LIBRARY GENERAL PUBLIC LICEN[CS]E(?: [(]LGPL[)])?"
9259             . $RE{by_fsf}{'pat.alt.subject.trait'} . '?',
9260             "$the?$gnu?LESSER GENERAL PUBLIC LICEN[CS]E(?: [(]LGPL[)])?"
9261             . $RE{by_fsf}{'pat.alt.subject.trait'} . '?',
9262             "$the$gnu?LGPL",
9263             "${gnu}LGPL",
9264             ],
9265             };
9266              
9267             $RE{lgpl_2} = {
9268             name => 'LGPL-2',
9269             'name.alt.misc.short' => 'LGPLv2',
9270             'name.alt.org.debian' => 'LGPL-2',
9271             'name.alt.org.fsf' => 'LGPLv2.0',
9272             'name.alt.org.osi' => 'LGPL-2.0',
9273             'name.alt.org.trove' => 'LGPLv2',
9274             'name.alt.org.wikidata.synth.nogrant' => 'Q23035974',
9275             'name.alt.misc.fossology_old' => 'LGPL_v2',
9276             caption => 'GNU Library General Public License, Version 2.0',
9277             'caption.alt.org.fsf' =>
9278             'GNU Library General Public License (LGPL) version 2.0',
9279             'caption.alt.org.osi' => 'GNU Library General Public License version 2',
9280             'caption.alt.org.trove' =>
9281             'GNU Lesser General Public License v2 (LGPLv2)',
9282             'caption.alt.org.wikidata' =>
9283             'GNU Library General Public License, version 2.0',
9284             iri => 'https://www.gnu.org/licenses/lgpl-2.0.html',
9285             'iri.alt.format.txt' => 'https://www.gnu.org/licenses/lgpl-2.0.txt',
9286             tags => [
9287             'family:gpl',
9288             'license:published:by_fsf',
9289             'type:singleversion:lgpl',
9290             ],
9291             licenseversion => '2.0',
9292              
9293             'pat.alt.subject.license.part.preample' =>
9294             'This license, the Library General Public License, applies to',
9295             'pat.alt.subject.license.scope.multisection.part.tail_sample' =>
9296             '[<]?name of author[>]?[ ]'
9297             . 'This library is free software[;]? '
9298             . 'you can redistribute it and[/]or modify it '
9299             . 'under the terms of the GNU Library General Public License '
9300             . 'as published by the Free Software Foundation[;]? '
9301             . 'either version 2 of the License, or',
9302             };
9303              
9304             $RE{lgpl_2_only} = {
9305             name => 'LGPL-2-only',
9306             'name.alt.org.spdx.until.date_20171228.synth.nogrant' => 'LGPL-2.0',
9307             'name.alt.org.spdx.since.date_20171228' => 'LGPL-2.0-only',
9308             caption => 'GNU Library General Public License v2 only',
9309             tags => [
9310             'family:gpl',
9311             'license:published:by_fsf',
9312             'type:usage:lgpl_2:only',
9313             ],
9314             };
9315              
9316             $RE{lgpl_2_or_later} = {
9317             name => 'LGPL-2-or-later',
9318             'name.alt.org.fedora.synth.nogrant' => 'LGPLv2+',
9319             'name.alt.org.debian' => 'LGPL-2+',
9320             'name.alt.org.spdx.until.date_20150513' => 'LGPL-2.0+',
9321             'name.alt.org.spdx.since.date_20171228' => 'LGPL-2.0-or-later',
9322             'name.alt.org.trove' => 'LGPLv2+',
9323             'name.alt.org.wikidata.synth.nogrant' => 'Q27016756',
9324             'name.alt.misc.fossology_old' => 'LGPL_v2+',
9325             caption => 'GNU Library General Public License v2 or later',
9326             'caption.alt.org.fedora' =>
9327             'GNU Lesser General Public License v2 (or 2.1) or later',
9328             'caption.alt.org.trove' =>
9329             'GNU Lesser General Public License v2 or later (LGPLv2+)',
9330             'caption.alt.org.wikidata' =>
9331             'GNU Library General Public License, version 2.0 or later',
9332             tags => [
9333             'family:gpl',
9334             'license:published:by_fsf',
9335             'type:usage:lgpl_2:or_later',
9336             ],
9337             };
9338              
9339             $RE{lgpl_2_1} = {
9340             name => 'LGPL-2.1',
9341             'name.alt.misc.short' => 'LGPLv2.1',
9342             'name.alt.org.fsf' => 'LGPLv2.1',
9343             'name.alt.org.osi' => 'LGPL-2.1',
9344             'name.alt.org.osi.iri.stem.until.date_20110430' => 'lgpl-2.1',
9345             'name.alt.org.perl' => 'lgpl_2_1',
9346             'name.alt.org.tldr.path.short' => 'lgpl2',
9347             'name.alt.org.wikidata.synth.nogrant' => 'Q18534390',
9348             'name.alt.misc.fossology_old' => 'CC_LGPL_v2.1',
9349             'name.alt.misc.fossology_old' => 'LGPL_v2.1',
9350             'name.alt.misc.fossology_old_cc' => 'CCGPL2.1',
9351             'name.alt.misc.fossology_old_short' => 'LGPL2.1',
9352             caption => 'GNU Lesser General Public License, Version 2.1',
9353             'caption.alt.org.cc.until.date_20100912' =>
9354             'Creative Commons GNU LGPL', # TODO: find official date
9355             'caption.alt.org.cc.misc.short.until.date_20100912' =>
9356             'CC-GNU LGPL', # TODO: find official date
9357             'caption.alt.org.fedora.misc.cc' => 'Creative Commons GNU LGPL',
9358             'caption.alt.org.fsf' =>
9359             'GNU Lesser General Public License (LGPL) version 2.1',
9360             'caption.alt.org.osi' => 'GNU Lesser General Public License version 2.1',
9361             'caption.alt.org.tldr' =>
9362             'GNU Lesser General Public License v2.1 (LGPL-2.1)',
9363             'caption.alt.org.wikidata' =>
9364             'GNU Lesser General Public License, version 2.1',
9365             'caption.alt.misc.uppercase' => 'GNU LESSER GENERAL PUBLIC LICENSE',
9366             iri => 'https://www.gnu.org/licenses/lgpl-2.1.html',
9367             'iri.alt.format.txt' => 'https://www.gnu.org/licenses/lgpl-2.1.txt',
9368             'iri.alt.org.cc.archive.time_20101027034910.until.date_20101027' =>
9369             'http://creativecommons.org/licenses/LGPL/2.1/'
9370             , # TODO: find official date
9371             'iri.alt.org.cc.archive.time_20100912081720.until.date_20100912' =>
9372             'http://creativecommons.org/choose/cc-lgpl'
9373             , # TODO: find official date
9374             tags => [
9375             'family:gpl',
9376             'license:published:by_fsf',
9377             'type:singleversion:lgpl',
9378             ],
9379             licenseversion => '2.1',
9380              
9381             'pat.alt.subject.license.part.preample' =>
9382             'This license, the Lesser General Public License, applies to',
9383             'pat.alt.subject.license.scope.multisection.part.tail_sample' =>
9384             '[<]?name of author[>]?[ ]'
9385             . 'This library is free software[;]? '
9386             . 'you can redistribute it and[/]or modify it '
9387             . 'under the terms of the GNU Lesser General Public License '
9388             . 'as published by the Free Software Foundation[;]? '
9389             . 'either version 2\.1 of the License, or',
9390             };
9391              
9392             $RE{lgpl_2_1_only} = {
9393             name => 'LGPL-2.1-only',
9394             'name.alt.org.spdx.until.date_20171228.synth.nogrant' => 'LGPL-2.1',
9395             'name.alt.org.spdx.since.date_20171228' => 'LGPL-2.1-only',
9396             caption => 'GNU Lesser General Public License v2.1 only',
9397             tags => [
9398             'family:gpl',
9399             'license:published:by_fsf',
9400             'type:usage:lgpl_2_1:only',
9401             ],
9402             };
9403              
9404             $RE{lgpl_2_1_or_later} = {
9405             name => 'LGPL-2.1-or-later',
9406             'name.alt.org.debian' => 'LGPL-2.1+',
9407             'name.alt.org.spdx.until.date_20150513' => 'LGPL-2.1+',
9408             'name.alt.org.spdx.since.date_20171228' => 'LGPL-2.1-or-later',
9409             'name.alt.org.wikidata.synth.nogrant' => 'Q27016757',
9410             'name.alt.misc.fossology_old' => 'LGPL_v2.1+',
9411             caption => 'GNU Lesser General Public License v2.1 or later',
9412             'caption.alt.org.wikidata' =>
9413             'GNU Lesser General Public License, version 2.1 or later',
9414             tags => [
9415             'family:gpl',
9416             'license:published:by_fsf',
9417             'type:usage:lgpl_2_1:or_later',
9418             ],
9419             };
9420              
9421             $RE{lgpl_3} = {
9422             name => 'LGPL-3',
9423             'name.alt.misc.short' => 'LGPLv3',
9424             'name.alt.org.debian' => 'LGPL-3',
9425             'name.alt.org.fsf' => 'LGPLv3',
9426             'name.alt.org.osi' => 'LGPL-3.0',
9427             'name.alt.org.osi.iri.stem.until.date_20110430' => 'lgpl-3.0',
9428             'name.alt.org.perl' => 'lgpl_3_0',
9429             'name.alt.org.tldr' => 'gnu-lesser-general-public-license-v3-(lgpl-3)',
9430             'name.alt.org.tldr.path.short' => 'lgpl-3.0',
9431             'name.alt.org.trove' => 'LGPLv3',
9432             'name.alt.org.wikidata.synth.nogrant' => 'Q18534393',
9433             'name.alt.misc.fossology_old' => 'LGPL_v3',
9434             'name.alt.misc.fossology_old_short' => 'LGPL3.0',
9435             caption => 'GNU Lesser General Public License, Version 3',
9436             'caption.alt.org.fsf' =>
9437             'GNU Lesser General Public License (LGPL) version 3',
9438             'caption.alt.org.osi' => 'GNU Lesser General Public License version 3',
9439             'caption.alt.org.perl' =>
9440             'GNU Lesser General Public License, Version 3.0',
9441             'caption.alt.org.trove' =>
9442             'GNU Lesser General Public License v3 (LGPLv3)',
9443             'caption.alt.org.osi' => 'GNU Lesser General Public License version 3',
9444             'caption.alt.org.tldr' =>
9445             'GNU Lesser General Public License v3 (LGPL-3.0)',
9446             'caption.alt.org.wikidata' =>
9447             'GNU Lesser General Public License, version 3.0',
9448             iri => 'https://www.gnu.org/licenses/lgpl-3.0.html',
9449             'iri.alt.format.txt' => 'https://www.gnu.org/licenses/lgpl-3.0.txt',
9450             tags => [
9451             'family:gpl',
9452             'license:published:by_fsf',
9453             'type:singleversion:lgpl',
9454             ],
9455             licenseversion => '3.0',
9456              
9457             'pat.alt.subject.license' =>
9458             '["][Tt]his License["] refers to version 3 of the GNU Lesser General',
9459             };
9460              
9461             $RE{lgpl_3_only} = {
9462             name => 'LGPL-3.0-only',
9463             'name.alt.org.fedora.synth.nogrant' => 'LGPLv3',
9464             'name.alt.org.spdx.until.date_20171228.synth.nogrant' => 'LGPL-3.0',
9465             'name.alt.org.spdx.since.date_20171228' => 'LGPL-3.0-only',
9466             caption => 'GNU Lesser General Public License v3.0 only',
9467             tags => [
9468             'family:gpl',
9469             'license:published:by_fsf',
9470             'type:usage:lgpl_3:only',
9471             ],
9472             };
9473              
9474             $RE{lgpl_3_or_later} = {
9475             name => 'LGPL-3.0-or-later',
9476             'name.alt.org.fedora' => 'LGPLv3+',
9477             'name.alt.org.debian' => 'LGPL-3+',
9478             'name.alt.org.spdx.until.date_20150513' => 'LGPL-3.0+',
9479             'name.alt.org.spdx.since.date_20171228' => 'LGPL-3.0-or-later',
9480             'name.alt.org.trove' => 'LGPLv3+',
9481             'name.alt.org.wikidata.synth.nogrant' => 'Q27016762',
9482             'name.alt.misc.fossology_old' => 'LGPL_v3+',
9483             caption => 'GNU Lesser General Public License v3.0 or later',
9484             'caption.alt.org.trove' =>
9485             'GNU Lesser General Public License v3 or later (LGPLv3+)',
9486             'caption.alt.org.wikidata' =>
9487             'GNU Lesser General Public License, version 3.0 or later',
9488             tags => [
9489             'family:gpl',
9490             'license:published:by_fsf',
9491             'type:usage:lgpl_3:or_later',
9492             ],
9493             };
9494              
9495             =item * lgpl_bdwgc
9496              
9497             I
9498              
9499             =cut
9500              
9501             $RE{lgpl_bdwgc} = {
9502             name => 'LGPL-bdwgc',
9503             caption =>
9504             'GNU Lesser General Public License (modified-code-notice clause)',
9505             summary =>
9506             'The GNU Lesser General Public License, with modified-code-notice clause',
9507             description => <<'END',
9508             Origin: Possibly Boehm-Demers-Weiser conservative C/C++ Garbage Collector (libgc, bdwgc, boehm-gc).
9509             END
9510             tags => [
9511             'type:unversioned',
9512             ],
9513              
9514             'pat.alt.subject.license.scope.multisection' => $P{perm_granted}
9515             . $P{to_copy_prg}
9516             . "under the terms of $the${gnu}LGPL, "
9517             . $P{retain_copr_avail_orig}
9518             . '[.][ ]'
9519             . $P{repro_code_modcode_cite_copr_avail_note}
9520             . $P{and_used_by_perm} . '[". ]'
9521             . $P{perm_dist_mod}
9522             . $P{granted}
9523             . $P{retain_copr_avail_note}
9524             . $P{note_mod_inc} . '[.]',
9525             'pat.alt.subject.license.part.credit' => 'code must cite the Copyright',
9526             };
9527              
9528             =item * libpng
9529              
9530             =cut
9531              
9532             $RE{libpng} = {
9533             name => 'Libpng',
9534             'name.alt.org.spdx' => 'Libpng',
9535             'name.alt.org.wikidata.synth.nogrant' => 'Q6542418',
9536             caption => 'libpng License',
9537             'caption.alt.org.wikidata' => 'Libpng License',
9538             tags => [
9539             'type:unversioned',
9540             ],
9541              
9542             'pat.alt.subject.license.scope.multisection' =>
9543             $P{origin_src_no_misrepresent}
9544             . '[.][ ]'
9545             . $P{altered_ver_mark}
9546             . '[.][ ]'
9547             . $P{copr_no_alter},
9548             };
9549              
9550             =item * libtiff
9551              
9552             I
9553              
9554             =cut
9555              
9556             $RE{libtiff} = {
9557             name => 'libtiff',
9558             'name.alt.org.fedora.iri.self' => 'libtiff',
9559             'name.alt.org.fedora.iri.mit_short' => 'Hylafax',
9560             'name.alt.org.spdx.since.date_20140807' => 'libtiff',
9561             'name.alt.org.wikidata.synth.nogrant' => 'Q105688056',
9562             caption => 'libtiff License',
9563             'caption.alt.org.tldr' => 'libtiff License',
9564             'summary.alt.org.fedora.iri.mit' => 'MIT-style license, Hylafax Variant',
9565             tags => [
9566             'type:unversioned',
9567             ],
9568              
9569             'pat.alt.subject.license.scope.line.scope.sentence' =>
9570             'relating to the software without the specific',
9571             };
9572              
9573             =item * liliq_p
9574              
9575             I
9576              
9577             =item * liliq_p_1_1
9578              
9579             I
9580              
9581             =cut
9582              
9583             $RE{liliq_p} = {
9584             name => 'LiLiQ-P',
9585             'name.alt.org.wikidata.synth.nogrant' => 'Q38493399',
9586             caption => 'Licence Libre du Québec – Permissive (LiLiQ-P)',
9587             'caption.alt.org.wikidata' => 'Licence Libre du Québec – Permissive',
9588             tags => [
9589             'type:versioned:decimal',
9590             ],
9591             };
9592              
9593             $RE{liliq_p_1_1} = {
9594             name => 'LiLiQ-P-1.1',
9595             'name.alt.org.osi' => 'LiLiQ-P-1.1',
9596             'name.alt.org.spdx.since.date_20160323' => 'LiLiQ-P-1.1',
9597             caption => 'Licence Libre du Québec – Permissive version 1.1',
9598             'caption.alt.org.osi' =>
9599             'Licence Libre du Québec – Permissive (LiLiQ-P) version 1.1',
9600             tags => [
9601             'type:singleversion:liliq_p',
9602             ],
9603             licenseversion => '1.1',
9604              
9605             'pat.alt.subject.license.scope.line.scope.sentence.part.part8' =>
9606             'Le conc[é]dant ne saurait [ê]tre tenu responsable de dommages subis',
9607             'pat.alt.subject.license.scope.line.scope.sentence.part.part9' =>
9608             'La pr[é]sente licence est automatiquement r[é]sili[é]e',
9609             };
9610              
9611             =item * liliq_r
9612              
9613             I
9614              
9615             =item * liliq_r_1_1
9616              
9617             I
9618              
9619             =cut
9620              
9621             $RE{liliq_r} = {
9622             name => 'LiLiQ-R',
9623             'name.alt.org.wikidata.synth.nogrant' => 'Q38490890',
9624             caption => 'Licence Libre du Québec – Réciprocité (LiLiQ-R)',
9625             'caption.alt.org.wikidata' =>
9626             'Licence Libre du Québec – Réciprocité',
9627             tags => [
9628             'type:versioned:decimal',
9629             ],
9630             };
9631              
9632             $RE{liliq_r_1_1} = {
9633             name => 'LiLiQ-R-1.1',
9634             'name.alt.org.osi' => 'LiLiQ-R-1.1',
9635             'name.alt.org.spdx.since.date_20160323' => 'LiLiQ-R-1.1',
9636             caption => 'Licence Libre du Québec – Réciprocité version 1.1',
9637             'caption.alt.org.osi' =>
9638             'Licence Libre du Québec – Réciprocité (LiLiQ-R) version 1.1',
9639             tags => [
9640             'license:contains:name:cddl_1',
9641             'license:contains:name:cecill_2_1',
9642             'license:contains:name:cecill_c',
9643             'license:contains:name:cpl_1',
9644             'license:contains:name:epl_1',
9645             'license:contains:name:eupl_1_1',
9646             'license:contains:name:gpl_2',
9647             'license:contains:name:gpl_3',
9648             'license:contains:name:lgpl_2_1',
9649             'license:contains:name:lgpl_3',
9650             'license:contains:name:liliq_r_plus_1_1',
9651             'license:contains:name:mpl_2',
9652             'type:singleversion:liliq_r',
9653             ],
9654             licenseversion => '1.1',
9655              
9656             'pat.alt.subject.license.scope.line.scope.sentence.part.part4_1' =>
9657             'Chaque fois que le licenci[é] distribue le logiciel ou un logiciel modifi[é]',
9658             };
9659              
9660             =item * liliq_r_plus
9661              
9662             I
9663              
9664             =item * liliq_r_plus_1_1
9665              
9666             I
9667              
9668             =cut
9669              
9670             $RE{liliq_r_plus} = {
9671             name => 'LiLiQ-R+',
9672             'name.alt.org.wikidata.synth.nogrant' => 'Q38493724',
9673             caption => 'Licence Libre du Québec – Réciprocité forte (LiLiQ-R+)',
9674             'caption.alt.org.wikidata' =>
9675             'Licence Libre du Québec – Réciprocité forte',
9676             tags => [
9677             'type:versioned:decimal',
9678             ],
9679             };
9680              
9681             $RE{liliq_r_plus_1_1} = {
9682             name => 'LiLiQ-R+-1.1',
9683             'name.alt.org.osi' => 'LiLiQ-Rplus-1.1',
9684             'name.alt.org.spdx.since.date_20160323' => 'LiLiQ-Rplus-1.1',
9685             caption => 'Licence Libre du Québec – Réciprocité forte version 1.1',
9686             'caption.alt.org.osi' =>
9687             'Licence Libre du Québec – Réciprocité forte (LiLiQ-R+) version 1.1',
9688             tags => [
9689             'license:contains:name:cecill_2_1',
9690             'license:contains:name:cpl_1',
9691             'license:contains:name:epl_1',
9692             'license:contains:name:eupl_1_1',
9693             'license:contains:name:gpl_2',
9694             'license:contains:name:gpl_3',
9695             'type:singleversion:liliq_r_plus',
9696             ],
9697             licenseversion => '1.1',
9698              
9699             'pat.alt.subject.license.scope.line.scope.sentence.part.part4_1' =>
9700             'Chaque fois que le licenci[é] distribue le logiciel, un logiciel modifi[é], ou',
9701             };
9702              
9703             =item * llgpl
9704              
9705             =cut
9706              
9707             $RE{llgpl} = {
9708             name => 'LLGPL',
9709             'name.alt.org.fedora' => 'LLGPL',
9710             'name.alt.org.tldr' => 'lisp-lesser-general-public-license',
9711             caption => 'Lisp Lesser General Public License',
9712             'caption.alt.org.fedora' => 'Lisp Library General Public License',
9713             'caption.alt.org.tldr' => 'Lisp Lesser General Public License (LLGPL)',
9714             iri => 'http://opensource.franz.com/preamble.html',
9715             'iri.alt.misc.cliki' => 'http://www.cliki.net/LLGPL',
9716             tags => [
9717             'license:contains:license:lgpl_2_1',
9718             'type:unversioned',
9719             ],
9720             };
9721              
9722             =item * lpl
9723              
9724             I
9725              
9726             =item * lpl_1
9727              
9728             I
9729              
9730             =item * lpl_1_02
9731              
9732             I
9733              
9734             =cut
9735              
9736             $RE{lpl} = {
9737             name => 'LPL',
9738             'name.alt.org.fedora' => 'LPL',
9739             'name.alt.org.osi.iri.stem.until.date_20110430' => 'plan9',
9740             'name.alt.org.wikidata.synth.nogrant' => 'Q6696468',
9741             caption => 'Lucent Public License',
9742             'caption.alt.org.fedora' => 'Lucent Public License (Plan9)',
9743             tags => [
9744             'type:versioned:decimal',
9745             ],
9746             };
9747              
9748             $RE{lpl_1} = {
9749             name => 'LPL-1.0',
9750             'name.alt.org.osi' => 'LPL-1.0',
9751             'name.alt.org.spdx' => 'LPL-1.0',
9752             'name.alt.misc.fossology_old' => 'Lucent_v1.0',
9753             'name.alt.misc.fossology_old_short' => 'Lucent1.0',
9754             caption => 'Lucent Public License Version 1.0',
9755             'caption.alt.org.osi' => 'Lucent Public License, Plan 9, version 1.0',
9756             'caption.alt.org.spdx.until.date_20130117' =>
9757             'Lucent Public License Version 1.0 (Plan9)',
9758             'caption.alt.org.spdx.since.date_20130117' =>
9759             'Lucent Public License Version 1.0',
9760             'caption.alt.org.osi.misc.list' =>
9761             'Lucent Public License ("Plan9"), version 1.0',
9762             tags => [
9763             'type:singleversion:lpl',
9764             ],
9765             licenseversion => '1.0',
9766              
9767             'pat.alt.subject.license.scope.multisection.part.head' =>
9768             '(?:Lucent Public License Version 1\.0[ ])?'
9769             . 'THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS PUBLIC LICENSE [(]["]AGREEMENT["][)][. ]'
9770             . "ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT[']S ACCEPTANCE OF THIS AGREEMENT[.][ ]"
9771             . '[*)][ ]?DEFINITIONS[ ]'
9772             . '["]Contribution["] means[:"]?[ ]'
9773             . '[*)]in the case of[ word]{0,15}, the Original Program, and[ ]'
9774             . '[*)]in the case of each Contributor,[ ]'
9775             . '[*)]changes to the Program, and[ ]'
9776             . '[*)]additions to the Program[;]'
9777             . '[ ]where such changes and[/]or additions to the Program originate from',
9778             };
9779              
9780             $RE{lpl_1_02} = {
9781             name => 'LPL-1.02',
9782             'name.alt.org.osi' => 'LPL-1.02',
9783             'name.alt.org.osi.iri.stem.until.date_20110430' => 'lucent1.02',
9784             'name.alt.org.spdx' => 'LPL-1.02',
9785             'name.alt.misc.fossology_old' => 'Lucent_v1.02',
9786             'name.alt.misc.fossology_old_short' => 'Lucent1.02',
9787             caption => 'Lucent Public License v1.02',
9788             'caption.alt.org.osi' => 'Lucent Public License Version 1.02',
9789             'caption.alt.org.tldr' => 'Lucent Public License v1.02 (LPL-1.02)',
9790             description => <<'END',
9791             Identical to Lucent Public License Version 1.0, except...
9792             * rephrase Contribution definition
9793             * rephrase Contributor identification clause in section 3.C
9794             * add export-control clause as section 7
9795             END
9796             tags => [
9797             'type:singleversion:lpl',
9798             ],
9799             licenseversion => '1.02',
9800              
9801             'pat.alt.subject.license.scope.multisection.part.head' =>
9802             '(?:Lucent Public License Version 1\.02[ ])?'
9803             . 'THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS PUBLIC LICENSE [(]["]AGREEMENT["][)][. ]'
9804             . "ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT[']S ACCEPTANCE OF THIS AGREEMENT[.][ ]"
9805             . '[*)][ ]?DEFINITIONS[ ]'
9806             . '["]Contribution["] means[:"]?[ ]'
9807             . '[*)]in the case of Lucent Technologies Inc\. [(]["]LUCENT["][)], the Original Program, and[ ]'
9808             . '[*)]in the case of each Contributor,[ ]'
9809             . '[*)]changes to the Program, and[ ]'
9810             . '[*)]additions to the Program[;]'
9811             . '[ ]where such changes and[/]or additions to the Program were added',
9812             };
9813              
9814             =item * lppl
9815              
9816             =item * lppl_1
9817              
9818             =item * lppl_1_1
9819              
9820             =item * lppl_1_2
9821              
9822             =item * lppl_1_3a
9823              
9824             =item * lppl_1_3c
9825              
9826             =cut
9827              
9828             $RE{lppl} = {
9829             name => 'LPPL',
9830             'name.alt.org.fedora' => 'LPPL',
9831             'name.alt.org.osi.iri.stem.until.date_20110430' => 'lppl',
9832             'name.alt.org.wikidata.synth.nogrant' => 'Q1050635',
9833             caption => 'LaTeX Project Public License',
9834             'caption.alt.org.wikipedia' => 'LaTeX Project Public License',
9835             tags => [
9836             'type:versioned:decimal',
9837             ],
9838             };
9839              
9840             $RE{lppl_1} = {
9841             name => 'LPPL-1.0',
9842             'name.alt.org.spdx' => 'LPPL-1.0',
9843             'name.alt.misc.fossology_old' => 'LPPL_v1.0',
9844             'name.alt.misc.fossology_old_short' => 'LaTeX1.0',
9845             caption => 'LaTeX Project Public License 1',
9846             'caption.alt.org.spdx' => 'LaTeX Project Public License v1.0',
9847             tags => [
9848             'license:contains:grant',
9849             'type:singleversion:lppl',
9850             ],
9851             licenseversion => '1.0',
9852              
9853             'pat.alt.subject.license' => 'LPPL Version 1\.0 1999[-]03[-]01',
9854             };
9855              
9856             $RE{lppl_1_1} = {
9857             name => 'LPPL-1.1',
9858             'name.alt.org.spdx' => 'LPPL-1.1',
9859             'name.alt.misc.fossology_old' => 'LPPL_v1.1',
9860             'name.alt.misc.fossology_old_short' => 'LaTeX1.1',
9861             caption => 'LaTeX Project Public License 1.1',
9862             'caption.alt.org.spdx' => 'LaTeX Project Public License v1.1',
9863             tags => [
9864             'license:contains:grant',
9865             'type:singleversion:lppl',
9866             ],
9867             licenseversion => '1.1',
9868              
9869             'pat.alt.subject.license' => 'LPPL Version 1\.1 1999[-]07[-]10',
9870             };
9871              
9872             $RE{lppl_1_2} = {
9873             name => 'LPPL-1.2',
9874             'name.alt.org.spdx' => 'LPPL-1.2',
9875             'name.alt.misc.fossology_old' => 'LPPL_v1.2',
9876             'name.alt.misc.fossology_old_short' => 'LaTeX1.2',
9877             caption => 'LaTeX Project Public License 1.2',
9878             'caption.alt.org.spdx' => 'LaTeX Project Public License v1.2',
9879             tags => [
9880             'license:contains:grant',
9881             'type:singleversion:lppl',
9882             ],
9883             licenseversion => '1.2',
9884              
9885             'pat.alt.subject.license' => 'LPPL Version 1\.2 1999[-]09[-]03',
9886             };
9887              
9888             $RE{lppl_1_3a} = {
9889             name => 'LPPL-1.3a',
9890             'name.alt.org.spdx.since.date_20130117' => 'LPPL-1.3a',
9891             'name.alt.misc.fossology_old' => 'LPPL_v1.3a',
9892             'name.alt.misc.fossology_old_short' => 'LaTeX1.3a',
9893             caption => 'LaTeX Project Public License 1.3a',
9894             'caption.alt.org.spdx.until.date_20160103' =>
9895             'LaTeX Project Public License 1.3a',
9896             'caption.alt.org.spdx.since.date_20160103' =>
9897             'LaTeX Project Public License v1.3a',
9898             tags => [
9899             'license:contains:grant',
9900             'type:singleversion:lppl',
9901             ],
9902             licenseversion => '1.3a',
9903              
9904             'pat.alt.subject.license' => 'LPPL Version 1\.3a 2004[-]10[-]01',
9905             };
9906              
9907             $RE{lppl_1_3c} = {
9908             name => 'LPPL-1.3c',
9909             'name.alt.org.osi' => 'LPPL-1.3c',
9910             'name.alt.org.spdx' => 'LPPL-1.3c',
9911             'name.alt.misc.fossology_old' => 'LPPL_v1.3c',
9912             'name.alt.misc.fossology_old_short' => 'LaTeX1.3c',
9913             caption => 'LaTeX Project Public License 1.3c',
9914             'caption.alt.org.osi' => 'LaTeX Project Public License, Version 1.3c',
9915             'caption.alt.org.osi.misc.list' => 'LaTeX Project Public License 1.3c',
9916             'caption.alt.org.spdx' => 'LaTeX Project Public License v1.3c',
9917             'caption.alt.org.tldr' =>
9918             'LaTeX Project Public License v1.3c (LPPL-1.3c)',
9919             iri => 'https://www.latex-project.org/lppl.txt',
9920             tags => [
9921             'license:contains:grant',
9922             'type:singleversion:lppl',
9923             ],
9924             licenseversion => '1.3c',
9925              
9926             'pat.alt.subject.license' => 'LPPL Version 1\.3c 2008[-]05[-]04',
9927             };
9928              
9929             =item * miros
9930              
9931             I
9932              
9933             =cut
9934              
9935             $RE{miros} = {
9936             name => 'MirOS',
9937             'name.alt.org.fedora' => 'MirOS',
9938             'name.alt.org.osi' => 'MirOS',
9939             'name.alt.org.osi.iri.stem.until.date_20110430' => 'miros',
9940             'name.alt.org.spdx' => 'MirOS',
9941             'name.alt.org.wikidata.synth.nogrant' => 'Q1951343',
9942             caption => 'The MirOS License',
9943             'caption.alt.org.fedora' => 'MirOS License',
9944             'caption.alt.org.osi' => 'MirOS Licence',
9945             'caption.alt.org.spdx.until.date_20171228' => 'MirOS Licence',
9946             'caption.alt.org.spdx.since.date_20171228.until.date_20191022' =>
9947             'MirOS License',
9948             'caption.alt.org.spdx.since.date_20191022' => 'The MirOS License',
9949             'caption.alt.org.tldr' => 'MirOS License (MirOS)',
9950             'caption.alt.org.trove' => 'MirOS License (MirOS)',
9951             'caption.alt.org.wikidata' => 'MirOS Licence',
9952             tags => [
9953             'license:is:grant',
9954             'type:unversioned',
9955             ],
9956              
9957             'pat.alt.subject.license.scope.line.scope.sentence' =>
9958             'merge, give away, or sublicence',
9959             };
9960              
9961             =item * mit_0
9962              
9963             I
9964              
9965             =cut
9966              
9967             $RE{mit_0} = {
9968             name => 'MIT-0',
9969             'name.alt.org.fedora.iri.self.since.date_20210215' => 'MIT-0',
9970             'name.alt.org.osi' => 'MIT-0',
9971             'name.alt.org.spdx.since.date_20180414' => 'MIT-0',
9972             'name.alt.org.wikidata.synth.nogrant' => 'Q67538600',
9973             caption => 'MIT No Attribution',
9974             'caption.alt.org.fedora.since.date_20210215' =>
9975             'MIT No Attribution (MIT-0)',
9976             'caption.alt.org.osi' => 'MIT No Attribution License',
9977             'caption.alt.org.trove' => 'MIT No Attribution License (MIT-0)',
9978             'caption.alt.org.wikidata' => 'MIT No Attribution License',
9979             description => <<'END',
9980             Identical to MIT (Expat), except...
9981             * omit retention clause
9982             END
9983             tags => [
9984             'family:mit',
9985             'license:is:grant',
9986             'type:unversioned',
9987             ],
9988              
9989             'pat.alt.subject.license.scope.line.scope.sentence' =>
9990             'to whom the Software is furnished to do so[.][ ]'
9991             . $P{asis_sw_warranty},
9992             };
9993              
9994             =item * mit_advertising
9995              
9996             =cut
9997              
9998             $RE{mit_advertising} = {
9999             name => 'MIT-advertising',
10000             'name.alt.org.spdx.since.date_20140807' => 'MIT-advertising',
10001             caption => 'Enlightenment License (e16)',
10002             'caption.alt.org.fedora.iri.self' => 'MIT With Advertising',
10003             tags => [
10004             'family:mit',
10005             'license:is:grant',
10006             'type:unversioned',
10007             ],
10008              
10009             'pat.alt.subject.license.scope.sentence' => $P{note_marketing}
10010             . '\b[^.,]+, and '
10011             . $P{ack_doc_mat_pkg_use},
10012             };
10013              
10014             =item * mit_cmu
10015              
10016             =cut
10017              
10018             $RE{mit_cmu} = {
10019             name => 'MIT-CMU',
10020             'name.alt.org.spdx.since.date_20140807' => 'MIT-CMU',
10021             'name.alt.org.wikidata.synth.nogrant' => 'Q2939745',
10022             caption => 'CMU License',
10023             'caption.alt.org.fedora' => 'CMU License (BSD like)',
10024             'caption.alt.org.fedora.iri.mit' => 'CMU Style',
10025             'caption.alt.org.tldr' => 'CMU License',
10026             'caption.alt.org.wikidata' => 'Carnegie Mellon University License',
10027             description => <<'END',
10028             Identical to NTP, except...
10029             * omit explicit permission for charging fee
10030             * exclude suitability disclaimer
10031             * exclude terse "as is" warranty disclaimer
10032             * include elaborate warranty disclaimer
10033             * include liability disclaimer
10034              
10035             SPDX and fedora sample seem not generic but the unique file COPYING from project net-snmp.
10036             END
10037             tags => [
10038             'family:mit',
10039             'license:is:grant',
10040             'type:unversioned',
10041             ],
10042              
10043             'pat.alt.subject.license.scope.sentence' => 'Permission '
10044             . $P{to_dist}
10045             . $P{sw_doc_nofee}
10046             . $P{granted}
10047             . $P{retain_copr_appear}
10048             . ' and that '
10049             . $P{repro_copr_perm_appear_doc}
10050             . ', and that '
10051             . $P{nopromo_name_written} . '[.]',
10052             'pat.alt.subject.license.part.endorsement' =>
10053             'without specific written permission',
10054             };
10055              
10056             =item * mit_cmu_warranty
10057              
10058             =cut
10059              
10060             $RE{mit_cmu_warranty} = {
10061             name => 'SMLNJ',
10062             'name.alt.org.debian' => 'MIT-CMU~warranty',
10063             'name.alt.org.spdx.since.date_20130117' => 'SMLNJ',
10064             'name.alt.org.spdx.misc.long.since.date_20140807.until.date_20150513' =>
10065             'StandardML-NJ',
10066             'name.alt.org.wikidata.synth.nogrant' => 'Q99635287',
10067             caption => 'Standard ML of New Jersey License',
10068             'caption.alt.org.tldr' => 'Standard ML of New Jersey License (SMLNJ)',
10069             'summary.alt.org.fedora.iri.mit' =>
10070             'MIT-style license, Standard ML of New Jersey Variant',
10071             'summary.alt.org.fedora.iri.mit_semishort' =>
10072             'MIT-style license, MLton variant',
10073             description => <<'END',
10074             Identical to MIT-CMU, except...
10075             * add requirement of "warranty disclaimer" appearing in documentation
10076             END
10077             tags => [
10078             'family:mit',
10079             'license:is:grant',
10080             'type:unversioned',
10081             ],
10082              
10083             'pat.alt.subject.license.scope.sentence' => 'Permission '
10084             . $P{to_dist}
10085             . $P{sw_doc_nofee}
10086             . $P{granted}
10087             . $P{retain_copr_appear}
10088             . ' and that '
10089             . $P{repro_copr_perm_warr_appear_doc}
10090             . ', and that '
10091             . $P{nopromo_name_written_prior} . '[.]',
10092             'pat.alt.subject.license.part.disclaimer' => 'warranty disclaimer appear',
10093             };
10094              
10095             =item * mit_enna
10096              
10097             =cut
10098              
10099             $RE{mit_enna} = {
10100             name => 'MIT-enna',
10101             'name.alt.org.fedora.iri.mit_short' => 'enna',
10102             'name.alt.org.spdx.since.date_20140807' => 'MIT-enna',
10103             caption => 'enna License',
10104             'caption.alt.org.tldr' => 'enna License',
10105             'summary.alt.org.fedora.iri.mit' => 'MIT-style license, enna variant',
10106             tags => [
10107             'family:mit',
10108             'license:is:grant',
10109             'type:unversioned',
10110             ],
10111              
10112             'pat.alt.subject.license.scope.section' => $P{perm_granted}
10113             . $P{free_charge}
10114             . $P{to_pers}
10115             . $P{the_sw}
10116             . $P{to_deal_the_sw_rights}
10117             . $P{subj_cond}
10118             . $P{to_copy_sublicence_conditions}
10119             . '[:]?[ ]'
10120             . $P{retain_copr_perm_sw_copr} . '[. ]'
10121             . $P{ack_pub_use_nosrc} . '[. ]'
10122             . 'This includes acknowledgments '
10123             . 'in either Copyright notices, Manuals, Publicity and Marketing documents '
10124             . 'or any documentation provided '
10125             . 'with any product containing this software[. ]'
10126             . $P{license_not_lib} . '[.]',
10127             'pat.alt.subject.license.scope.line' => $P{ack_pub_use_nosrc},
10128             };
10129              
10130             =item * mit_epinions
10131              
10132             I
10133              
10134             =cut
10135              
10136             $RE{mit_epinions} = {
10137             'name.alt.org.debian' => 'MIT~Epinions',
10138             'summary.alt.org.fedora.iri.mit' => 'MIT-style license, Epinions Variant',
10139             tags => [
10140             'family:mit',
10141             'license:is:grant',
10142             'type:unversioned',
10143             ],
10144              
10145             'pat.alt.subject.license.scope.line.scope.sentence' =>
10146             'Subject to the following 3 conditions',
10147             };
10148              
10149             =item * mit_feh
10150              
10151             =cut
10152              
10153             $RE{mit_feh} = {
10154             name => 'MIT-feh',
10155             'name.alt.org.fedora.iri.mit_short' => 'feh',
10156             'name.alt.org.spdx.since.date_20140807' => 'MIT-feh',
10157             caption => 'feh License',
10158             'caption.alt.org.tldr' => 'feh License',
10159             'summary.alt.org.fedora.iri.mit' => 'MIT-style license, feh variant',
10160             tags => [
10161             'family:mit',
10162             'license:is:grant',
10163             'type:unversioned',
10164             ],
10165              
10166             'pat.alt.subject.license.scope.paragraph' => $P{perm_granted}
10167             . $P{free_charge}
10168             . $P{to_pers}
10169             . $P{the_sw}
10170             . $P{to_deal_the_sw_rights}
10171             . $P{to_copy_sublicence_conditions}
10172             . '[:]?[ ]'
10173             . $P{retain_copr_perm_sw_doc} . ' and '
10174             . $P{ack_doc_pkg_use} . '[.]',
10175             };
10176              
10177             =item * mit_new
10178              
10179             =cut
10180              
10181             $RE{mit_new} = {
10182             'name.alt.org.debian' => 'Expat',
10183             'name.alt.org.osi' => 'MIT',
10184             'name.alt.org.osi.iri.stem.until.date_20110430' => 'mit-license',
10185             'name.alt.org.perl' => 'mit',
10186             'name.alt.org.spdx' => 'MIT',
10187             'name.alt.org.tldr' => 'mit-license',
10188             'name.alt.org.tldr.path.short' => 'mit',
10189             'name.alt.org.wikidata.synth.nogrant' => 'Q18526198',
10190             'name.alt.misc.mit' => 'MIT/Expat',
10191             caption => 'MIT License',
10192             'caption.alt.org.debian' => 'Expat License',
10193             'caption.alt.org.fedora' => 'MIT license (also X11)',
10194             'caption.alt.org.osi' => 'The MIT License',
10195             'caption.alt.org.osi.misc.list' => 'MIT License',
10196             'caption.alt.org.osi.misc.cat_list' => 'MIT license',
10197             'caption.alt.org.perl' => 'MIT (aka X11) License',
10198             'caption.alt.org.tldr' => 'MIT License (Expat)',
10199             'summary.alt.org.fedora.iri.mit' =>
10200             'MIT-style license, Modern Style with sublicense',
10201             'caption.alt.org.wikidata' => 'Expat license',
10202             'caption.alt.org.wikipedia' => 'MIT License',
10203             'caption.alt.misc.mit_expat' => 'MIT Expat',
10204             'caption.alt.misc.wayland' => 'the MIT Expat license',
10205             iri => 'http://www.jclark.com/xml/copying.txt',
10206             description => <<'END',
10207             Origin: X11 Licene
10208              
10209             Identical to X11 License, except...
10210             * drop non-endorsement clause at the end
10211             * drop trademark notice at the end
10212             END
10213             tags => [
10214             'family:mit',
10215             'license:is:grant',
10216             'license:published:by_james_clark',
10217             'type:unversioned',
10218             ],
10219              
10220             'pat.alt.subject.license.scope.multisection' =>
10221             $P{to_copy_sublicence_conditions}
10222             . '[:][ ]'
10223             . $P{retain_copr_perm_subst},
10224             };
10225              
10226             =item * mit_new_materials
10227              
10228             =cut
10229              
10230             $RE{mit_new_materials} = {
10231             name => 'Khronos',
10232             caption => 'Khronos License',
10233             tags => [
10234             'family:mit',
10235             'license:is:grant',
10236             'type:unversioned',
10237             ],
10238              
10239             'pat.alt.subject.license.scope.sentence' => $P{perm_granted}
10240             . $P{free_charge}
10241             . $P{to_pers}
10242             . $P{the_material}
10243             . $P{to_deal_mat},
10244             };
10245              
10246             =item * mit_old
10247              
10248             =cut
10249              
10250             $RE{mit_old} = {
10251             'name.alt.org.debian' => 'MIT~old',
10252             'name.alt.org.gentoo' => 'Old-MIT',
10253             caption => 'MIT (old)',
10254             tags => [
10255             'family:mit',
10256             'license:is:grant',
10257             'type:unversioned',
10258             ],
10259              
10260             'pat.alt.subject.license' => $P{perm_granted} . $P{free_agree_fee},
10261             };
10262              
10263             =item * mit_oldstyle
10264              
10265             =cut
10266              
10267             $RE{mit_oldstyle} = {
10268             'name.alt.org.debian' => 'MIT~oldstyle',
10269             caption => 'MIT (Old Style)',
10270             'summary.alt.org.fedora.iri.mit' => 'MIT-style license, Old Style',
10271             description => <<'END',
10272             Origin: Possibly by Jamie Zawinski in 1993 for xscreensaver.
10273             END
10274             tags => [
10275             'family:mit',
10276             'license:is:grant',
10277             'type:unversioned',
10278             ],
10279              
10280             'pat.alt.subject.license.scope.line.scope.paragraph' =>
10281             'documentation[. ]No representations are made',
10282             };
10283              
10284             =item * mit_oldstyle_disclaimer
10285              
10286             =cut
10287              
10288             $RE{mit_oldstyle_disclaimer} = {
10289             'name.alt.org.debian' => 'MIT~oldstyle~disclaimer',
10290             caption => 'MIT (Old Style, legal disclaimer)',
10291             'summary.alt.org.fedora.iri.mit' =>
10292             'MIT-style license, Old Style with legal disclaimer',
10293             tags => [
10294             'family:mit',
10295             'license:is:grant',
10296             'type:unversioned',
10297             ],
10298              
10299             'pat.alt.subject.license.scope.multisection' =>
10300             'supporting documentation[.][ ]' . $P{asis_name_sw},
10301             };
10302              
10303             =item * mit_oldstyle_permission
10304              
10305             =cut
10306              
10307             $RE{mit_oldstyle_permission} = {
10308             'name.alt.org.debian' => 'MIT~oldstyle~permission',
10309             'summary.alt.org.fedora.iri.mit' =>
10310             'MIT-style license, Old Style (no advertising without permission)',
10311             tags => [
10312             'family:mit',
10313             'license:is:grant',
10314             'type:unversioned',
10315             ],
10316              
10317             'pat.alt.subject.license.scope.multisection' => $P{without_written_prior}
10318             . '[.][ ]'
10319             . $P{asis_name_sw},
10320             };
10321              
10322             =item * mit_open_group
10323              
10324             I
10325              
10326             =cut
10327              
10328             $RE{mit_open_group} = {
10329             name => 'MIT-Open-Group',
10330             'name.alt.org.spdx.since.date_20201125' => 'MIT-Open-Group',
10331             caption => 'MIT Open Group variant',
10332             description => <<'END',
10333             Identical to NTP, except...
10334             * add explicit permission to sell
10335             * omit explicit permission to charge or not charge fee
10336             * extend permissions with note that they are granted without fee
10337             * add retain-copyright-notices clause
10338             * rephrase disclaimers
10339             * rephrase non-endorsement clause and move it to the end
10340             END
10341             tags => [
10342             'family:mit',
10343             'license:contains:license:hpnd_sell',
10344             'license:is:grant',
10345             'type:unversioned',
10346             ],
10347              
10348             'pat.alt.subject.license.scope.paragraph' =>
10349             'Permission to use, copy, modify, distribute, and sell '
10350             . 'this software and its documentation '
10351             . 'for any purpose is hereby granted without fee, '
10352             . 'provided that the above copyright notice appears? in all copies,?(?: and)? '
10353             . 'that both(?: that)?(?: the)? copyright notice '
10354             . 'and this permission notice appear in supporting documentation[.]',
10355             };
10356              
10357             =item * mit_openvision
10358              
10359             I
10360              
10361             =cut
10362              
10363             $RE{mit_openvision} = {
10364             'name.alt.org.debian' => 'MIT~OpenVision',
10365             'summary.alt.org.fedora.iri.mit' =>
10366             'MIT-style license, OpenVision Variant',
10367             tags => [
10368             'family:mit',
10369             'license:is:grant',
10370             'type:unversioned',
10371             ],
10372              
10373             'pat.alt.subject.license.scope.line.scope.sentence' =>
10374             'You may freely use and distribute the Source Code and Object Code',
10375             };
10376              
10377             =item * mit_osf
10378              
10379             I
10380              
10381             =cut
10382              
10383             $RE{mit_osf} = {
10384             'name.alt.org.debian' => 'MIT~OSF',
10385             'summary.alt.org.fedora.iri.mit' => 'MIT-style license, HP Variant',
10386             tags => [
10387             'family:mit',
10388             'license:is:grant',
10389             'type:unversioned',
10390             ],
10391              
10392             'pat.alt.subject.license.scope.line.scope.sentence' =>
10393             'To anyone who acknowledges that this file is provided',
10394             };
10395              
10396             =item * mit_unixcrypt
10397              
10398             I
10399              
10400             =cut
10401              
10402             $RE{mit_unixcrypt} = {
10403             'name.alt.org.debian' => 'MIT~UnixCrypt',
10404             'summary.alt.org.fedora.iri.mit' =>
10405             'MIT-style license, UnixCrypt Variant',
10406             tags => [
10407             'family:mit',
10408             'license:is:grant',
10409             'type:unversioned',
10410             ],
10411              
10412             'pat.alt.subject.license.scope.line.scope.sentence' =>
10413             'for non-commercial or commercial purposes and without fee',
10414             };
10415              
10416             =item * mit_whatever
10417              
10418             I
10419              
10420             =cut
10421              
10422             $RE{mit_whatever} = {
10423             'name.alt.org.debian' => 'MIT~whatever',
10424             'summary.alt.org.fedora.iri.mit' => 'MIT-style license, Whatever Variant',
10425             tags => [
10426             'family:mit',
10427             'license:is:grant',
10428             'type:unversioned',
10429             ],
10430              
10431             'pat.alt.subject.license.scope.sentence' =>
10432             'and to alter it and redistribute it freely[.]',
10433             };
10434              
10435             =item * mit_widget
10436              
10437             I
10438              
10439             =cut
10440              
10441             $RE{mit_widget} = {
10442             'name.alt.org.debian' => 'MIT~Widget',
10443             'summary.alt.org.fedora.iri.mit' => 'MIT-style license, Nuclear Variant',
10444             tags => [
10445             'family:mit',
10446             'license:is:grant',
10447             'type:unversioned',
10448             ],
10449              
10450             'pat.alt.subject.license.scope.line.scope.sentence' =>
10451             'its documentation for NON-COMMERCIAL or COMMERCIAL purposes',
10452             };
10453              
10454             =item * mit_xfig
10455              
10456             I
10457              
10458             =cut
10459              
10460             $RE{mit_xfig} = {
10461             'name.alt.org.debian' => 'MIT~Xfig',
10462             'name.alt.org.fedora.iri.mit_short' => 'Xfig',
10463             'summary.alt.org.fedora.iri.mit' => 'MIT-style license, Xfig Variant',
10464             tags => [
10465             'family:mit',
10466             'license:is:grant',
10467             'type:unversioned',
10468             ],
10469              
10470             'pat.alt.subject.license.scope.line.scope.sentence' =>
10471             'Any party obtaining a copy of these files is granted, free of charge',
10472             };
10473              
10474             =item * motosoto
10475              
10476             I
10477              
10478             =cut
10479              
10480             $RE{motosoto} = {
10481             name => 'Motosoto',
10482             'name.alt.org.fedora' => 'Motosoto',
10483             'name.alt.org.osi' => 'Motosoto',
10484             'name.alt.org.osi.iri.stem.until.date_20110430' => 'motosoto',
10485             'name.alt.org.spdx' => 'Motosoto',
10486             'name.alt.org.wikidata.synth.nogrant' => 'Q38494497',
10487             'name.alt.misc.fossology_old' => 'Motosoto_v0.9.1',
10488             caption => 'Motosoto License',
10489             'caption.alt.org.osi' => 'Motosoto Open Source License - Version 0.9.1',
10490             'caption.alt.org.osi.misc.list' => 'Motosoto License',
10491             'caption.alt.org.trove' => 'Motosoto License',
10492             'caption.alt.org.wikidata' => 'Motosoto Open Source License',
10493             description => <<'END',
10494             Identical to Jabber Open Source License, except...
10495             * rephrase grant clause to explicitly cover whole product (not only modified parts)
10496             * extend grant clause to explicitly cover creation of derivative works
10497             * replace references, e.g. "Jabber Server" -> "Community Portal Server"
10498             * document that license is derived from Jabber Open Source License
10499             * drop some disclaimers
10500             END
10501             tags => [
10502             'type:unversioned',
10503             ],
10504              
10505             'pat.alt.subject.license.part.header' =>
10506             'MOTOSOTO OPEN SOURCE LICENSE[ - ]Version 0\.9\.1',
10507             'pat.alt.subject.license.part.intro' =>
10508             'This Motosoto Open Source License [(]the ["]License["][)]'
10509             . ' applies to ["]Community Portal Server["] and related software products',
10510             'pat.alt.subject.license.scope.multisection.part.part7' =>
10511             'Versions of This License'
10512             . '[.][ ][*)]'
10513             . 'Version[. ]The Motosoto Open Source License is derived',
10514             };
10515              
10516             =item * mpich2
10517              
10518             I
10519              
10520             =cut
10521              
10522             $RE{mpich2} = {
10523             name => 'mpich2',
10524             'name.alt.org.spdx.since.date_20140807' => 'mpich2',
10525             'name.alt.org.wikidata.synth.nogrant' => 'Q17070027',
10526             caption => 'mpich2 License',
10527             'caption.alt.org.fedora' => 'mpich2 License',
10528             'caption.alt.org.wikidata' => 'MPICH2 license',
10529             'summary.alt.org.fedora.iri.mit' => 'MIT-style license, mpich2 variant',
10530             tags => [
10531             'family:mit',
10532             'license:is:grant',
10533             'type:unversioned',
10534             ],
10535              
10536             'pat.alt.subject.license.scope.paragraph' => $P{perm_granted}
10537             . $P{to_reproduce} . '[. ]'
10538             . 'This software was authored by',
10539             };
10540              
10541             =item * mpl
10542              
10543             =item * mpl_1
10544              
10545             I
10546              
10547             =item * mpl_1_1
10548              
10549             I
10550              
10551             =item * mpl_2
10552              
10553             I
10554              
10555             =item * mpl_2_no_copyleft_exception
10556              
10557             I
10558              
10559             =cut
10560              
10561             $RE{mpl} = {
10562             name => 'MPL',
10563             'name.alt.org.wikidata.synth.nogrant' => 'Q308915',
10564             caption => 'Mozilla Public License',
10565             'caption.alt.org.wikipedia' => 'Mozilla Public License',
10566             iri => 'https://www.mozilla.org/MPL',
10567             tags => [
10568             'type:versioned:decimal',
10569             ],
10570              
10571             'pat.alt.subject.name' => "$the?Mozilla Public Licen[cs]e"
10572             . '(?: [(]["]?(?:[http://]mozilla.org/)?MPL["]?[)])?'
10573             . "(?: (?:as )?published by $the\{0,2}Mozilla Foundation)?",
10574             };
10575              
10576             $RE{mpl_1} = {
10577             name => 'MPL-1.0',
10578             'name.alt.org.fedora' => 'MPLv1.0',
10579             'name.alt.org.osi' => 'MPL-1.0',
10580             'name.alt.org.osi.iri.stem.until.date_20110430' => 'mozilla1.0',
10581             'name.alt.org.perl' => 'mozilla_1_0',
10582             'name.alt.org.spdx' => 'MPL-1.0',
10583             'name.alt.org.wikidata.synth.nogrant' => 'Q26737738',
10584             'name.alt.misc.fossology_old' => 'Mozilla1.0',
10585             'name.alt.misc.fossology_old_short' => 'MPL_v1.0',
10586             caption => 'Mozilla Public License 1.0',
10587             'caption.alt.org.fedora' => 'Mozilla Public License v1.0',
10588             'caption.alt.org.osi' => 'The Mozilla Public License (MPL), version 1.0',
10589             'caption.alt.org.osi.misc.list' => 'Mozilla Public License 1.0',
10590             'caption.alt.org.osi.misc.do_not_use_list' =>
10591             'Mozilla Public License, version 1.0',
10592             'caption.alt.org.perl' => 'Mozilla Public License, Version 1.0',
10593             'caption.alt.org.tldr' => 'Mozilla Public License 1.0 (MPL-1.0)',
10594             'caption.alt.org.trove' => 'Mozilla Public License 1.0 (MPL)',
10595             'caption.alt.org.wikidata' => 'Mozilla Public License, version 1.0',
10596             'caption.alt.misc.trove' => 'Mozilla Public License 1.0 (MPL)',
10597             description => <<'END',
10598             Origin: Netscape Public License 1.0
10599             END
10600             tags => [
10601             'license:contains:grant',
10602             'type:singleversion:mpl',
10603             ],
10604             licenseversion => '1.0',
10605              
10606             'pat.alt.subject.license.scope.multiparagraph.part.head' =>
10607             'MOZILLA PUBLIC LICENSE[ ]Version 1\.0[ ]' . '[*)]Definitions',
10608             };
10609              
10610             $RE{mpl_1_1} = {
10611             name => 'MPL-1.1',
10612             'name.alt.org.fedora' => 'MPLv1.1',
10613             'name.alt.org.osi' => 'MPL-1.1',
10614             'name.alt.org.osi.iri.stem.until.date_20110430' => 'mozilla1.1',
10615             'name.alt.org.perl' => 'mozilla_1_1',
10616             'name.alt.org.spdx' => 'MPL-1.1',
10617             'name.alt.org.wikidata.synth.nogrant' => 'Q26737735',
10618             'name.alt.misc.fossology_old' => 'Mozilla1.1',
10619             'name.alt.misc.fossology_old_short' => 'MPL_v1.1',
10620             caption => 'Mozilla Public License 1.1',
10621             'caption.alt.org.fedora' => 'Mozilla Public License v1.1',
10622             'caption.alt.org.osi.misc.do_not_use_list' =>
10623             'Mozilla Public License, version 1.1',
10624             'caption.alt.org.perl' => 'Mozilla Public License, Version 1.1',
10625             'caption.alt.org.tldr' => 'Mozilla Public License 1.1 (MPL-1.1)',
10626             'caption.alt.org.trove' => 'Mozilla Public License 1.1 (MPL 1.1)',
10627             'caption.alt.org.trove.misc.short' => 'MPL 1.1',
10628             'caption.alt.org.wikidata' => 'Mozilla Public License, version 1.1',
10629             'caption.alt.misc.trove' => 'Mozilla Public License 1.1 (MPL 1.1)',
10630             tags => [
10631             'license:contains:grant',
10632             'type:singleversion:mpl',
10633             ],
10634             licenseversion => '1.1',
10635              
10636             'pat.alt.subject.license.scope.multiparagraph.part.head' =>
10637             'Mozilla Public License Version 1\.1[ ]' . '[*)]Definitions',
10638             };
10639              
10640             $RE{mpl_2} = {
10641             name => 'MPL-2.0',
10642             'name.alt.org.fedora' => 'MPLv2.0',
10643             'name.alt.org.osi' => 'MPL-2.0',
10644             'name.alt.org.spdx' => 'MPL-2.0',
10645             'name.alt.org.tldr' => 'mozilla-public-license-2.0-(mpl-2)',
10646             'name.alt.org.wikidata.synth.nogrant' => 'Q25428413',
10647             'name.alt.misc.fossology_old' => 'MPL_v2.0',
10648             caption => 'Mozilla Public License 2.0',
10649             'caption.alt.org.fedora' => 'Mozilla Public License v2.0',
10650             'caption.alt.org.osi' => 'Mozilla Public License 2.0',
10651             'caption.alt.org.tldr' => 'Mozilla Public License 2.0 (MPL-2.0)',
10652             'caption.alt.org.trove' => 'Mozilla Public License 2.0 (MPL 2.0)',
10653             'caption.alt.org.trove.misc.short' => 'MPL 2.0',
10654             'caption.alt.org.wikidata' => 'Mozilla Public License, version 2.0',
10655             'caption.alt.misc.trove' => 'Mozilla Public License 2.0 (MPL 2.0)',
10656             tags => [
10657             'license:contains:grant',
10658             'type:singleversion:mpl',
10659             ],
10660             licenseversion => '2.0',
10661              
10662             'pat.alt.subject.license.scope.multiparagraph.part.head' =>
10663             'Mozilla Public License Version 2\.0[ ]' . '[*)]Definitions',
10664             };
10665              
10666             $RE{mpl_2_no_copyleft_exception} = {
10667             name => 'MPL-2.0-no-copyleft-exception',
10668             'name.alt.org.spdx' => 'MPL-2.0-no-copyleft-exception',
10669             caption => 'Mozilla Public License 2.0 (no copyleft exception)',
10670             description => <<'END',
10671             Usage: When the MPL\'s Exhibit B is used,
10672             which effectively negates the copyleft compatibility clause in section 3.3.
10673             END
10674             tags => [
10675             'type:usage:ofl_1:no_copyleft_exception',
10676             ],
10677             };
10678              
10679             =item * ms_cl
10680              
10681             I
10682              
10683             =cut
10684              
10685             $RE{ms_cl} = {
10686             name => 'MS-CL',
10687             caption => 'Microsoft Shared Source Community License',
10688             caption => 'Microsoft Shared Source Community License (MS-CL)',
10689             'caption.alt.org.tldr' =>
10690             'Microsoft Shared Source Community License (MS-CL)',
10691             tags => [
10692             'type:unversioned',
10693             ],
10694              
10695             'pat.alt.subject.license.scope.line.scope.sentence' =>
10696             'If you distribute the larger work as a series of files, you must grant',
10697             };
10698              
10699             =item * ms_pl
10700              
10701             =cut
10702              
10703             $RE{ms_pl} = {
10704             name => 'MS-PL',
10705             'name.alt.org.fedora' => 'MS-PL',
10706             'name.alt.org.osi' => 'MS-PL',
10707             'name.alt.org.osi.iri.stem.until.date_20110430' => 'ms-pl',
10708             'name.alt.org.spdx' => 'MS-PL',
10709             'name.alt.org.tldr.path.short' => 'mspl',
10710             'name.alt.org.wikidata.synth.nogrant' => 'Q15477153',
10711             'name.alt.misc.fossology_old' => 'Ms-PL',
10712             caption => 'Microsoft Public License',
10713             'caption.alt.org.tldr' => 'Microsoft Public License (Ms-PL)',
10714             'iri.alt.org.wikipedia' =>
10715             'https://en.wikipedia.org/wiki/Shared_source#Microsoft_Public_License_(Ms-PL)',
10716             tags => [
10717             'license:is:grant',
10718             'type:unversioned',
10719             ],
10720              
10721             'pat.alt.subject.license.scope.multiparagraph' =>
10722             'Microsoft Public License [(]Ms-PL[)][ ]This license governs use',
10723             };
10724              
10725             =item * ms_rl
10726              
10727             =cut
10728              
10729             $RE{ms_rl} = {
10730             name => 'MS-RL',
10731             'name.alt.org.fedora' => 'MS-RL',
10732             'name.alt.org.osi' => 'MS-RL',
10733             'name.alt.org.osi.iri.stem.until.date_20110430' => 'ms-rl',
10734             'name.alt.org.spdx' => 'MS-RL',
10735             'name.alt.org.tldr.path.short' => 'nsrl',
10736             'name.alt.org.wikidata.synth.nogrant' => 'Q1772828',
10737             'name.alt.misc.fossology_old' => 'Ms-RL',
10738             caption => 'Microsoft Reciprocal License',
10739             'caption.alt.org.tldr' => 'Microsoft Reciprocal License (Ms-RL)',
10740             'iri.alt.org.wikipedia' =>
10741             'https://en.wikipedia.org/wiki/Shared_source#Microsoft_Reciprocal_License_(Ms-RL)',
10742             tags => [
10743             'license:is:grant',
10744             'type:unversioned',
10745             ],
10746              
10747             'pat.alt.subject.license.part.part3a' =>
10748             'Reciprocal Grants[-]For any file you distribute that contains code',
10749             'pat.alt.subject.license.scope.multiparagraph' =>
10750             'Microsoft Reciprocal License [(]Ms[-]RL[)][ ]This license governs use',
10751             };
10752              
10753             =item * mulan
10754              
10755             I
10756              
10757             =item * mulan_1
10758              
10759             I
10760              
10761             =item * mulan_2
10762              
10763             I
10764              
10765             =cut
10766              
10767             $RE{mulan} = {
10768             name => 'MulanPSL',
10769             caption => 'Mulan Permissive Software License',
10770             'caption.alt.lang.zh_CN' => '木兰宽松许可证',
10771             tags => [
10772             'type:versioned:decimal',
10773             ],
10774             };
10775              
10776             $RE{mulan_1} = {
10777             name => 'MulanPSL-1',
10778             'name.alt.org.spdx.since.date_20191022' => 'MulanPSL-1.0',
10779             'name.alt.org.wikidata.synth.nogrant' => 'Q66563953',
10780             caption => 'Mulan Permissive Software License, Version 1',
10781             'caption.alt.lang.zh_CN' => '木兰宽松许可证, 第1版',
10782             'caption.alt.misc.shortname' => 'Mulan PSL v1',
10783             iri => 'https://license.coscl.org.cn/MulanPSL',
10784             tags => [
10785             'license:contains:grant',
10786             'type:singleversion:mulan',
10787             ],
10788             licenseversion => '1.0',
10789              
10790             'pat.alt.subject.license.scope.sentence.part.intro' =>
10791             'Your reproduction, use, modification and distribution'
10792             . ' of the Software'
10793             . ' shall be subject to Mulan PSL v1 [(]this License[)]'
10794             . ' with following',
10795             'pat.alt.subject.license.scope.sentence.part.intro.lang.zh_CN' =>
10796             '您对["]软件["]的复制[, ]使用'
10797             . '[, ]修改及分发受木兰宽松许可证[, ]第1版[(]["]本许可证["][)]'
10798             . '的如下条款的约束',
10799             'pat.alt.subject.license.scope.multisection.part.grant' =>
10800             '[*]Software Name[*] is licensed under the Mulan PSL v1[. ]'
10801             . 'You can use this software'
10802             . ' according to the terms and conditions of the Mulan PSL v1'
10803             };
10804              
10805             $RE{mulan_2} = {
10806             name => 'MulanPSL-2',
10807             'name.alt.org.osi' => 'MulanPSL-2.0',
10808             'name.alt.org.spdx.since.date_20200515' => 'MulanPSL-2.0',
10809             'name.alt.org.wikidata.synth.nogrant' => 'Q99634430',
10810             caption => 'Mulan Permissive Software License, Version 2',
10811             'caption.alt.lang.zh_CN' => '木兰宽松许可证, 第2版',
10812             'caption.alt.org.osi' => 'Mulan Permissive Software License v2',
10813             'caption.alt.org.osi.misc.shortname' => 'MulanPSL - 2.0',
10814             'caption.alt.misc.shortname' => 'Mulan PSL v2',
10815             iri => 'https://license.coscl.org.cn/MulanPSL2',
10816             tags => [
10817             'license:contains:grant',
10818             'type:singleversion:mulan',
10819             ],
10820             licenseversion => '2.0',
10821              
10822             'pat.alt.subject.license.scope.sentence.part.intro' =>
10823             'Your reproduction, use, modification and distribution'
10824             . ' of the Software'
10825             . ' shall be subject to Mulan PSL v2 [(]this License[)]'
10826             . ' with the following terms and conditions',
10827             'pat.alt.subject.license.scope.sentence.part.intro.lang.zh_CN' =>
10828             '您对["]软件["]的复制[, ]使用'
10829             . '[, ]修改及分发受木兰宽松许可证[, ]第2版[(]["]本许可证["][)]'
10830             . '的如下条款的约束',
10831             'pat.alt.subject.license.scope.multisection.part.grant' =>
10832             '[*]Software Name[*] is licensed under Mulan PSL v2[. ]'
10833             . 'You can use this software'
10834             . ' according to the terms and conditions of the Mulan PSL v2',
10835             };
10836              
10837             =item * multics
10838              
10839             I
10840              
10841             =cut
10842              
10843             $RE{multics} = {
10844             name => 'Multics',
10845             'name.alt.org.osi' => 'Multics',
10846             'name.alt.org.osi.iri.stem.until.date_20110430' => 'multics',
10847             'name.alt.org.spdx' => 'Multics',
10848             'name.alt.org.wikidata.synth.nogrant' => 'Q38494754',
10849             caption => 'Multics License',
10850             'caption.alt.org.tldr' => 'Multics License (Multics)',
10851             description => <<'END',
10852             Identical to NTP, except...
10853             * add Paragraph "Historical Background"
10854             * omit explicit permission to charge fee
10855             * replace "software" with "programs"
10856             * extend things to retain to include historical background
10857             * omit suitability disclaimer and terse "as is" warranty disclaimer
10858             * list copyrights at bottom
10859             END
10860             tags => [
10861             'family:mit',
10862             'license:is:grant',
10863             'type:unversioned',
10864             ],
10865              
10866             'pat.alt.subject.license.scope.line.scope.sentence.part.intro' =>
10867             'This edition of the Multics software materials and documentation',
10868             'pat.alt.subject.license.scope.line.scope.sentence.part.permissions_first'
10869             => 'Permission to use, copy, modify, and distribute these programs',
10870             'pat.alt.subject.license.scope.sentence.part.permissions_middle' =>
10871             'copyright notice and(?: this)? historical background appear',
10872             };
10873              
10874             =item * nasa
10875              
10876             I
10877              
10878             =item * nasa_1_3
10879              
10880             I
10881              
10882             =cut
10883              
10884             $RE{nasa} = {
10885             name => 'NASA',
10886             'name.alt.misc.abbrev' => 'NOSA',
10887             'name.alt.org.wikidata.synth.nogrant' => 'Q6952418',
10888             caption => 'NASA Open Source Agreement',
10889             'caption.alt.org.wikipedia' => 'NASA Open Source Agreement',
10890             tags => [
10891             'type:versioned:decimal',
10892             ],
10893             };
10894              
10895             $RE{nasa_1_3} = {
10896             name => 'NASA-1.3',
10897             'name.alt.org.osi' => 'NASA-1.3',
10898             'name.alt.org.osi.iri.stem.until.date_20110430' => 'nasa1.3',
10899             'name.alt.org.spdx' => 'NASA-1.3',
10900             'name.alt.misc.fossology_old' => 'NASA_v1.3',
10901             'name.alt.misc.fossology_old_short' => 'NASA1.3',
10902             caption => 'NASA Open Source Agreement 1.3',
10903             'caption.alt.org.fedora' => 'NASA Open Source Agreement v1.3',
10904             'caption.alt.org.fedora.iri.self.synth.nogrant' =>
10905             'NASA Open Source Agreement',
10906             'caption.alt.org.osi' => 'NASA Open Source Agreement v1.3',
10907             'caption.alt.org.osi.misc.list' => 'NASA Open Source Agreement 1.3',
10908             'caption.alt.org.tldr' => 'NASA Open Source Agreement 1.3 (NASA-1.3)',
10909             iri => 'https://ti.arc.nasa.gov/opensource/nosa/',
10910             tags => [
10911             'type:singleversion:nasa',
10912             ],
10913             licenseversion => '1.3',
10914              
10915             'pat.alt.subject.license.scope.line.scope.sentence.part.definitions' =>
10916             '["]Contributor["] means Government Agency',
10917             };
10918              
10919             =item * naumen
10920              
10921             I
10922              
10923             =cut
10924              
10925             $RE{naumen} = {
10926             name => 'Naumen',
10927             'name.alt.org.fedora' => 'Naumen',
10928             'name.alt.org.osi' => 'Naumen',
10929             'name.alt.org.osi.iri.stem.until.date_20110430' => 'naumen',
10930             'name.alt.org.spdx' => 'Naumen',
10931             'name.alt.org.wikidata.synth.nogrant' => 'Q38495690',
10932             'name.alt.misc.fossology_old' => 'NAUMEN',
10933             caption => 'Naumen Public License',
10934             'caption.alt.org.osi' => 'NAUMEN Public License',
10935             'caption.alt.org.osi.misc.list' => 'Naumen Public License',
10936             'caption.alt.org.tldr' => 'Naumen Public License (Naumen)',
10937             'caption.alt.org.wikidata' => 'NAUMEN Public License',
10938             tags => [
10939             'family:bsd',
10940             'license:contains:license:bsd_3_clause',
10941             'license:is:grant',
10942             'type:unversioned',
10943             ],
10944              
10945             'pat.alt.subject.license.scope.multisection.part.part2_3' =>
10946             $P{repro_copr_cond_discl}
10947             . '[.][ ]' . '[*)]'
10948             . 'The name NAUMEN[tm] must not '
10949             . $P{used_endorse_deriv}
10950             . $P{without_prior_written},
10951             'pat.alt.subject.license.scope.sentence.part.part3' =>
10952             'The name NAUMEN[tm] must not be used to endorse',
10953             };
10954              
10955             =item * nbpl
10956              
10957             I
10958              
10959             =item * nbpl_1
10960              
10961             I
10962              
10963             =cut
10964              
10965             $RE{nbpl} = {
10966             name => 'NBPL',
10967             caption => 'Net Boolean Public License',
10968             tags => [
10969             'type:versioned:decimal',
10970             ],
10971             };
10972              
10973             $RE{nbpl_1} = {
10974             name => 'NBPL-1.0',
10975             'name.alt.org.spdx' => 'NBPL-1.0',
10976             caption => 'Net Boolean Public License v1',
10977             'caption.alt.org.spdx.since.date_20130117' =>
10978             'Net Boolean Public License v1',
10979             'caption.alt.org.tldr' => 'Net Boolean Public License v1 (NBPL-1.0)',
10980             description => <<'END',
10981             Identical to OLDAP-1.1, exept...
10982             * title
10983             * copyright holder
10984             END
10985             tags => [
10986             'type:singleversion:nbpl',
10987             ],
10988             licenseversion => '1.0',
10989              
10990             'pat.alt.subject.license.scope.multisection.part.header' =>
10991             'The Net Boolean Public License[ ]Version 1, 22 August 1998',
10992             };
10993              
10994             =item * ncsa
10995              
10996             I
10997              
10998             =cut
10999              
11000             $RE{ncsa} = {
11001             name => 'NCSA',
11002             'name.alt.org.fedora' => 'NCSA',
11003             'name.alt.org.osi' => 'NCSA',
11004             'name.alt.org.osi.iri.stem.until.date_20110430' => 'UoI-NCSA',
11005             'name.alt.org.spdx' => 'NCSA',
11006             'name.alt.org.wikidata.synth.nogrant' => 'Q2495855',
11007             caption => 'University of Illinois/NCSA Open Source License',
11008             'caption.alt.org.fedora' =>
11009             'NCSA/University of Illinois Open Source License',
11010             'caption.alt.misc.short' => 'UIUC license',
11011             'caption.alt.org.osi' =>
11012             'The University of Illinois/NCSA Open Source License',
11013             'caption.alt.org.osi.misc.list' =>
11014             'University of Illinois/NCSA Open Source License',
11015             'caption.alt.org.tldr' =>
11016             'University of Illinois - NCSA Open Source License (NCSA)',
11017             'caption.alt.org.tldr.path.short' => 'ncsa',
11018             'caption.alt.org.trove' =>
11019             'University of Illinois/NCSA Open Source License',
11020             'caption.alt.org.wikipedia' =>
11021             'University of Illinois/NCSA Open Source License',
11022             description => <<'END',
11023             Identical to MIT (Expat), except...
11024             * replace retain-copyright-notices clause with BSD 3 Clause clauses
11025              
11026             Identical to BSD 3 Clause, except...
11027             * add MIT permissions clause
11028             * replace disclaimers with MIT disclaimers
11029             END
11030             iri =>
11031             'http://otm.illinois.edu/disclose-protect/illinois-open-source-license',
11032             tags => [
11033             'license:contains:license:bsd_3_clause',
11034             'license:contains:license:mit_new',
11035             'license:is:grant',
11036             'type:unversioned',
11037             ],
11038              
11039             'pat.alt.subject.license.scope.sentence' =>
11040             $P{to_copy_sublicence_conditions}
11041             . '[:]?[ ][*)]'
11042             . $P{retain_notice_cond_discl},
11043             };
11044              
11045             =item * ngpl
11046              
11047             =cut
11048              
11049             $RE{ngpl} = {
11050             name => 'NGPL',
11051             'name.alt.org.fedora' => 'NGPL',
11052             'name.alt.org.osi' => 'NGPL',
11053             'name.alt.org.osi.iri.stem.until.date_20110430' => 'nethack',
11054             'name.alt.org.spdx' => 'NGPL',
11055             'name.alt.org.wikidata.synth.nogrant' => 'Q20764732',
11056             'name.alt.misc.fossology_old' => 'Nethack',
11057             caption => 'Nethack General Public License',
11058             'caption.alt.org.osi' => 'The Nethack General Public License',
11059             'caption.alt.org.osi.misc.list' => 'Nethack General Public License',
11060             'caption.alt.org.tldr' => 'Nethack General Public License (NGPL)',
11061             'caption.alt.org.trove' => 'Nethack General Public License',
11062             tags => [
11063             'type:unversioned',
11064             ],
11065              
11066             'pat.alt.subject.license' =>
11067             'You may copy and distribute verbatim copies of NetHack',
11068             };
11069              
11070             =item * nokia
11071              
11072             I
11073              
11074             =cut
11075              
11076             $RE{nokia} = {
11077             name => 'Nokia',
11078             'name.alt.org.fedora' => 'Nokia',
11079             'name.alt.org.osi' => 'Nokia',
11080             'name.alt.org.osi.iri.stem.until.date_20110430' => 'nokia',
11081             'name.alt.org.osi.misc.upper' => 'NOKIA',
11082             'name.alt.org.spdx' => 'Nokia',
11083             'name.alt.org.trove' => 'NOKOS',
11084             'name.alt.org.wikidata.synth.nogrant' => 'Q38495954',
11085             'name.alt.misc.fossology_old' => 'Nokia_v1.0a',
11086             caption => 'Nokia Open Source License',
11087             'caption.alt.org.osi' => 'Nokia Open Source License Version 1.0a',
11088             'caption.alt.org.osi.misc.list' => 'Nokia Open Source License',
11089             'caption.alt.org.trove' => 'Nokia Open Source License',
11090             'caption.alt.misc.legal' => 'NOKOS License Version 1.0',
11091             'caption.alt.org.tldr' =>
11092             'Nokia Open Source License (Nokia Open Source License)',
11093             'caption.alt.org.trove' => 'Nokia Open Source License',
11094             'caption.alt.org.trove.misc.long' => 'Nokia Open Source License (NOKOS)',
11095             description => <<'END',
11096             Origin: Possibly Mozilla Public License
11097             END
11098             tags => [
11099             'type:unversioned',
11100             ],
11101              
11102             'pat.alt.subject.name.misc.free' =>
11103             '(?:Nokia|NOKOS)(?: Open Source)?(?: [Ll]icen[cs]e)?' . '(?:'
11104             . $RE{version_prefix}
11105             {'pat.alt.subject.trait.scope.line.scope.sentence'}
11106             . '1\.0a?)?',
11107             'pat.alt.subject.license.scope.line.scope.sentence.part.definitions' =>
11108             '["]Affiliates["] of a party shall mean an entity',
11109             };
11110              
11111             =item * nosl
11112              
11113             I
11114              
11115             =item * nosl_1
11116              
11117             I
11118              
11119             =cut
11120              
11121             $RE{nosl} = {
11122             name => 'NOSL',
11123             caption => 'Netizen Open Source License',
11124             'caption.alt.org.tldr' => 'Netizen Open Source License (NOSL)',
11125             tags => [
11126             'type:versioned:decimal',
11127             ],
11128             };
11129              
11130             $RE{nosl_1} = {
11131             name => 'NOSL-1.0',
11132             'name.alt.org.fedora.synth.nogrant' => 'NOSL',
11133             'name.alt.org.spdx.synth.nogrant' => 'NOSL',
11134             caption => 'Netizen Open Source License 1.0',
11135             'caption.alt.org.fedora.synth.nogrant' => 'Netizen Open Source License',
11136             'caption.alt.org.spdx.since.date_20130117.synth.nogrant' =>
11137             'Netizen Open Source License',
11138             description => <<'END',
11139             Origin: Mozilla Public License 1.1
11140              
11141             Identical to Mozilla Pulbic License 1.0, except...
11142             * replace "Mozilla", "Netscape", "MPL" etc. with "Netizen" and "NOSL" in section 6
11143             * add disclaimer as section 7.1
11144             * change requirement of governance from California to Australia in section 11
11145             END
11146             tags => [
11147             'license:contains:grant',
11148             'type:singleversion:nosl',
11149             ],
11150             licenseversion => '1.0',
11151              
11152             'pat.alt.subject.license.scope.multiparagraph.part.head' =>
11153             'NETIZEN OPEN SOURCE LICENSE[ ]Version 1\.0[ ]' . '[*)]Definitions',
11154             };
11155              
11156             =item * npl
11157              
11158             =item * npl_1
11159              
11160             =item * npl_1_1
11161              
11162             =cut
11163              
11164             $RE{npl} = {
11165             name => 'NPL',
11166             'name.alt.org.wikidata.synth.nogrant' => 'Q2306611',
11167             'name.alt.misc.fossology_old_vague.synth.nogrant' => 'Netscape',
11168             caption => 'Netscape Public License',
11169             'caption.alt.org.trove' => 'Netscape Public License (NPL)',
11170             'caption.alt.org.wikipedia' => 'Netscape Public License',
11171             tags => [
11172             'type:versioned:decimal',
11173             ],
11174             };
11175              
11176             $RE{npl_1} = {
11177             name => 'NPL-1.0',
11178             'name.alt.org.fedora.synth.nogrant' => 'Netscape',
11179             'name.alt.org.spdx.since.date_20130117' => 'NPL-1.0',
11180             'name.alt.misc.fossology_old' => 'NPL_v1.0',
11181             caption => 'Netscape Public License v1.0',
11182             'caption.alt.org.fedora.synth.nogrant' => 'Netscape Public License',
11183             iri =>
11184             'https://website-archive.mozilla.org/www.mozilla.org/mpl/MPL/NPL/1.0/',
11185             tags => [
11186             'type:singleversion:npl',
11187             ],
11188             licenseversion => '1.0',
11189              
11190             'pat.alt.subject.license.scope.multiparagraph' =>
11191             'NETSCAPE PUBLIC LICENSE[ ]Version 1\.0[ ][*)]Definitions[.]',
11192             };
11193              
11194             $RE{npl_1_1} = {
11195             name => 'NPL-1.1',
11196             'name.alt.org.spdx.since.date_20130117' => 'NPL-1.1',
11197             caption => 'Netscape Public License v1.1',
11198             'caption.alt.org.tldr' => 'Netscape Public License v1.1 (NPL-1.1)',
11199             'name.alt.misc.fossology_old' => 'NPL_v1.1',
11200             'name.alt.misc.fossology_old_long' => 'Netscape1.1',
11201             iri =>
11202             'https://website-archive.mozilla.org/www.mozilla.org/mpl/MPL/NPL/1.1/',
11203             tags => [
11204             'type:singleversion:npl',
11205             ],
11206             licenseversion => '1.1',
11207              
11208             'pat.alt.subject.license' =>
11209             'The Netscape Public License Version 1\.1 [(]["]NPL["][)] consists of',
11210             };
11211              
11212             =item * nposl
11213              
11214             I
11215              
11216             =item * nposl_3
11217              
11218             I
11219              
11220             =cut
11221              
11222             $RE{nposl} = {
11223             name => 'NPOSL',
11224             'name.alt.org.wikidata.synth.nogrant' => 'Q38495282',
11225             caption => 'Non-Profit Open Software License',
11226             tags => [
11227             'type:versioned:decimal',
11228             ],
11229             };
11230              
11231             $RE{nposl_3} = {
11232             name => 'NPOSL-3.0',
11233             'name.alt.org.osi' => 'NPOSL-3.0',
11234             'name.alt.org.osi.iri.stem.until.date_20110430' => 'NOSL3.0',
11235             'name.alt.org.spdx' => 'NPOSL-3.0',
11236             caption => 'Non-Profit Open Software License 3.0',
11237             'caption.alt.org.osi' =>
11238             'The Non-Profit Open Software License version 3.0',
11239             'caption.alt.org.osi.misc.list' => 'Non-Profit Open Software License 3.0',
11240             'caption.alt.org.tldr' =>
11241             'Non-Profit Open Software License 3.0 (NPOSL-3.0)',
11242             description => <<'END',
11243             Identical to Open Software License 3.0, except...
11244             * drop provenance warranty
11245             * add Non-Profit Amendment
11246             * rename license name
11247             END
11248             tags => [
11249             'license:contains:grant',
11250             'type:singleversion:nposl',
11251             ],
11252             licenseversion => '3.0',
11253              
11254             'pat.alt.subject.license.scope.multisection.part.part1' =>
11255             'Licensed under the Non-Profit Open Software License version 3\.0[ ]'
11256             . '[*)]Grant of Copyright License[.]',
11257             'pat.alt.subject.license.scope.paragraph' =>
11258             'Warranty of Provenance and Disclaimer of Warranty'
11259             . '[. ]The Original Work is provided',
11260             };
11261              
11262             =item * ntp
11263              
11264             =cut
11265              
11266             $RE{ntp} = {
11267             name => 'NTP',
11268             'name.alt.org.osi' => 'NTP',
11269             'name.alt.org.osi.iri.stem.until.date_20110430' => 'ntp-license',
11270             'name.alt.org.spdx' => 'NTP',
11271             'name.alt.org.wikidata.synth.nogrant' => 'Q38495487',
11272             caption => 'NTP License',
11273             'caption.alt.org.tldr' => 'NTP License (NTP)',
11274             'summary.alt.org.fedora.iri.mit' => 'MIT-style license, NTP variant',
11275             tags => [
11276             'family:mit',
11277             'license:is:grant',
11278             'type:unversioned',
11279             ],
11280              
11281             'pat.alt.subject.license' => $P{asis_expr_warranty},
11282             };
11283              
11284             =item * ntp_disclaimer
11285              
11286             =cut
11287              
11288             $RE{ntp_disclaimer} = {
11289             'name.alt.org.debian' => 'NTP~disclaimer',
11290             caption => 'NTP License (legal disclaimer)',
11291             tags => [
11292             'family:mit',
11293             'license:is:grant',
11294             'type:unversioned',
11295             ],
11296              
11297             'pat.alt.subject.license.scope.paragraph' => $P{asis_expr_warranty}
11298             . '[. ]'
11299             . $P{discl_name_warranties},
11300             };
11301              
11302             =item * oclc
11303              
11304             =item * oclc_1
11305              
11306             =item * oclc_2
11307              
11308             =cut
11309              
11310             $RE{oclc} = {
11311             name => 'OCLC',
11312             'name.alt.org.wikidata.synth.nogrant' => 'Q38496210',
11313             caption => 'OCLC Research Public License',
11314             tags => [
11315             'type:versioned:decimal',
11316             ],
11317             };
11318              
11319             $RE{oclc_1} = {
11320             name => 'OCLC-1.0',
11321             'name.alt.misc.fossology_old' => 'OCLC_v1.0',
11322             caption => 'OCLC Research Public License 1.0',
11323             tags => [
11324             'type:singleversion:oclc',
11325             ],
11326             licenseversion => '1.0',
11327              
11328             'pat.alt.subject.license' =>
11329             'If you distribute the Program or any derivative work of',
11330             };
11331              
11332             $RE{oclc_2} = {
11333             name => 'OCLC-2.0',
11334             'name.alt.org.osi' => 'OCLC-2.0',
11335             'name.alt.org.osi.iri.stem.until.date_20110430' => 'oclc2',
11336             'name.alt.org.spdx' => 'OCLC-2.0',
11337             'name.alt.misc.fossology_old' => 'OCLC_v2.0',
11338             caption => 'OCLC Research Public License 2.0',
11339             'caption.alt.org.fedora' => 'OCLC Public Research License 2.0',
11340             'caption.alt.org.osi' => 'The OCLC Research Public License 2.0 License',
11341             'caption.alt.org.osi.misc.list' => 'OCLC Research Public License 2.0',
11342             'caption.alt.org.tldr' => 'OCLC Research Public License 2.0 (OCLC-2.0)',
11343             tags => [
11344             'type:singleversion:oclc',
11345             ],
11346             licenseversion => '2.0',
11347              
11348             'pat.alt.subject.license' =>
11349             'The Program must be distributed without charge beyond',
11350             };
11351              
11352             =item * odbl
11353              
11354             I
11355              
11356             =item * odbl_1
11357              
11358             I
11359              
11360             =cut
11361              
11362             $RE{odbl} = {
11363             name => 'ODbL',
11364             'name.alt.org.wikidata.synth.nogrant' => 'Q1224853',
11365             caption => 'ODC Open Database License',
11366             'caption.alt.org.wikidata' => 'Open Database License',
11367             tags => [
11368             'type:versioned:decimal',
11369             ],
11370             };
11371              
11372             $RE{odbl_1} = {
11373             name => 'ODbL-1.0',
11374             'name.alt.org.spdx' => 'ODbL-1.0',
11375             caption => 'ODC Open Database License v1.0',
11376             'caption.alt.org.tldr.synth.nogrant' =>
11377             'ODC Open Database License (ODbL)',
11378             tags => [
11379             'type:singleversion:odbl',
11380             ],
11381             licenseversion => '1.0',
11382              
11383             'pat.alt.subject.license.scope.line.scope.sentence.part.intro' =>
11384             'The Open Database License [(]ODbL[)] is a license agreement',
11385             };
11386              
11387             =item * odc_by
11388              
11389             I
11390              
11391             =item * odc_by_1
11392              
11393             I
11394              
11395             =cut
11396              
11397             $RE{odc_by} = {
11398             name => 'ODC-By',
11399             caption => 'Open Data Commons Attribution License',
11400             tags => [
11401             'type:versioned:decimal',
11402             ],
11403             };
11404              
11405             $RE{odc_by_1} = {
11406             name => 'ODC-By-1.0',
11407             'name.alt.org.spdx.since.date_20180710' => 'ODC-By-1.0',
11408             caption => 'Open Data Commons Attribution License v1.0',
11409             tags => [
11410             'type:singleversion:odc_by',
11411             ],
11412             licenseversion => '1.0',
11413              
11414             'pat.alt.subject.license.scope.line.scope.sentence.part.intro' =>
11415             'The Open Data Commons Attribution License is a license agreement',
11416             };
11417              
11418             =item * ofl
11419              
11420             =item * ofl_1
11421              
11422             I
11423              
11424             =item * ofl_1_no_rfn
11425              
11426             I
11427              
11428             =item * ofl_1_rfn
11429              
11430             I
11431              
11432             =item * ofl_1_1
11433              
11434             I
11435              
11436             =item * ofl_1_1_no_rfn
11437              
11438             I
11439              
11440             =item * ofl_1_1_rfn
11441              
11442             I
11443              
11444             =cut
11445              
11446             $RE{ofl} = {
11447             name => 'OFL',
11448             'name.alt.org.osi.iri.stem.until.date_20110430' => 'openfont',
11449             'name.alt.org.wikidata.synth.nogrant' => 'Q1150837',
11450             caption => 'SIL Open Font License',
11451             'caption.alt.misc.shorter' => 'Open Font License',
11452             iri => 'http://scripts.sil.org/OFL',
11453             tags => [
11454             'type:versioned:decimal',
11455             ],
11456             };
11457              
11458             $RE{ofl_1} = {
11459             name => 'OFL-1.0',
11460             'name.alt.org.spdx' => 'OFL-1.0',
11461             caption => 'SIL Open Font License 1.0',
11462             tags => [
11463             'type:singleversion:ofl',
11464             ],
11465             licenseversion => '1.0',
11466              
11467             'pat.alt.subject.license' =>
11468             '["]Font Software["] refers to any and all of the following',
11469             };
11470              
11471             $RE{ofl_1_no_rfn} = {
11472             name => 'OFL-1.0-no-RFN',
11473             'name.alt.org.spdx.since.date_20200209' => 'OFL-1.0-no-RFN',
11474             caption => 'SIL Open Font License 1.0 with no Reserved Font Name',
11475             description => <<'END',
11476             Usage: Should only be used when there is no Reserved Font Name.
11477             END
11478             tags => [
11479             'type:usage:ofl_1:no_rfn',
11480             ],
11481             };
11482              
11483             $RE{ofl_1_rfn} = {
11484             name => 'OFL-1.0-RFN',
11485             'name.alt.org.spdx.since.date_20200209' => 'OFL-1.0-RFN',
11486             caption => 'SIL Open Font License 1.0 with Reserved Font Name',
11487             description => <<'END',
11488             Usage: Should only be used when a Reserved Font Name applies.
11489             END
11490             tags => [
11491             'type:usage:ofl_1:rfn',
11492             ],
11493             };
11494              
11495             $RE{ofl_1_1} = {
11496             name => 'OFL-1.1',
11497             'name.alt.org.fedora.synth.nogrant' => 'OFL',
11498             'name.alt.org.osi' => 'OFL-1.1',
11499             'name.alt.org.spdx' => 'OFL-1.1',
11500             'name.alt.org.tldr.synth.nogrant' => 'open-font-license-(ofl)-explained',
11501             caption => 'SIL Open Font License 1.1',
11502             'caption.alt.org.osi.synth.nogrant' => 'SIL OPEN FONT LICENSE',
11503             'caption.alt.org.osi.misc.list' => 'SIL Open Font License 1.1',
11504             'caption.alt.org.tldr' => 'SIL Open Font License v1.1 (OFL-1.1)',
11505             'caption.alt.org.trove' => 'SIL Open Font License 1.1 (OFL-1.1)',
11506             tags => [
11507             'type:singleversion:ofl',
11508             ],
11509             licenseversion => '1.1',
11510              
11511             'pat.alt.subject.license' =>
11512             '["]Font Software["] refers to the set of files released',
11513             };
11514              
11515             $RE{ofl_1_1_no_rfn} = {
11516             name => 'OFL-1.1-no-RFN',
11517             'name.alt.org.spdx.since.date_20200209' => 'OFL-1.1-no-RFN',
11518             caption => 'SIL Open Font License 1.1 with no Reserved Font Name',
11519             description => <<'END',
11520             Usage: Should only be used when there is no Reserved Font Name.
11521             END
11522             tags => [
11523             'type:usage:ofl_1_1:no_rfn',
11524             ],
11525             };
11526              
11527             $RE{ofl_1_1_rfn} = {
11528             name => 'OFL-1.1-RFN',
11529             'name.alt.org.spdx.since.date_20200209' => 'OFL-1.1-RFN',
11530             caption => 'SIL Open Font License 1.1 with Reserved Font Name',
11531             description => <<'END',
11532             Usage: Should only be used when a Reserved Font Name applies.
11533             END
11534             tags => [
11535             'type:usage:ofl_1_1:rfn',
11536             ],
11537             };
11538              
11539             =item * ogc
11540              
11541             I
11542              
11543             =item * ogc_1
11544              
11545             I
11546              
11547             =cut
11548              
11549             $RE{ogc} = {
11550             name => 'OGC',
11551             caption => 'OGC Software License',
11552             tags => [
11553             'type:versioned:decimal',
11554             ],
11555             };
11556              
11557             $RE{ogc_1} = {
11558             name => 'OGC-1.0',
11559             'name.alt.org.spdx.since.date_20200515' => 'OGC-1.0',
11560             caption => 'OGC Software License, Version 1.0',
11561             iri => 'https://www.ogc.org/ogc/software/1.0',
11562             tags => [
11563             'license:is:grant',
11564             'type:singleversion:ogc',
11565             ],
11566             licenseversion => '19980720',
11567              
11568             'pat.alt.subject.license.scope.line.scope.sentence.part.intro' =>
11569             'This OGC work [(]including software, documents, or other',
11570             'pat.alt.subject.license.scope.line.scope.sentence.part.clause3' =>
11571             'Notice of any changes or modifications to the OGC files',
11572             };
11573              
11574             =item * ogtsl
11575              
11576             =cut
11577              
11578             $RE{ogtsl} = {
11579             name => 'OGTSL',
11580             'name.alt.org.osi' => 'OGTSL',
11581             'name.alt.org.osi.iri.stem.until.date_20110430.synth.nogrant' =>
11582             'opengroup',
11583             'name.alt.org.spdx' => 'OGTSL',
11584             'name.alt.org.wikidata.synth.nogrant' => 'Q38686558',
11585             caption => 'Open Group Test Suite License',
11586             'caption.alt.org.fedora' => 'Open Group Test Suite License',
11587             'caption.alt.org.osi' => 'The Open Group Test Suite License',
11588             'caption.alt.org.osi.misc.list' => 'Open Group Test Suite License',
11589             'caption.alt.org.tldr' => 'Open Group Test Suite License (OGTSL)',
11590             'caption.alt.org.trove' => 'Open Group Test Suite License',
11591             tags => [
11592             'type:unversioned',
11593             ],
11594              
11595             'pat.alt.subject.license.scope.line.scope.sentence' =>
11596             'rename any non-standard executables and testcases',
11597             };
11598              
11599             =item * oldap
11600              
11601             I
11602              
11603             =item * oldap_1_1
11604              
11605             I
11606              
11607             =item * oldap_1_2
11608              
11609             I
11610              
11611             =item * oldap_1_3
11612              
11613             I
11614              
11615             =item * oldap_1_4
11616              
11617             I
11618              
11619             =item * oldap_2
11620              
11621             I
11622              
11623             =item * oldap_2_0_1
11624              
11625             I
11626              
11627             =item * oldap_2_1
11628              
11629             I
11630              
11631             =item * oldap_2_2
11632              
11633             I
11634              
11635             =item * oldap_2_2_1
11636              
11637             I
11638              
11639             =item * oldap_2_2_2
11640              
11641             I
11642              
11643             =item * oldap_2_3
11644              
11645             I
11646              
11647             =item * oldap_2_4
11648              
11649             I
11650              
11651             =item * oldap_2_5
11652              
11653             I
11654              
11655             =item * oldap_2_6
11656              
11657             I
11658              
11659             =item * oldap_2_7
11660              
11661             I
11662              
11663             =item * oldap_2_8
11664              
11665             I
11666              
11667             =cut
11668              
11669             $RE{oldap} = {
11670             name => 'OLDAP',
11671             'name.alt.org.fedora' => 'OpenLDAP',
11672             caption => 'Open LDAP Public License',
11673             'caption.alt.org.fedora' => 'OpenLDAP License',
11674             tags => [
11675             'type:versioned:decimal',
11676             ],
11677             '_pat.alt.subject.license.scope.line.scope.sentence' => [
11678             'C subroutines supplied by you',
11679             'Due credit should be given',
11680             'may revise this license from time to time',
11681             ]
11682             };
11683              
11684             $RE{oldap_1_1} = {
11685             name => 'OLDAP-1.1',
11686             'name.alt.org.spdx.since.date_20130117' => 'OLDAP-1.1',
11687             caption => 'Open LDAP Public License v1.1',
11688             tags => [
11689             'type:singleversion:oldap',
11690             ],
11691             licenseversion => '1.1',
11692              
11693             'pat.alt.subject.license.scope.multisection.part.header' =>
11694             'The OpenLDAP Public License[ ]Version 1\.1, 25 August 1998',
11695             };
11696              
11697             $RE{oldap_1_2} = {
11698             name => 'OLDAP-1.2',
11699             'name.alt.org.spdx.since.date_20130117' => 'OLDAP-1.2',
11700             'name.alt.misc.fossology_old' => 'OpenLDAP_v1.2',
11701             caption => 'Open LDAP Public License v1.2',
11702             tags => [
11703             'type:singleversion:oldap',
11704             ],
11705             licenseversion => '1.2',
11706              
11707             'pat.alt.subject.license.scope.multisection.part.header' =>
11708             'The OpenLDAP Public License[ ]Version 1\.2, 1 September 1998',
11709             };
11710              
11711             $RE{oldap_1_3} = {
11712             name => 'OLDAP-1.3',
11713             'name.alt.org.spdx.since.date_20130117' => 'OLDAP-1.3',
11714             caption => 'Open LDAP Public License v1.3',
11715             tags => [
11716             'type:singleversion:oldap',
11717             ],
11718             licenseversion => '1.3',
11719              
11720             'pat.alt.subject.license.scope.multisection.part.header' =>
11721             'The OpenLDAP Public License[ ]Version 1\.3, 17 January 1999',
11722             'pat.alt.subject.license.part.part8' =>
11723             ' and do not automatically fall under the copyright of this Package'
11724             . ', and the executables produced by linking',
11725             };
11726              
11727             $RE{oldap_1_4} = {
11728             name => 'OLDAP-1.4',
11729             'name.alt.org.spdx.since.date_20130117' => 'OLDAP-1.4',
11730             caption => 'Open LDAP Public License v1.4',
11731             tags => [
11732             'type:singleversion:oldap',
11733             ],
11734             licenseversion => '1.4',
11735              
11736             'pat.alt.subject.license.scope.multisection.part.header' =>
11737             'The OpenLDAP Public License[ ]Version 1\.4, 18 January 1999',
11738             'pat.alt.subject.license.part.part8' =>
11739             ' and do not automatically fall under the copyright of this Package'
11740             . '[. ]Executables produced by linking',
11741             };
11742              
11743             $RE{oldap_2} = {
11744             name => 'OLDAP-2.0',
11745             'name.alt.org.spdx.since.date_20130117' => 'OLDAP-2.0',
11746             caption => 'Open LDAP Public License v2',
11747             'caption.alt.org.spdx' =>
11748             'Open LDAP Public License v2.0 (or possibly 2.0A and 2.0B)',
11749             'caption.alt.misc.spdx' => 'Open LDAP Public License v2.0',
11750             'caption.alt.misc.spdx_a' => 'Open LDAP Public License v2.0A',
11751             'caption.alt.misc.spdx_b' => 'Open LDAP Public License v2.0B',
11752             tags => [
11753             'type:singleversion:oldap',
11754             ],
11755             licenseversion => '2.0',
11756              
11757             'pat.alt.subject.license.scope.multisection.part.header' =>
11758             'The OpenLDAP Public License[ ]Version 2\.0, 7 June 1999',
11759             'pat.alt.subject.license.part.clauses_minimal' =>
11760             'without prior written permission of the OpenLDAP Foundation'
11761             . '[. ]OpenLDAP is a registered trademark of the OpenLDAP Foundation',
11762             };
11763              
11764             $RE{oldap_2_0_1} = {
11765             name => 'OLDAP-2.0.1',
11766             'name.alt.org.spdx.since.date_20130117' => 'OLDAP-2.0.1',
11767             caption => 'Open LDAP Public License v2.0.1',
11768             tags => [
11769             'type:singleversion:oldap',
11770             ],
11771             licenseversion => '2.0.1',
11772              
11773             'pat.alt.subject.license.scope.multisection.part.header' =>
11774             'The OpenLDAP Public License[ ]Version 2\.0\.1, 21 December 1999',
11775             };
11776              
11777             $RE{oldap_2_1} = {
11778             name => 'OLDAP-2.1',
11779             'name.alt.org.spdx.since.date_20130117' => 'OLDAP-2.1',
11780             caption => 'Open LDAP Public License v2.1',
11781             tags => [
11782             'type:singleversion:oldap',
11783             ],
11784             licenseversion => '2.1',
11785              
11786             'pat.alt.subject.license.scope.multisection.part.header' =>
11787             'The OpenLDAP Public License[ ]Version 2\.1, 29 February 2000',
11788             };
11789              
11790             $RE{oldap_2_2} = {
11791             name => 'OLDAP-2.2',
11792             'name.alt.org.spdx.since.date_20130117' => 'OLDAP-2.2',
11793             caption => 'Open LDAP Public License v2.2',
11794             tags => [
11795             'type:singleversion:oldap',
11796             ],
11797             licenseversion => '2.2',
11798              
11799             'pat.alt.subject.license.scope.multisection.part.header' =>
11800             'The OpenLDAP Public License[ ]Version 2\.2, 1 March 2000',
11801             };
11802              
11803             $RE{oldap_2_2_1} = {
11804             name => 'OLDAP-2.2.1',
11805             'name.alt.org.spdx.since.date_20130117' => 'OLDAP-2.2.1',
11806             caption => 'Open LDAP Public License v2.2.1',
11807             tags => [
11808             'type:singleversion:oldap',
11809             ],
11810             licenseversion => '2.2.1',
11811              
11812             'pat.alt.subject.license.scope.multisection.part.header' =>
11813             'The OpenLDAP Public License[ ]Version 2\.2\.1, 1 March 2000',
11814             };
11815              
11816             $RE{oldap_2_2_2} = {
11817             name => 'OLDAP-2.2.2',
11818             'name.alt.org.spdx.since.date_20130117' => 'OLDAP-2.2.2',
11819             caption => 'Open LDAP Public License 2.2.2',
11820             tags => [
11821             'type:singleversion:oldap',
11822             ],
11823             licenseversion => '2.2.2',
11824              
11825             'pat.alt.subject.license.scope.multisection.part.header' =>
11826             'The OpenLDAP Public License[ ]Version 2\.2\.2, 28 July 2000',
11827             };
11828              
11829             $RE{oldap_2_3} = {
11830             name => 'OLDAP-2.3',
11831             'name.alt.org.spdx.since.date_20130117' => 'OLDAP-2.3',
11832             caption => 'Open LDAP Public License v2.3',
11833             tags => [
11834             'type:singleversion:oldap',
11835             ],
11836             licenseversion => '2.3',
11837              
11838             'pat.alt.subject.license.scope.multisection.part.header' =>
11839             'The OpenLDAP Public License[ ]Version 2\.3, 28 July 2000',
11840             };
11841              
11842             $RE{oldap_2_4} = {
11843             name => 'OLDAP-2.4',
11844             'name.alt.org.spdx.since.date_20130117' => 'OLDAP-2.4',
11845             caption => 'Open LDAP Public License v2.4',
11846             tags => [
11847             'type:singleversion:oldap',
11848             ],
11849             licenseversion => '2.4',
11850              
11851             'pat.alt.subject.license.scope.multisection.part.header' =>
11852             'The OpenLDAP Public License[ ]Version 2\.4, 8 December 2000',
11853             'pat.alt.subject.license.part.clauses_minimal' =>
11854             'Due credit should be given to the OpenLDAP Project[.]',
11855             };
11856              
11857             $RE{oldap_2_5} = {
11858             name => 'OLDAP-2.5',
11859             'name.alt.org.spdx.since.date_20130117' => 'OLDAP-2.5',
11860             caption => 'Open LDAP Public License v2.5',
11861             tags => [
11862             'type:singleversion:oldap',
11863             ],
11864             licenseversion => '2.5',
11865              
11866             'pat.alt.subject.license.scope.multisection.part.header' =>
11867             'The OpenLDAP Public License[ ]Version 2\.5, 11 May 2001',
11868             'pat.alt.subject.license.scope.multisection.part.clauses_minimal' =>
11869             'Due credit should be given to the authors of the Software'
11870             . '[.][ ][*)]'
11871             . 'The OpenLDAP Foundation may revise',
11872             };
11873              
11874             $RE{oldap_2_6} = {
11875             name => 'OLDAP-2.6',
11876             'name.alt.org.spdx.since.date_20130117' => 'OLDAP-2.6',
11877             caption => 'Open LDAP Public License v2.6',
11878             tags => [
11879             'type:singleversion:oldap',
11880             ],
11881             licenseversion => '2.6',
11882              
11883             'pat.alt.subject.license.scope.multisection.part.header' =>
11884             'The OpenLDAP Public License[ ]Version 2\.6, 14 June 2001',
11885             'pat.alt.subject.license.scope.multisection.part.clauses_minimal' =>
11886             ' without specific, written prior permission'
11887             . '[.][ ][*)]'
11888             . 'The OpenLDAP Foundation may revise',
11889             };
11890              
11891             $RE{oldap_2_7} = {
11892             name => 'OLDAP-2.7',
11893             'name.alt.org.spdx.since.date_20130117' => 'OLDAP-2.7',
11894             'name.alt.misc.fossology_old' => 'OpenLDAP_v2.7',
11895             caption => 'Open LDAP Public License v2.7',
11896             tags => [
11897             'type:singleversion:oldap',
11898             ],
11899             licenseversion => '2.7',
11900              
11901             'pat.alt.subject.license.scope.multisection.part.header' =>
11902             'The OpenLDAP Public License[ ]Version 2\.7, 7 September 2001',
11903             };
11904              
11905             $RE{oldap_2_8} = {
11906             name => 'OLDAP-2.8',
11907             'name.alt.org.osi' => 'OLDAP-2.8',
11908             'name.alt.org.spdx' => 'OLDAP-2.8',
11909             'name.alt.org.wikidata.synth.nogrant' => 'Q25273268',
11910             'name.alt.misc.fossology_old' => 'OpenLDAP_v2.8',
11911             'name.alt.misc.fossology_old_short' => 'OpenLDAP2.8',
11912             caption => 'Open LDAP Public License v2.8',
11913             'caption.alt.org.osi' => 'OpenLDAP Public License Version 2.8',
11914             'caption.alt.org.spdx.until.date_20150513' =>
11915             'OpenLDAP Public License v2.8',
11916             'caption.alt.org.spdx.since.date_20150513' =>
11917             'Open LDAP Public License v2.8',
11918             'caption.alt.org.tldr' => 'OpenLDAP Public License v2.8 (OLDAP-2.8)',
11919             'caption.alt.org.wikidata' => 'OpenLDAP Public License Version 2.8',
11920             tags => [
11921             'type:singleversion:oldap',
11922             ],
11923             licenseversion => '2.8',
11924              
11925             'pat.alt.subject.license.scope.multisection.part.header' =>
11926             'The OpenLDAP Public License[ ]Version 2\.8, 17 August 2003',
11927             };
11928              
11929             =item * openssl
11930              
11931             =cut
11932              
11933             $RE{openssl} = {
11934             name => 'OpenSSL',
11935             'name.alt.org.fedora' => 'OpenSSL',
11936             'name.alt.org.perl' => 'openssl',
11937             'name.alt.org.spdx' => 'OpenSSL',
11938             'name.alt.org.wikidata.synth.nogrant' => 'Q89948816',
11939             caption => 'OpenSSL License',
11940             'caption.alt.org.tldr' => 'OpenSSL License (OpenSSL)',
11941             description => <<'END',
11942             Specific instance of Apache License 1.0
11943             tied to "OpenSSL",
11944             followed by SSLeay License.
11945             END
11946             tags => [
11947             'family:bsd',
11948             'license:contains:license:apache_1',
11949             'license:contains:license:cryptix',
11950             'license:is:grant',
11951             'type:unversioned',
11952             ],
11953              
11954             'pat.alt.subject.license.scope.multisection.part.apache_1_overlap' =>
11955             $P{repro_copr_cond_discl}
11956             . '[.][ ]' . '[*)]?'
11957             . $P{ad_mat_ack_this}
11958             . 'the OpenSSL Project for use in the OpenSSL Toolkit[. ][(][http://]www\.openssl\.org[/][)]["]'
11959             . '[ ]'
11960             . '[*)]?'
11961             . $P{nopromo_neither}
11962             . '[. ]For written permission, please contact openssl[-]core[@]openssl\.org'
11963             . '[.][ ]' . '[*)]?'
11964             . 'Products derived from this software may not be called ["]OpenSSL["]',
11965             'pat.alt.subject.license.scope.paragraph.part.apache_1_overlap' =>
11966             $P{redist_ack_this}
11967             . 'the OpenSSL Project for use in the OpenSSL Toolkit',
11968             'pat.alt.subject.license.scope.multisection.part.second_half' =>
11969             $P{redist_ack_this}
11970             . 'the OpenSSL Project for use in the OpenSSL Toolkit[. ][(][http://]www\.openssl\.org[/][)]["]'
11971             . '[ ]'
11972             . $P{discl_warranties} . '[. ]'
11973             . $P{discl_liability}
11974             . '[.][ ]'
11975             . 'This product includes cryptographic software written by Eric Young [(]eay[@]cryptsoft\.com[)]'
11976             . '[. ]'
11977             . 'This product includes software written by Tim Hudson [(]tjh[@]cryptsoft\.com[)]'
11978             . '[.][ ]',
11979             };
11980              
11981             =item * opl
11982              
11983             I
11984              
11985             =item * opl_1
11986              
11987             I
11988              
11989             =cut
11990              
11991             $RE{opl} = {
11992             name => 'OPL',
11993             'name.alt.misc.shortname' => 'OpenPL',
11994             'name.alt.misc.fossology_old' => 'OpenPublication',
11995             'name.alt.misc.fossology_old_dash' => 'Open-Publication',
11996             caption => 'Open Public License',
11997             tags => [
11998             'type:versioned:decimal',
11999             ],
12000             };
12001              
12002             $RE{opl_1} = {
12003             name => 'OPL-1.0',
12004             'name.alt.org.spdx.since.date_20130117' => 'OPL-1.0',
12005             'name.alt.misc.fossology_old' => 'Open-Publication_v1.0',
12006             'name.alt.misc.fossology_old_short' => 'OpenPL_v1.0',
12007             caption => 'Open Public License v1.0',
12008             'caption.alt.org.fedora.iri.self.synth.nogrant' => 'Open Public License',
12009             'caption.alt.org.tldr' => 'Open Public License v1.0 (OPL-1.0)',
12010             'caption.alt.misc.shortname' => 'OpenPL 1.0',
12011             description => <<'END',
12012             Origin: Possibly Mozilla Public License Version 1.0
12013             END
12014             tags => [
12015             'type:singleversion:opl',
12016             ],
12017             licenseversion => '1.0',
12018              
12019             'pat.alt.subject.license.scope.line.scope.sentence.part.definitions' =>
12020             '["]License Author["] means Lutris Technologies, Inc',
12021             };
12022              
12023             =item * oset_pl
12024              
12025             I
12026              
12027             =item * oset_pl_2_1
12028              
12029             I
12030              
12031             =cut
12032              
12033             $RE{oset_pl} = {
12034             name => 'OPL',
12035             'name.alt.org.wikidata.synth.nogrant' => 'Q38496558',
12036             caption => 'OSET Public License',
12037             'caption.alt.org.wikidata' => 'OSET Foundation Public License',
12038             iri => 'https://www.osetfoundation.org/public-license',
12039             tags => [
12040             'type:versioned:decimal',
12041             ],
12042             };
12043              
12044             $RE{oset_pl_2_1} = {
12045             name => 'OSET-PL-2.1',
12046             'name.alt.org.osi.synth.nogrant' => 'OPL-2.1',
12047             'name.alt.org.osi.misc.shortname' => 'OSET-PL-2.1',
12048             'name.alt.org.spdx.since.date_20160323' => 'OSET-PL-2.1',
12049             caption => 'OSET Public License version 2.1',
12050             'iri.alt.format.pdf' => 'https://www.osetfoundation.org/s/OPL_v21.pdf',
12051             'iri.alt.format.txt' =>
12052             'https://www.osetfoundation.org/s/OPL_v21-plain.txt',
12053             description => <<'END',
12054             Origin: Mozilla Public License Version 2.0
12055             END
12056             tags => [
12057             'type:singleversion:oset_pl',
12058             ],
12059             licenseversion => '2.1',
12060              
12061             'pat.alt.subject.license.scope.line.scope.sentence.part.head' =>
12062             'This license was prepared based on the Mozilla Public License',
12063             'pat.alt.subject.license.scope.line.scope.sentence.part.section_3_5_2' =>
12064             'You may place additional conditions upon the rights granted',
12065             };
12066              
12067             =item * osl
12068              
12069             =item * osl_1
12070              
12071             =item * osl_1_1
12072              
12073             =item * osl_2
12074              
12075             =item * osl_2_1
12076              
12077             =item * osl_3
12078              
12079             =cut
12080              
12081             $RE{osl} = {
12082             name => 'OSL',
12083             'name.alt.org.wikidata.synth.nogrant' => 'Q777520',
12084             'name.alt.misc.fossology_old' => 'OpenSoftware',
12085             caption => 'Open Software License',
12086             tags => [
12087             'type:versioned:decimal',
12088             ],
12089             };
12090              
12091             $RE{osl_1} = {
12092             name => 'OSL-1.0',
12093             'name.alt.org.osi' => 'OSL-1.0',
12094             'name.alt.org.spdx' => 'OSL-1.0',
12095             'name.alt.org.tldr.synth.nogrant' =>
12096             'open-software-license-1.0-(opl-1.0)',
12097             'name.alt.misc.fossology_old' => 'OpenSoftware1.0',
12098             'name.alt.misc.fossology_old_short' => 'OSL_v1.0',
12099             caption => 'Open Software License 1.0',
12100             'caption.alt.org.fedora' => 'Open Software License 1.0',
12101             'caption.alt.org.fedora.misc.short' => 'OSL 1.0',
12102             'caption.alt.org.osi' => 'Open Software License, version 1.0',
12103             'caption.alt.org.osi.misc.list' => 'Open Software License 1.0',
12104             'caption.alt.org.tldr' => 'Open Software License 1.0 (OSL-1.0)',
12105             tags => [
12106             'license:contains:grant',
12107             'type:singleversion:osl',
12108             ],
12109             licenseversion => '1.0',
12110              
12111             'pat.alt.subject.license.scope.multisection' =>
12112             '["]Licensed under the Open Software License version 1\.0["][ ]'
12113             . 'License Terms',
12114             'pat.alt.subject.license.scope.multisection.part.part1_with_grant' =>
12115             '["]Licensed under the Open Software License version 1\.0["][ ]'
12116             . '[*)]Grant of Copyright License[.] '
12117             . 'Licensor hereby grants You a world-wide, royalty-free, '
12118             . 'non-exclusive, perpetual, non-sublicenseable license to do the following[:][ ]'
12119             . '[*)]to reproduce the Original Work in copies;[ ]'
12120             . '[*)]to prepare derivative works [(]["]Derivative Works["][)] based upon the Original Work;[ ]'
12121             . '[*)]to distribute copies of the Original Work and Derivative Works to the public, '
12122             . 'with the proviso that copies of Original Work or Derivative Works '
12123             . 'that You distribute shall be licensed under the Open Software License;'
12124             };
12125              
12126             $RE{osl_1_1} = {
12127             name => 'OSL-1.1',
12128             'name.alt.org.fedora' => 'OSL1.1',
12129             'name.alt.org.spdx.since.date_20140807' => 'OSL-1.1',
12130             'name.alt.misc.fossology_old' => 'OpenSoftware1.1',
12131             'name.alt.misc.fossology_old_short' => 'OSL_v1.1',
12132             caption => 'Open Software License 1.1',
12133             'caption.alt.org.fedora' => 'Open Software License 1.1',
12134             'caption.alt.org.fedora.misc.short' => 'OSL 1.1',
12135             'caption.alt.org.tldr' => 'Open Software License 1.1 (OSL-1.1)',
12136             tags => [
12137             'license:contains:grant',
12138             'type:singleversion:osl',
12139             ],
12140             licenseversion => '1.1',
12141              
12142             'pat.alt.subject.license.scope.multisection' =>
12143             'Licensed under the Open Software License version 1\.1[ ]'
12144             . '[*)]Grant of Copyright License[.]',
12145             'pat.alt.subject.license.scope.multisection.part.part1_with_grant' =>
12146             'Licensed under the Open Software License version 1\.1[ ]'
12147             . '[*)]Grant of Copyright License[.] '
12148             . 'Licensor hereby grants You a world-wide, royalty-free, '
12149             . 'non-exclusive, perpetual, non-sublicenseable license to do the following[:][ ]'
12150             . '[*)]to reproduce the Original Work in copies;[ ]'
12151             . '[*)]to prepare derivative works [(]["]Derivative Works["][)] based upon the Original Work;[ ]'
12152             . '[*)]to distribute copies of the Original Work and Derivative Works to the public, '
12153             . 'with the proviso that copies of Original Work or Derivative Works '
12154             . 'that You distribute shall be licensed under the Open Software License;'
12155             };
12156              
12157             $RE{osl_2} = {
12158             name => 'OSL-2.0',
12159             'name.alt.org.spdx' => 'OSL-2.0',
12160             'name.alt.misc.fossology_old' => 'OpenSoftware2.0',
12161             'name.alt.misc.fossology_old_short' => 'OSL_v2.0',
12162             caption => 'Open Software License 2.0',
12163             'caption.alt.org.fedora' => 'Open Software License 2.0',
12164             'caption.alt.org.fedora.misc.short' => 'OSL 2.0',
12165             'caption.alt.org.tldr' => 'Open Software License 2.0 (OSL-2.0)',
12166             tags => [
12167             'license:contains:grant',
12168             'type:singleversion:osl',
12169             ],
12170             licenseversion => '2.0',
12171              
12172             'pat.alt.subject.license.scope.multisection.part.part1' =>
12173             'Licensed under the Open Software License version 2\.0[ ]'
12174             . '[*)]Grant of Copyright License[.]',
12175             'pat.alt.subject.license.scope.multisection.part.part1_with_grant' =>
12176             'Licensed under the Open Software License version 2\.0[ ]'
12177             . '[*)]Grant of Copyright License[.] '
12178             . 'Licensor hereby grants You a world-wide, royalty-free, '
12179             . 'non-exclusive, perpetual, sublicenseable license to do the following[:][ ]'
12180             . '[*)]to reproduce the Original Work in copies;[ ]'
12181             . '[*)]to prepare derivative works [(]["]Derivative Works["][)] based upon the Original Work;[ ]'
12182             . '[*)]to distribute copies of the Original Work and Derivative Works to the public, '
12183             . 'with the proviso that copies of Original Work or Derivative Works '
12184             . 'that You distribute shall be licensed under the Open Software License;',
12185             'pat.alt.subject.license.scope.multisection.part.part10' =>
12186             'its terms and conditions[.][ ]'
12187             . 'This License shall terminate immediately '
12188             . 'and you may no longer exercise '
12189             . 'any of the rights granted to You by this License '
12190             . 'upon Your failure to honor the proviso '
12191             . 'in Section 1[(]c[)] herein[.][ ]'
12192             . $termination_for_patent_including_counterclaim
12193             . ' for patent infringement',
12194             };
12195              
12196             $RE{osl_2_1} = {
12197             name => 'OSL-2.1',
12198             'name.alt.org.fedora' => 'OSL2.1',
12199             'name.alt.org.osi' => 'OSL-2.1',
12200             'name.alt.org.spdx' => 'OSL-2.1',
12201             'name.alt.misc.fossology_old' => 'OpenSoftware2.1',
12202             'name.alt.misc.fossology_old_short' => 'OSL_v2.1',
12203             caption => 'Open Software License 2.1',
12204             'caption.alt.org.fedora' => 'Open Software License 2.1',
12205             'caption.alt.org.fedora.misc.short' => 'OSL 2.1',
12206             'caption.alt.org.osi' => 'The Open Software License 2.1',
12207             'caption.alt.org.osi.misc.list' => 'Open Software License 2.1',
12208             'caption.alt.org.tldr' => 'Open Software License 2.1 (OSL-2.1)',
12209             tags => [
12210             'license:contains:grant',
12211             'type:singleversion:osl',
12212             ],
12213             licenseversion => '2.1',
12214              
12215             'pat.alt.subject.license.scope.multisection.part.part1' =>
12216             'Licensed under the Open Software License version 2\.1[ ]'
12217             . '[*)]Grant of Copyright License[.]',
12218             'pat.alt.subject.license.scope.multisection.part.part1_with_grant' =>
12219             'Licensed under the Open Software License version 2\.1[ ]'
12220             . '[*)]Grant of Copyright License[.] '
12221             . 'Licensor hereby grants You a world-wide, royalty-free, '
12222             . 'non-exclusive, perpetual, sublicenseable license to do the following[:][ ]'
12223             . '[*)]to reproduce the Original Work in copies;[ ]'
12224             . '[*)]to prepare derivative works [(]["]Derivative Works["][)] based upon the Original Work;[ ]'
12225             . '[*)]to distribute copies of the Original Work and Derivative Works to the public, '
12226             . 'with the proviso that copies of Original Work or Derivative Works '
12227             . 'that You distribute shall be licensed under the Open Software License;'
12228             };
12229              
12230             $RE{osl_3} = {
12231             name => 'OSL-3.0',
12232             'name.alt.org.osi' => 'OSL-3.0',
12233             'name.alt.org.osi.iri.stem.until.date_20110430' => 'osl-3.0',
12234             'name.alt.org.spdx' => 'OSL-3.0',
12235             'name.alt.misc.fossology_old' => 'OpenSoftware3.0',
12236             'name.alt.misc.fossology_old_short' => 'OSL_v3.0',
12237             caption => 'Open Software License 3.0',
12238             'caption.alt.org.fedora' => 'Open Software License 3.0',
12239             'caption.alt.org.fedora.misc.short' => 'OSL 3.0',
12240             'caption.alt.org.osi' => 'The Open Software License 3.0',
12241             'caption.alt.org.osi.misc.list' => 'Open Software License 3.0',
12242             'caption.alt.org.osi.misc.cat_list.synth.nogrant' =>
12243             'Open Software License',
12244             'caption.alt.org.tldr' => 'Open Software Licence 3.0',
12245             'caption.alt.org.trove' => 'Open Software License 3.0 (OSL-3.0)',
12246             tags => [
12247             'license:contains:grant',
12248             'type:singleversion:osl',
12249             ],
12250             licenseversion => '3.0',
12251              
12252             'pat.alt.subject.license.scope.multisection.part.part1' =>
12253             'Licensed under the Open Software License version 3\.0[ ]'
12254             . '[*)]Grant of Copyright License[.]',
12255             };
12256              
12257             =item * pddl
12258              
12259             I
12260              
12261             =item * pddl_1
12262              
12263             I
12264              
12265             =cut
12266              
12267             $RE{pddl} = {
12268             name => 'PDDL',
12269             caption => 'Open Data Commons Public Domain Dedication & License',
12270             tags => [
12271             'type:versioned:decimal',
12272             ],
12273             };
12274              
12275             $RE{pddl_1} = {
12276             name => 'PDDL-1.0',
12277             'name.alt.org.fedora' => 'PDDL-1.0',
12278             'name.alt.org.fedora.iri.self.synth.nogrant' => 'PDDL',
12279             'name.alt.org.spdx' => 'PDDL-1.0',
12280             'name.alt.org.wikidata.synth.nogrant' => 'Q24273512',
12281             caption => 'Open Data Commons Public Domain Dedication & License 1.0',
12282             'caption.alt.org.fedora.synth.nogrant' =>
12283             'Open Data Commons Public Domain Dedication and Licence',
12284             'caption.alt.org.spdx.until.date_20210307' =>
12285             'ODC Public Domain Dedication & License 1.0',
12286             'caption.alt.org.spdx.since.date_20210307' =>
12287             'Open Data Commons Public Domain Dedication & License 1.0',
12288             'caption.alt.org.tldr' =>
12289             'ODC Public Domain Dedication & License 1.0 (PDDL-1.0)',
12290             'caption.alt.org.wikidata' => 'Public Domain Dedication and License v1.0',
12291             tags => [
12292             'type:singleversion:pddl',
12293             ],
12294             licenseversion => '1.0',
12295              
12296             'pat.alt.subject.license.scope.line.scope.sentence.part.intro' =>
12297             'The Open Data Commons[ - ]Public Domain Dedication & Licence is a document',
12298             };
12299              
12300             =item * peer_production
12301              
12302             I
12303              
12304             =cut
12305              
12306             $RE{peer_production} = {
12307             name => 'Peer-Production',
12308             caption => 'Peer Production License',
12309             'caption.alt.org.tldr' => 'Peer Production License',
12310             iri => 'https://wiki.p2pfoundation.net/Peer_Production_License',
12311             description => <<'END',
12312             Origin: Creative Commons Attribution-NonCommercial-ShareAlike 3.0
12313             END
12314             tags => [
12315             'type:unversioned',
12316             ],
12317              
12318             'pat.alt.subject.license.scope.sentence.part.intro' =>
12319             'THE WORK [(]AS DEFINED BELOW[)] IS PROVIDED '
12320             . 'UNDER THE TERMS OF THIS COPYFARLEFT PUBLIC LICENSE',
12321             };
12322              
12323             =item * php
12324              
12325             I
12326              
12327             =item * php_3
12328              
12329             I
12330              
12331             =item * php_3_01
12332              
12333             I
12334              
12335             =cut
12336              
12337             $RE{php} = {
12338             name => 'PHP',
12339             'name.alt.org.osi.iri.stem.until.date_20110430' => 'php',
12340             'name.alt.org.wikidata.synth.nogrant' => 'Q376841',
12341             caption => 'PHP License',
12342             'caption.alt.org.wikipedia' => 'PHP License',
12343             iri => 'https://secure.php.net/license/',
12344             tags => [
12345             'type:versioned:decimal',
12346             ],
12347             };
12348              
12349             $RE{php_3} = {
12350             name => 'PHP-3.0',
12351             'name.alt.org.fedora.synth.nogrant' => 'PHP',
12352             'name.alt.org.osi' => 'PHP-3.0',
12353             'name.alt.org.spdx' => 'PHP-3.0',
12354             'name.alt.org.tldr.path.short' => 'php',
12355             'name.alt.misc.fossology_old' => 'PHP_v3.0',
12356             caption => 'PHP License v3.0',
12357             'caption.alt.org.osi' => 'The PHP License 3.0',
12358             'caption.alt.org.osi.misc.list' => 'PHP License 3.0',
12359             'caption.alt.org.tldr' => 'PHP License 3.0 (PHP)',
12360             description => <<'END',
12361             Origin: Possibly OpenSSL License
12362             END
12363             tags => [
12364             'family:bsd',
12365             'license:contains:license:bsd_2_clause',
12366             'license:is:grant',
12367             'type:singleversion:php',
12368             ],
12369             licenseversion => '3.0',
12370              
12371             'pat.alt.subject.license.scope.multisection.part.last_clauses' =>
12372             $P{repro_copr_cond_discl}
12373             . '[.][ ]'
12374             . '[*)]The name ["]PHP["] must not be used '
12375             . 'to endorse or promote products derived from this software '
12376             . 'without prior written permission' . '[. ]'
12377             . 'For written permission, please contact group\@php\.net'
12378             . '[.][ ]'
12379             . '[*)]Products derived from this software may not be called ["]PHP["], '
12380             . 'nor may ["]PHP["] appear in their name, '
12381             . 'without prior written permission from group\@php\.net' . '[. ]'
12382             . 'You may indicate that your software works in conjunction with PHP '
12383             . 'by saying ["]Foo for PHP["] instead of calling it ["]PHP Foo["] or ["]phpfoo["]'
12384             . '[ ]'
12385             . '[*)]The PHP Group may publish revised and[/]or new versions of the license from time to time'
12386             . '[. ]'
12387             . 'Each version will be given a distinguishing version number'
12388             . '[. ]'
12389             . 'Once covered code has been published under a particular version of the license, '
12390             . 'you may always continue to use it under the terms of that version'
12391             . '[. ]'
12392             . 'You may also choose to use such covered code '
12393             . 'under the terms of any subsequent version of the license '
12394             . 'published by the PHP Group' . '[. ]'
12395             . 'No one other than the PHP Group has the right to modify the terms '
12396             . 'applicable to covered code created under this License'
12397             . '[.][ ]'
12398             . '[*)]Redistributions of any form whatsoever must retain the following acknowledgment'
12399             . '[:][ ]'
12400             . '["]This product includes PHP, freely available',
12401             'pat.alt.subject.license.scope.line.scope.sentence.part.clause_6' =>
12402             'This product includes PHP, freely available',
12403             };
12404              
12405             $RE{php_3_01} = {
12406             name => 'PHP-3.01',
12407             'name.alt.org.osi' => 'PHP-3.01',
12408             'name.alt.org.spdx' => 'PHP-3.01',
12409             'name.alt.org.tldr' => 'the-php-license-3.0.1',
12410             'name.alt.misc.fossology_old' => 'PHP_v3.01',
12411             'name.alt.misc.fossology_old_short' => 'PHP3.01',
12412             caption => 'PHP License v3.01',
12413             'caption.alt.org.osi' => 'PHP License 3.01',
12414             'caption.alt.org.spdx.until.date_20130912' => 'PHP LIcense v3.01',
12415             'caption.alt.org.spdx.since.date_20130912' => 'PHP License v3.01',
12416             'caption.alt.org.tldr' => 'PHP License 3.0.1',
12417             'caption.alt.misc.legal' => 'The PHP License, version 3.01',
12418             iri => 'https://secure.php.net/license/3_01.txt',
12419             tags => [
12420             'family:bsd',
12421             'license:contains:license:bsd_2_clause',
12422             'license:is:grant',
12423             'type:singleversion:php',
12424             ],
12425             licenseversion => '3.01',
12426              
12427             'pat.alt.subject.license.scope.multisection.part.last_clauses' =>
12428             $P{repro_copr_cond_discl}
12429             . '[.][ ]'
12430             . '[*)]The name ["]PHP["] must not be used '
12431             . 'to endorse or promote products derived from this software '
12432             . 'without prior written permission' . '[. ]'
12433             . 'For written permission, please contact group\@php\.net'
12434             . '[.][ ]'
12435             . '[*)]Products derived from this software may not be called ["]PHP["], '
12436             . 'nor may ["]PHP["] appear in their name, '
12437             . 'without prior written permission from group\@php\.net' . '[. ]'
12438             . 'You may indicate that your software works in conjunction with PHP '
12439             . 'by saying ["]Foo for PHP["] instead of calling it ["]PHP Foo["] or ["]phpfoo["]'
12440             . '[ ]'
12441             . '[*)]The PHP Group may publish revised and[/]or new versions of the license from time to time'
12442             . '[. ]'
12443             . 'Each version will be given a distinguishing version number'
12444             . '[. ]'
12445             . 'Once covered code has been published under a particular version of the license, '
12446             . 'you may always continue to use it under the terms of that version'
12447             . '[. ]'
12448             . 'You may also choose to use such covered code '
12449             . 'under the terms of any subsequent version of the license '
12450             . 'published by the PHP Group' . '[. ]'
12451             . 'No one other than the PHP Group has the right to modify the terms '
12452             . 'applicable to covered code created under this License'
12453             . '[.][ ]'
12454             . '[*)]Redistributions of any form whatsoever must retain the following acknowledgment'
12455             . '[:][ ]'
12456             . '["]This product includes PHP software, freely available',
12457             'pat.alt.subject.license.scope.line.scope.sentence.part.clause_6' =>
12458             'This product includes PHP software, freely available',
12459             };
12460              
12461             =item * postgresql
12462              
12463             =cut
12464              
12465             $RE{postgresql} = {
12466             name => 'PostgreSQL',
12467             'name.alt.org.fedora' => 'PostgreSQL',
12468             'name.alt.org.osi' => 'PostgreSQL',
12469             'name.alt.org.osi.iri.stem.until.date_20110430' => 'postgresql',
12470             'name.alt.org.spdx' => 'PostgreSQL',
12471             'name.alt.org.wikidata.synth.nogrant' => 'Q18563589',
12472             caption => 'PostgreSQL License',
12473             'caption.alt.org.fedora.iri.self' => 'PostgreSQL License',
12474             'caption.alt.org.osi' => 'The PostgreSQL Licence',
12475             'caption.alt.org.osi.misc.list' => 'The PostgreSQL License',
12476             'caption.alt.org.tldr' => 'PostgreSQL License (PostgreSQL)',
12477             'caption.alt.org.trove' => 'PostgreSQL License',
12478             'summary.alt.org.fedora.iri.mit' =>
12479             'MIT-style license, PostgreSQL License (MIT Variant)',
12480             tags => [
12481             'family:mit',
12482             'license:is:grant',
12483             'type:unversioned',
12484             ],
12485              
12486             'pat.alt.subject.license' => $P{permission_use_fee_agree},
12487             };
12488              
12489             =item * psf_2
12490              
12491             I
12492              
12493             =cut
12494              
12495             # license scheme is unversioned, despite versioned name
12496             $RE{psf_2} = {
12497             name => 'PSF-2.0',
12498             'name.alt.org.debian.misc.short' => 'PSF-2',
12499             'name.alt.org.wikidata' => 'Q2600299',
12500             'name.alt.misc.short' => 'PSFL',
12501             'name.alt.misc.shortest' => 'PSF',
12502             caption => 'Python Software Foundation License 2.0',
12503             'caption.alt.org.steward' => 'PSF License Agreement',
12504             'caption.alt.org.trove' => 'Python Software Foundation License',
12505             'caption.alt.misc.legal' =>
12506             'PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2',
12507             'caption.alt.org.wikipedia' => 'Python Software Foundation License',
12508             iri =>
12509             'https://docs.python.org/3/license.html#psf-license-agreement-for-python-release',
12510             'iri.alt.misc.short' =>
12511             'https://docs.python.org/3/license.html#psf-license',
12512             tags => [
12513             'license:published:by_psf',
12514             'type:unversioned',
12515             ],
12516             licenseversion => '2.0',
12517              
12518             'pat.alt.subject.license' =>
12519             '[*)]PSF is making Python available to Licensee',
12520             };
12521              
12522             =item * public_domain
12523              
12524             =cut
12525              
12526             $RE{public_domain} = {
12527             name => 'public-domain',
12528             'name.alt.org.fsf' => 'PublicDomain',
12529             'name.alt.misc.case_and_dash' => 'Public-Domain',
12530             caption => 'Public domain',
12531             'caption.alt.org.fedora' => 'Public Domain',
12532             'caption.alt.org.trove' => 'Public Domain',
12533             'iri.alt.org.linfo' => 'http://www.linfo.org/publicdomain.html',
12534             tags => [
12535             'license:is:grant',
12536             'type:unversioned',
12537             ],
12538              
12539             'pat.alt.subject.name' =>
12540             "$the?(?:[Pp]ublic|PUBLIC)[- ](?:[Dd]omain|DOMAIN)",
12541             };
12542             $RE{public_domain}{'_pat.alt.subject.grant'} = [
12543             '(?:[Tt]his is|[Tt]hey are|[Ii]t[\']s) in '
12544             . $RE{public_domain}{'pat.alt.subject.name'},
12545             '(?:[Tt]his|[Tt]he)[ ](?:(?:source )?code|document|file|library|macros|opening book|work)[ ]is(?: put)?(?: in)? '
12546             . $RE{public_domain}{'pat.alt.subject.name'},
12547             'are dedicated to ' . $RE{public_domain}{'pat.alt.subject.name'},
12548             'for use in ' . $RE{public_domain}{'pat.alt.subject.name'},
12549             'placed in(?:to)? ' . $RE{public_domain}{'pat.alt.subject.name'},
12550             'considered to be in ' . $RE{public_domain}{'pat.alt.subject.name'},
12551             'offered to use in ' . $RE{public_domain}{'pat.alt.subject.name'},
12552             'provided [as is] into ' . $RE{public_domain}{'pat.alt.subject.name'},
12553             'released to ' . $RE{public_domain}{'pat.alt.subject.name'},
12554             'RELEASED INTO ' . $RE{public_domain}{'pat.alt.subject.name'},
12555             ];
12556              
12557             =item * qpl
12558              
12559             =item * qpl_1
12560              
12561             =cut
12562              
12563             $RE{qpl} = {
12564             name => 'QPL',
12565             'name.alt.org.fedora' => 'QPL',
12566             'name.alt.org.osi.iri.stem.until.date_20110430' => 'qtpl',
12567             'name.alt.org.wikidata.synth.nogrant' => 'Q1396282',
12568             caption => 'Q Public License',
12569             'caption.alt.org.trove' => 'Qt Public License (QPL)',
12570             'caption.alt.org.wikipedia' => 'Q Public License',
12571             tags => [
12572             'type:versioned:decimal',
12573             ],
12574             };
12575              
12576             $RE{qpl_1} = {
12577             name => 'QPL-1.0',
12578             'name.alt.org.osi' => 'QPL-1.0',
12579             'name.alt.org.spdx' => 'QPL-1.0',
12580             'name.alt.org.perl' => 'qpl_1_0',
12581             'name.alt.misc.fossology_old' => 'QPL_v1.0',
12582             caption => 'Q Public License 1.0',
12583             'caption.alt.org.fsf' => 'Q Public License (QPL), Version 1.0',
12584             'caption.alt.org.osi.synth.nogrant' => 'The Q Public License Version',
12585             'caption.alt.org.osi.misc.list.synth.nogrant' => 'Q Public License',
12586             'caption.alt.org.perl' => 'Q Public License, Version 1.0',
12587             'caption.alt.org.tldr' => 'Q Public License 1.0 (QPL-1.0)',
12588             tags => [
12589             'type:singleversion:qpl',
12590             ],
12591             licenseversion => '1.0',
12592              
12593             'pat.alt.subject.license.scope.sentence' =>
12594             'This license applies to any software '
12595             . 'containing a notice placed by the copyright holder '
12596             . 'saying that it may be distributed '
12597             . 'under the terms of the Q Public License '
12598             . 'version 1\.0[.]',
12599             };
12600              
12601             =item * rpl
12602              
12603             =item * rpl_1
12604              
12605             =item * rpl_1_1
12606              
12607             =item * rpl_1_3
12608              
12609             =item * rpl_1_5
12610              
12611             =cut
12612              
12613             $RE{rpl} = {
12614             name => 'RPL',
12615             'name.alt.org.wikidata.synth.nogrant' => 'Q7302458',
12616             caption => 'Reciprocal Public License',
12617             'caption.alt.org.fedora' => 'Reciprocal Public License',
12618             'caption.alt.org.wikipedia' => 'Reciprocal Public License',
12619             tags => [
12620             'type:versioned:decimal',
12621             ],
12622             };
12623              
12624             $RE{rpl_1} = {
12625             name => 'RPL-1',
12626             'name.alt.org.osi.iri.stem.until.date_20110430' => 'rpl1.0',
12627             caption => 'Reciprocal Public License, Version 1.0',
12628             'iri.alt.archive.time_20020223190112' =>
12629             'http://www.technicalpursuit.com/Biz_RPL.html',
12630             tags => [
12631             'type:singleversion:rpl',
12632             ],
12633             licenseversion => '1.0',
12634              
12635             'pat.alt.subject.license.scope.multisection.part.part1' =>
12636             'This Reciprocal Public License Version 1\.0 [(]["]License["][)] applies to any programs'
12637             };
12638              
12639             $RE{rpl_1_1} = {
12640             name => 'RPL-1.1',
12641             'name.alt.org.osi' => 'RPL-1.1',
12642             'name.alt.org.spdx.since.date_20130410' => 'RPL-1.1',
12643             'name.alt.misc.fossology_old' => 'RPL_v1.1',
12644             'name.alt.misc.fossology_old_short' => 'RPL1.1',
12645             caption => 'Reciprocal Public License 1.1',
12646             'caption.alt.org.osi' => 'Reciprocal Public License, version 1.1',
12647             tags => [
12648             'type:singleversion:rpl',
12649             ],
12650             licenseversion => '1.1',
12651              
12652             'pat.alt.subject.license.scope.multisection.part.part1' =>
12653             'This Reciprocal Public License Version 1\.1 [(]["]License["][)] applies to any programs'
12654             };
12655              
12656             $RE{rpl_1_3} = {
12657             name => 'RPL-1.3',
12658             caption => 'Reciprocal Public License 1.3',
12659             'iri.alt.archive.time_20080828191234' =>
12660             'http://www.technicalpursuit.com/licenses/RPL_1.3.html',
12661             tags => [
12662             'type:singleversion:rpl',
12663             ],
12664             licenseversion => '1.3',
12665              
12666             'pat.alt.subject.license.scope.multisection.part.part1' =>
12667             'This Reciprocal Public License Version 1\.3 [(]["]License["][)] applies to any programs'
12668             };
12669              
12670             $RE{rpl_1_5} = {
12671             name => 'RPL-1.5',
12672             'name.alt.org.osi' => 'RPL-1.5',
12673             'name.alt.org.osi.iri.stem.until.date_20110430' => 'rpl1.5',
12674             'name.alt.org.spdx' => 'RPL-1.5',
12675             'name.alt.misc.fossology_old' => 'RPL_v1.5',
12676             'name.alt.misc.fossology_old_short' => 'RPL1.5',
12677             caption => 'Reciprocal Public License 1.5',
12678             'caption.alt.org.tldr' => 'Reciprocal Public License 1.5 (RPL-1.5)',
12679             tags => [
12680             'type:singleversion:rpl',
12681             ],
12682             licenseversion => '1.5',
12683              
12684             'pat.alt.subject.license.scope.multisection.part.part1' =>
12685             'This Reciprocal Public License Version 1\.5 [(]["]License["][)] applies to any programs',
12686             'pat.alt.subject.license.scope.line.scope.sentence.part.exhibit_a' =>
12687             'All software distributed under the RPL is provided strictly',
12688             };
12689              
12690             =item * rpsl
12691              
12692             =item * rpsl_1
12693              
12694             I
12695              
12696             =cut
12697              
12698             $RE{rpsl} = {
12699             name => 'RPSL',
12700             'name.alt.org.osi.iri.stem.until.date_20110430' => 'real',
12701             'name.alt.org.wikidata.synth.nogrant' => 'Q7300815',
12702             'name.alt.misc.fossology_old' => 'RealNetworks-EULA',
12703             'name.alt.misc.fossology_old_short' => 'RealNetworks',
12704             caption => 'RealNetworks Public Source License',
12705             'caption.alt.org.wikipedia' => 'RealNetworks Public Source License',
12706             tags => [
12707             'type:versioned:decimal',
12708             ],
12709             };
12710              
12711             $RE{rpsl_1} = {
12712             name => 'RPSL-1.0',
12713             'name.alt.org.osi' => 'RPSL-1.0',
12714             'name.alt.org.spdx' => 'RPSL-1.0',
12715             'name.alt.misc.fossology_old' => 'RPSL_v1.1',
12716             'name.alt.misc.fossology_old_short' => 'RPSL1.1',
12717             caption => 'RealNetworks Public Source License v1.0',
12718             'caption.alt.org.osi' => 'RealNetworks Public Source License Version 1.0',
12719             'caption.alt.org.osi.misc.list' =>
12720             'RealNetworks Public Source License V1.0',
12721             'caption.alt.legal.license' =>
12722             'RealNetworks Public Source License Version 1.0',
12723             'caption.alt.org.tldr' =>
12724             'RealNetworks Public Source License v1.0 (RPSL-1.0)',
12725             tags => [
12726             'license:contains:name:afl',
12727             'license:contains:name:apache',
12728             'license:contains:name:artistic',
12729             'license:contains:name:bsd',
12730             'license:contains:name:cpl',
12731             'license:contains:name:expat',
12732             'license:contains:name:gpl_1',
12733             'license:contains:name:intel',
12734             'license:contains:name:lgpl_1',
12735             'license:contains:name:libpng',
12736             'license:contains:name:Motosoto',
12737             'license:contains:name:mpl_1',
12738             'license:contains:name:mpl_1_1',
12739             'license:contains:name:ncsa',
12740             'license:contains:name:nokia',
12741             'license:contains:name:python',
12742             'license:contains:name:rscpl',
12743             'license:contains:name:siss_1_1',
12744             'license:contains:name:w3c',
12745             'license:contains:name:xnet',
12746             'license:contains:name:zlib',
12747             'license:contains:name:zpl',
12748             'type:singleversion:rpsl',
12749             ],
12750             licenseversion => '1.0',
12751              
12752             'pat.alt.subject.license.scope.sentence.part.part1' =>
12753             'General Definitions[. ]This License applies to any program or other work',
12754             'pat.alt.subject.license.scope.line.scope.sentence.part.exhibit_b' =>
12755             'Compatible Source Licenses for the RealNetworks Public Source License',
12756             'pat.alt.subject.license.scope.line.scope.sentence.part.note' =>
12757             'Covered Code may only be licensed under the RealNetworks Public Source License',
12758             };
12759              
12760             =item * ruby
12761              
12762             =cut
12763              
12764             $RE{ruby} = {
12765             name => 'Ruby',
12766             'name.alt.org.fedora' => 'Ruby',
12767             'name.alt.org.spdx' => 'Ruby',
12768             'name.alt.org.wikidata.synth.nogrant' => 'Q3066722',
12769             caption => 'Ruby License',
12770             'caption.alt.org.tldr' => 'Ruby License (Ruby)',
12771             tags => [
12772             'type:unversioned',
12773             ],
12774              
12775             'pat.alt.subject.license.scope.line.scope.sentence' =>
12776             'You may modify and include the part of the software into any',
12777             };
12778              
12779             =item * rscpl
12780              
12781             =cut
12782              
12783             $RE{rscpl} = {
12784             name => 'RSCPL',
12785             'name.alt.org.osi' => 'RSCPL',
12786             'name.alt.org.osi.iri.stem.until.date_20110430' => 'ricohpl',
12787             'name.alt.org.spdx' => 'RSCPL',
12788             'name.alt.misc.fossology_old' => 'Ricoh',
12789             'name.alt.misc.fossology_old_verson' => 'Ricoh_v1.0',
12790             'name.alt.org.wikidata.synth.nogrant' => 'Q7332330',
12791             caption => 'Ricoh Source Code Public License',
12792             'caption.alt.org.fedora' => 'Ricoh Source Code Public License',
12793             'caption.alt.org.osi' => 'The Ricoh Source Code Public License',
12794             'caption.alt.org.osi.misc.list' => 'Ricoh Source Code Public License',
12795             'caption.alt.org.tldr' => 'Ricoh Source Code Public License (RSCPL)',
12796             'caption.alt.org.trove' => 'Ricoh Source Code Public License',
12797             tags => [
12798             'type:unversioned',
12799             ],
12800              
12801             'pat.alt.subject.license.scope.sentence' =>
12802             'Endorsements[. ]The names ["]Ricoh,["] ["]Ricoh Silicon Valley,["] and ["]RSV["] must not'
12803             };
12804              
12805             =item * sax_pd
12806              
12807             I
12808              
12809             =cut
12810              
12811             $RE{sax_pd} = {
12812             name => 'SAX-PD',
12813             'name.alt.org.spdx' => 'SAX-PD',
12814             caption => 'Sax Public Domain Notice',
12815             'caption.alt.org.tldr' => 'Sax Public Domain Notice (SAX-PD)',
12816             tags => [
12817             'license:is:grant',
12818             'type:unversioned',
12819             ],
12820              
12821             'pat.alt.subject.license.scope.line.scope.sentence' =>
12822             'No one owns SAX[:][ ]you may use it freely in both commercial',
12823             };
12824              
12825             =item * sds
12826              
12827             I
12828              
12829             =item * sds_1
12830              
12831             I
12832              
12833             =cut
12834              
12835             $RE{sds} = {
12836             name => 'SdS',
12837             caption => 'Show don\'t Sell License',
12838             tags => [
12839             'type:versioned:decimal',
12840             ],
12841             };
12842              
12843             $RE{sds_1} = {
12844             name => 'SdS-1.0.0',
12845             caption => 'Show don\'t Sell License v1.0.0',
12846             description => <<'END',
12847             Proof:
12848             [Github](https://github.com/SparrowOchon/Humble-dl/blob/master/LICENSE)
12849             END
12850             tags => [
12851             'type:singleversion:sds',
12852             ],
12853             licenseversion => '1.0.0',
12854              
12855             'pat.alt.subject.license.scope.line.scope.sentence.part.part4_2' =>
12856             'If the clause 4\.1 becomes true the licensee must pay',
12857             };
12858              
12859             =item * sgi_b
12860              
12861             =item * sgi_b_1
12862              
12863             I
12864              
12865             =item * sgi_b_1_1
12866              
12867             I
12868              
12869             =item * sgi_b_2
12870              
12871             I
12872              
12873             =cut
12874              
12875             $RE{sgi_b} = {
12876             name => 'SGI-B',
12877             'name.alt.misc.unbranded' => 'FreeB',
12878             caption => 'SGI Free Software License B',
12879             'caption.alt.misc.shorter' => 'SGI FreeB',
12880             iri => 'https://www.sgi.com/projects/FreeB/',
12881             tags => [
12882             'type:versioned:decimal',
12883             ],
12884             };
12885              
12886             $RE{sgi_b_1} = {
12887             name => 'SGI-B-1.0',
12888             'name.alt.org.spdx.since.date_20130117' => 'SGI-B-1.0',
12889             'name.alt.misc.fossology_old_vague.synth.nogrant' => 'SGI-v1.0',
12890             caption => 'SGI Free Software License B v1.0',
12891             tags => [
12892             'type:singleversion:sgi_b',
12893             ],
12894             licenseversion => '1.0',
12895              
12896             'pat.alt.subject.license.scope.line.scope.paragraph' =>
12897             'License Grant[. ]Subject to the provisions',
12898             'pat.alt.subject.license.scope.multiparagraph.part.head' =>
12899             'SGI FREE SOFTWARE LICENSE B[ ][(]Version 1\.0 1[/]25[/]2000[)][ ]'
12900             . '[*)]Definitions[.]',
12901             };
12902              
12903             $RE{sgi_b_1_1} = {
12904             name => 'SGI-B-1.1',
12905             'name.alt.org.spdx.since.date_20130117' => 'SGI-B-1.1',
12906             'name.alt.misc.fossology_old' => 'SGI-B1.1',
12907             'name.alt.misc.fossology_old_vague.synth.nogrant' => 'SGI-v1.1',
12908             caption => 'SGI Free Software License B v1.1',
12909             tags => [
12910             'type:singleversion:sgi_b',
12911             ],
12912             licenseversion => '1.1',
12913              
12914             'pat.alt.subject.license.part.title' => 'SGI License Grant',
12915             'pat.alt.subject.license.scope.multiparagraph.part.head' =>
12916             'SGI FREE SOFTWARE LICENSE B[ ][(]Version 1\.1 02[/]22[/]2000[)][ ]'
12917             . '[*)]Definitions[.]',
12918             };
12919              
12920             $RE{sgi_b_2} = {
12921             name => 'SGI-B-2.0',
12922             'name.alt.org.spdx.since.date_20130117' => 'SGI-B-2.0',
12923             caption => 'SGI Free Software License B v2.0',
12924             'caption.alt.org.fedora' => 'SGI Free Software License B 2.0',
12925             'caption.alt.org.tldr' => 'SGI Free Software License B v2.0 (SGI-B-2.0)',
12926             'name.alt.misc.fossology_old' => 'RPSL_v1.1',
12927             'name.alt.misc.fossology_old' => 'SGI-B2.0',
12928             'name.alt.misc.fossology_old_vague.synth.nogrant' => 'SGI-2.0',
12929             tags => [
12930             'type:singleversion:sgi_b',
12931             ],
12932             licenseversion => '2.0',
12933              
12934             'pat.alt.subject.license.part.reproduction' =>
12935             'The above copyright notice including the dates of first publication',
12936             'pat.alt.subject.license.scope.multiparagraph.part.head' =>
12937             'SGI FREE SOFTWARE LICENSE B[ ]'
12938             . '[(]Version 2\.0, Sept\. 18, 2008[)] '
12939             . 'Copyright[c] \[dates of first publication\] Silicon Graphics, Inc[. ]'
12940             . 'All Rights Reserved[.][ ]'
12941             . $P{perm_granted},
12942             };
12943              
12944             =item * simpl
12945              
12946             I
12947              
12948             =item * simpl_2
12949              
12950             I
12951              
12952             =cut
12953              
12954             $RE{simpl} = {
12955             name => 'SimPL',
12956             'name.alt.org.wikidata.synth.nogrant' => 'Q38351460',
12957             caption => 'Simple Public License',
12958             tags => [
12959             'type:versioned:decimal',
12960             ],
12961             };
12962              
12963             $RE{simpl_2} = {
12964             name => 'SimPL-2.0',
12965             'name.alt.org.osi' => 'SimPL-2.0',
12966             'name.alt.org.osi.iri.stem.until.date_20110430' => 'simpl-2.0',
12967             'name.alt.org.osi.misc.cat_list' => 'Simple-2.0',
12968             'name.alt.org.spdx' => 'SimPL-2.0',
12969             'name.alt.org.tldr.path.short' => 'simpl',
12970             caption => 'Simple Public License 2.0',
12971             'caption.alt.org.osi.synth.nogrant' => 'Simple Public License',
12972             'caption.alt.org.osi.misc.list' => 'Simple Public License 2.0',
12973             'caption.alt.org.tldr' => 'Simple Public License 2.0 (SimPL)',
12974             description => <<'END',
12975             Origin: by Robert W. Gomulkiewicz in 2005,
12976             inspired by GNU General Public License, Version 2.
12977             Details at
12978             and at
12979             END
12980             tags => [
12981             'type:singleversion:simpl',
12982             ],
12983             licenseversion => '2.0',
12984              
12985             'pat.alt.subject.license.scope.line.scope.sentence.part.intro' =>
12986             'The SimPL applies to the software[\']s source and',
12987             'pat.alt.subject.license.scope.line.scope.sentence.part.pseudo_grant' =>
12988             'prevents you from distributing the software under the terms of the SimPL',
12989             };
12990              
12991             =item * simple_w3c
12992              
12993             I
12994              
12995             =item * simple_w3c_1_1
12996              
12997             I
12998              
12999             =cut
13000              
13001             $RE{simple_w3c} = {
13002             name => 'Simple',
13003             caption => 'Simple Public License',
13004             tags => [
13005             'type:versioned:decimal',
13006             ],
13007             };
13008              
13009             $RE{simple_w3c_1_1} = {
13010             name => 'Simple-1.1',
13011             caption => 'Simple Public License 1.1',
13012             iri => 'https://www.analysisandsolutions.com/software/license.htm',
13013             description => <<'END',
13014             Origin: W3C Software Notice and License (1998-07-20)
13015             END
13016             tags => [
13017             'license:is:grant',
13018             'type:singleversion:simpl',
13019             ],
13020             licenseversion => '1.1',
13021              
13022             'pat.alt.subject.license.scope.line.scope.sentence.part.clause2' =>
13023             'The name, servicemarks and trademarks of the copyright',
13024             };
13025              
13026             =item * sissl
13027              
13028             I
13029              
13030             =item * sissl_1_1
13031              
13032             I
13033              
13034             =item * sissl_1_2
13035              
13036             I
13037              
13038             =cut
13039              
13040             $RE{sissl} = {
13041             name => 'SISSL',
13042             'name.alt.org.fedora' => 'SISSL',
13043             'name.alt.org.osi.iri.stem.until.date_20110430' => 'sisslpl',
13044             'name.alt.org.perl' => 'sun',
13045             'name.alt.org.wikidata.synth.nogrant' => 'Q635577',
13046             caption => 'Sun Industry Standards Source License',
13047             'caption.alt.org.perl' => 'Sun Internet Standards Source License (SISSL)',
13048             'caption.alt.org.trove' =>
13049             'Sun Industry Standards Source License (SISSL)',
13050             'caption.alt.org.wikipedia' => 'Sun Industry Standards Source License',
13051             'caption.alt.misc.long' =>
13052             'Sun Industry Standards Source License (SISSL)',
13053             tags => [
13054             'type:versioned:decimal',
13055             ],
13056             };
13057              
13058             $RE{sissl_1_1} = {
13059             name => 'SISSL-1.1',
13060             'name.alt.org.osi.synth.nogrant' => 'SISSL',
13061             'name.alt.org.spdx.since.date_20130117.synth.nogrant' => 'SISSL',
13062             'name.alt.misc.fossology_old' => 'SISSL_v1.1',
13063             caption => 'Sun Industry Standards Source License v1.1',
13064             'caption.alt.org.osi.synth.nogrant' =>
13065             'Sun Industry Standards Source License',
13066             'caption.alt.org.spdx.until.date_20130912.synth.nogrant' =>
13067             'Sun Industry Standards Source License',
13068             'caption.alt.org.spdx.since.date_20130912' =>
13069             'Sun Industry Standards Source License v1.1',
13070             iri => 'https://www.openoffice.org/licenses/sissl_license.html',
13071             tags => [
13072             'type:singleversion:sissl',
13073             ],
13074             licenseversion => '1.1',
13075              
13076             'pat.alt.subject.license.scope.multisection.part.header' =>
13077             'Sun Industry Standards Source License[ - ]Version 1\.1[ ]'
13078             . '1\.0 DEFINITIONS',
13079             };
13080              
13081             $RE{sissl_1_2} = {
13082             name => 'SISSL-1.2',
13083             'name.alt.org.spdx.since.date_20130912' => 'SISSL-1.2',
13084             caption => 'Sun Industry Standards Source License v1.2',
13085             'caption.alt.org.tldr' =>
13086             'Sun Industry Standards Source License v1.2 (SISSL-1.2)',
13087             'caption.alt.misc.legal' =>
13088             'SUN INDUSTRY STANDARDS SOURCE LICENSE Version 1.2',
13089             iri =>
13090             'http://gridscheduler.sourceforge.net/Gridengine_SISSL_license.html',
13091             tags => [
13092             'type:singleversion:sissl',
13093             ],
13094             licenseversion => '1.2',
13095              
13096             'pat.alt.subject.license.scope.multisection.part.header' =>
13097             'SUN INDUSTRY STANDARDS SOURCE LICENSE[ ]'
13098             . 'Version 1\.2[ ]'
13099             . '1\.0 DEFINITIONS',
13100             };
13101              
13102             =item * sleepycat
13103              
13104             I
13105              
13106             =cut
13107              
13108             $RE{sleepycat} = {
13109             name => 'Sleepycat',
13110             'name.alt.org.fedora.iri.self' => 'Sleepycat',
13111             'name.alt.org.osi' => 'Sleepycat',
13112             'name.alt.org.osi.iri.stem.until.date_20110430' => 'sleepycat',
13113             'name.alt.org.spdx' => 'Sleepycat',
13114             'name.alt.org.tldr.path.short' => 'sleepycat',
13115             'name.alt.org.wikidata.synth.nogrant' => 'Q2294050',
13116             caption => 'Sleepycat License',
13117             'caption.alt.misc.berkeley' => 'Berkeley Database License',
13118             'caption.alt.misc.public' => 'Sleepycat Public License',
13119             'caption.alt.org.fedora' => 'Sleepycat Software Product License',
13120             'caption.alt.org.osi' => 'The Sleepycat License',
13121             'caption.alt.org.osi.misc.list' => 'Sleepycat License',
13122             'caption.alt.org.tldr' => 'Sleepycat License',
13123             'caption.alt.org.trove' => 'Sleepycat License',
13124             'caption.alt.org.wikipedia' => 'Sleepycat License',
13125             tags => [
13126             'type:unversioned',
13127             ],
13128              
13129             'pat.alt.subject.license.scope.line.part.clause4' =>
13130             'obtain complete source code for the DB software and',
13131             'pat.alt.subject.license.scope.paragraph.part.clause4' =>
13132             'Redistributions in any form must be accompanied by information on how to obtain'
13133             . ' complete source code for the DB software'
13134             . ' and any accompanying software that uses the DB software',
13135             };
13136              
13137             =item * sncl
13138              
13139             I
13140              
13141             =item * sncl_1_10
13142              
13143             I
13144              
13145             =item * sncl_2_0_1
13146              
13147             I
13148              
13149             =item * sncl_2_0_2
13150              
13151             I
13152              
13153             =item * sncl_2_1
13154              
13155             I
13156              
13157             =item * sncl_2_3
13158              
13159             I
13160              
13161             =cut
13162              
13163             $RE{sncl} = {
13164             name => 'SNCL',
13165             caption => 'Simple Non Code License',
13166             tags => [
13167             'type:versioned:decimal',
13168             ],
13169             };
13170              
13171             $RE{sncl_1_10} = {
13172             name => 'SNCL-1.10.0',
13173             caption => 'Simple Non Code License v1.10.0',
13174             'caption.alt.org.tldr.synth.nogrant' => 'Simple non code license (SNCL)',
13175             description => <<'END',
13176             Proof:
13177             [Github](https://github.com/SiddChugh/Diffie-Hellman-Algorithm/blob/master/License.txt)
13178             END
13179             tags => [
13180             'type:singleversion:sncl',
13181             ],
13182             licenseversion => '1.10.0',
13183              
13184             'pat.alt.subject.license.scope.line.scope.sentence.part.part1_6' =>
13185             'If the 1\.5 clause becomes true the licensee must pay',
13186             };
13187              
13188             $RE{sncl_2_0_1} = {
13189             name => 'SNCL-2.0.1',
13190             caption => 'Simple Non Code License v2.0.1',
13191             description => <<'END',
13192             Proof:
13193             [Github](https://github.com/MysteryDash/Simple-Non-Code-License/blob/af24a92211e3c35392acb21611f228200fd32fd0/License.txt)
13194             END
13195             tags => [
13196             'type:singleversion:sncl',
13197             ],
13198             licenseversion => '2.0.1',
13199              
13200             'pat.alt.subject.license.scope.line.scope.sentence.part.part3_2' =>
13201             'If the 3\.1 clause becaumes true the licensee must pay',
13202             };
13203              
13204             $RE{sncl_2_0_2} = {
13205             name => 'SNCL-2.0.2',
13206             caption => 'Simple Non Code License v2.0.2',
13207             description => <<'END',
13208             Identical to Simple Non Code License v2.0.1, except...
13209             * typo correction in section 3.2
13210              
13211             Proof:
13212             [Github](https://github.com/MysteryDash/Simple-Non-Code-License/blob/9a045d0a8dc58341a35d11e4f3d8343c2d498ca5/License.txt)
13213             END
13214             tags => [
13215             'type:singleversion:sncl',
13216             ],
13217             licenseversion => '2.0.2',
13218             };
13219              
13220             $RE{sncl_2_1} = {
13221             name => 'SNCL-2.1.0',
13222             'name.alt.org.tldr.synth.nogrant' => 'simple-non-code-license-2.0.2',
13223             caption => 'Simple Non Code License v2.1.0',
13224             'caption.alt.org.tldr' => 'Simple Non Code License (SNCL) 2.1.0',
13225             description => <<'END',
13226             Proof:
13227             [Github](https://github.com/MysteryDash/Simple-Non-Code-License/blob/480fb558b17aa1d23ad6d61ad420ea19d08d8940/License.txt)
13228             END
13229             tags => [
13230             'type:singleversion:sncl',
13231             ],
13232             licenseversion => '2.1.0',
13233              
13234             'pat.alt.subject.license.scope.line.scope.sentence.part.part1_3_4' =>
13235             'The same rule about commercial use stated in clause 1\.1 applies here',
13236             };
13237              
13238             $RE{sncl_2_3} = {
13239             name => 'SNCL-2.3.0',
13240             caption => 'Simple Non Code License v2.3.0',
13241             description => <<'END',
13242             Proof:
13243             [Github](https://github.com/MysteryDash/Simple-Non-Code-License/blob/17766cb9f31240dc04030412b1da94d43097408f/License.txt)
13244             END
13245             tags => [
13246             'type:singleversion:sncl',
13247             ],
13248             licenseversion => '2.3.0',
13249              
13250             'pat.alt.subject.license.scope.line.scope.sentence.part.part3_2' =>
13251             'If the clause 3\.1 becomes true the licensee must pay',
13252             };
13253              
13254             =item * spl
13255              
13256             =item * spl_1
13257              
13258             =cut
13259              
13260             $RE{spl} = {
13261             name => 'SPL',
13262             'name.alt.org.fedora' => 'SPL',
13263             'name.alt.org.osi.iri.stem.until.date_20110430' => 'sunpublic',
13264             'name.alt.org.wikidata.synth.nogrant' => 'Q648252',
13265             caption => 'Sun Public License',
13266             'caption.alt.org.trove' => 'Sun Public License',
13267             'caption.alt.org.wikipedia' => 'Sun Public License',
13268             tags => [
13269             'type:versioned:decimal',
13270             ],
13271             };
13272              
13273             $RE{spl_1} = {
13274             name => 'SPL-1.0',
13275             'name.alt.org.osi' => 'SPL-1.0',
13276             'name.alt.org.spdx' => 'SPL-1.0',
13277             'name.alt.misc.fossology_old' => 'Sun-PL_v1.0',
13278             'name.alt.misc.fossology_old_short' => 'SunPL1.0',
13279             caption => 'Sun Public License v1.0',
13280             'caption.alt.org.osi' => 'Sun Public License, Version 1.0',
13281             'caption.alt.org.osi.misc.list' => 'Sun Public License 1.0',
13282             'caption.alt.org.tldr' => 'Sun Public License v1.0 (SPL-1.0)',
13283             tags => [
13284             'type:singleversion:spl',
13285             ],
13286             licenseversion => '1.0',
13287              
13288             'pat.alt.subject.license.scope.multisection' =>
13289             'Exhibit A -Sun Public License Notice[.][ ]'
13290             . 'The contents of this file are subject to the Sun Public License'
13291             };
13292              
13293             =item * ssleay
13294              
13295             I
13296              
13297             =cut
13298              
13299             $RE{ssleay} = {
13300             name => 'SSLeay',
13301             'name.alt.org.perl' => 'ssleay',
13302             'caption.alt.org.perl' => 'Original SSLeay License',
13303             tags => [
13304             'license:contains:license:bsd_2_clause',
13305             'license:is:grant',
13306             'type:unversioned',
13307             ],
13308              
13309             'pat.alt.subject.license.part.attribution' =>
13310             'If this package is used in a product',
13311             'pat.alt.subject.license.scope.multisection' => $P{repro_copr_cond_discl}
13312             . '[.][ ]' . '[*)]'
13313             . $P{ad_mat_ack_ssleay} . '?',
13314             'pat.alt.subject.license.part.advertising_clause_2' =>
13315             'The word ["]cryptographic["] can be left out',
13316             };
13317              
13318             =item * stlport
13319              
13320             I
13321              
13322             =cut
13323              
13324             $RE{stlport} = {
13325             name => 'STLport',
13326             caption => 'STLport License Agreement',
13327             'summary.alt.org.fedora.iri.mit' => 'MIT-style license, Cheusov variant',
13328             iri => 'http://www.stlport.org/doc/license.html',
13329             tags => [
13330             'family:mit',
13331             'type:unversioned',
13332             ],
13333              
13334             'pat.alt.subject.license.scope.line.scope.sentence' =>
13335             'The Licensee may distribute binaries compiled',
13336             };
13337              
13338             =item * sugarcrm
13339              
13340             =item * sugarcrm_1_1_3
13341              
13342             =cut
13343              
13344             $RE{sugarcrm} = {
13345             name => 'SugarCRM',
13346             'name.alt.org.wikidata.synth.nogrant' => 'Q3976707',
13347             caption => 'SugarCRM Public License',
13348             tags => [
13349             'type:versioned:decimal',
13350             ],
13351             };
13352              
13353             $RE{sugarcrm_1_1_3} = {
13354             name => 'SugarCRM-1.1.3',
13355             'name.alt.org.spdx' => 'SugarCRM-1.1.3',
13356             'name.alt.org.tldr.path.short' => 'sugarcrm-1.1.3',
13357             caption => 'SugarCRM Public License v1.1.3',
13358             'caption.alt.org.tldr' =>
13359             'SugarCRM Public License v1.1.3 (SugarCRM-1.1.3)',
13360             tags => [
13361             'type:singleversion:sugarcrm',
13362             ],
13363             licenseversion => '1.1.3',
13364              
13365             'pat.alt.subject.license' =>
13366             'The SugarCRM Public License Version [(]["]SPL["][)] consists of',
13367             };
13368              
13369             =item * tosl
13370              
13371             I
13372              
13373             =cut
13374              
13375             # Yes, it is unversioned
13376             $RE{tosl} = {
13377             name => 'TOSL',
13378             'name.alt.org.fedora' => 'TOSL',
13379             'name.alt.org.spdx.since.date_20140807' => 'TOSL',
13380             'name.alt.misc.legal' => 'TRUST',
13381             caption => 'Trusster Open Source License',
13382             'caption.alt.org.fedora' => 'Trusster Open Source License',
13383             'caption.alt.misc.legal' =>
13384             'Trusster Open Source License version 1.0a (TRUST)',
13385             description => <<'END',
13386             Identical to Sleepycat, except...
13387             * generalize source access clause to cover "this software"
13388              
13389             Proof:
13390             [Github](https://github.com/trusster/trusster/blob/master/truss/cpp/src/truss_verification_top.cpp)
13391             END
13392             tags => [
13393             'type:unversioned',
13394             ],
13395              
13396             'pat.alt.subject.license.scope.line.part.clause4' =>
13397             'obtain complete source code for this software and',
13398             'pat.alt.subject.license.scope.paragraph.part.clause4' =>
13399             'Redistributions in any form must be accompanied by information on how to obtain'
13400             . ' complete source code for this software'
13401             . ' and any accompanying software that uses this software',
13402             };
13403              
13404             =item * truecrypt
13405              
13406             I
13407              
13408             =item * truecrypt_3
13409              
13410             I
13411              
13412             =cut
13413              
13414             $RE{truecrypt} = {
13415             name => 'TrueCrypt',
13416             caption => 'TrueCrypt License',
13417             'caption.alt.org.fedora' => 'TrueCrypt License',
13418             tags => [
13419             'type:versioned:decimal',
13420             ],
13421             };
13422              
13423             $RE{truecrypt_3} = {
13424             name => 'TrueCrypt-3.0',
13425             caption => 'TrueCrypt License Version 3.0',
13426             'caption.alt.org.tldr' => 'TrueCrypt License Version 3.0',
13427             iri => 'https://www.truecrypt71a.com/truecrypt-license/',
13428             tags => [
13429             'type:singleversion:truecrypt',
13430             ],
13431             licenseversion => '3.0',
13432              
13433             'pat.alt.subject.license.scope.line.scope.sentence' =>
13434             'License agreement for Encryption for the Masses',
13435             };
13436              
13437             =item * ucl
13438              
13439             I
13440              
13441             =item * ucl_1
13442              
13443             I
13444              
13445             =cut
13446              
13447             $RE{ucl} = {
13448             name => 'UCL',
13449             caption => 'Upstream Compatibility License',
13450             tags => [
13451             'type:versioned:decimal',
13452             ],
13453             };
13454              
13455             $RE{ucl_1} = {
13456             name => 'UCL-1.0',
13457             'name.alt.org.osi' => 'UCL-1.0',
13458             'name.alt.org.spdx.since.date_20191022' => 'UCL-1.0',
13459             caption => 'Upstream Compatibility License v. 1.0',
13460             'caption.alt.org.osi' => 'Upstream Compatibility License v1.0',
13461             tags => [
13462             'license:contains:grant',
13463             'type:singleversion:ucl',
13464             ],
13465             licenseversion => '1.0',
13466              
13467             'pat.alt.subject.license.scope.multisection.part.part1' =>
13468             'Licensed under the Upstream Compatibility License 1\.0[ ]'
13469             . '[*)]Grant of Copyright License[.]',
13470             };
13471              
13472             =item * unicode_dfs
13473              
13474             I
13475              
13476             =item * unicode_dfs_2015
13477              
13478             I
13479              
13480             =item * unicode_dfs_2016
13481              
13482             I
13483              
13484             =cut
13485              
13486             $RE{unicode_dfs} = {
13487             name => 'Unicode-DFS',
13488             'name.alt.org.wikidata.synth.nogrant' => 'Q67145209',
13489             caption => 'Unicode License Agreement - Data Files and Software',
13490             'caption.alt.org.wikidata' => 'Unicode, Inc. License Agreement',
13491             tags => [
13492             'license:is:grant',
13493             'type:versioned:decimal',
13494             ],
13495             };
13496              
13497             $RE{unicode_dfs_2015} = {
13498             name => 'Unicode-DFS-2015',
13499             'name.alt.org.fedora.synth.nogrant' => 'Unicode',
13500             'name.alt.org.spdx.since.date_20170106' => 'Unicode-DFS-2015',
13501             caption => 'Unicode License Agreement - Data Files and Software (2015)',
13502             'caption.alt.org.fedora' => 'Unicode License',
13503             'iri.alt.archive.time_20160426001149' =>
13504             'http://www.unicode.org/copyright.html#Exhibit1',
13505             tags => [
13506             'license:is:grant',
13507             'type:singleversion:unicode_dfs',
13508             ],
13509             licenseversion => '2015',
13510              
13511             'pat.alt.subject.license.part.clause_2' =>
13512             'this copyright and permission notice appear in associated documentation, and',
13513             };
13514              
13515             $RE{unicode_dfs_2016} = {
13516             name => 'Unicode-DFS-2016',
13517             'name.alt.org.osi' => 'Unicode-DFS-2016',
13518             'name.alt.org.spdx.since.date_20170106' => 'Unicode-DFS-2016',
13519             caption => 'Unicode License Agreement - Data Files and Software (2016)',
13520             'caption.alt.org.osi' =>
13521             'Unicode, Inc. License Agreement - Data Files and Software',
13522             'caption.alt.org.osi.misc.list' =>
13523             'Unicode Data Files and Software License',
13524             'caption.alt.org.osi.misc.cat_list' =>
13525             'Unicode License Agreement - Data Files and Software',
13526             iri => 'https://www.unicode.org/license.html',
13527             tags => [
13528             'license:is:grant',
13529             'type:singleversion:unicode_dfs',
13530             ],
13531             licenseversion => '2016',
13532              
13533             'pat.alt.subject.license.part.clause_2' =>
13534             'this copyright and permission notice appear in associated Documentation[.]',
13535             };
13536              
13537             =item * unicode_strict
13538              
13539             =cut
13540              
13541             $RE{unicode_strict} = {
13542             name => 'Unicode-strict',
13543             'name.alt.misc.scancode' => 'unicode-mappings',
13544             caption => 'Unicode strict',
13545             tags => [
13546             'license:is:grant',
13547             'type:unversioned',
13548             ],
13549              
13550             'pat.alt.subject.license' => 'hereby grants the right to freely use',
13551             };
13552              
13553             =item * unicode_tou
13554              
13555             =cut
13556              
13557             $RE{unicode_tou} = {
13558             name => 'Unicode-TOU',
13559             'name.alt.org.spdx.since.date_20140807' => 'Unicode-TOU',
13560             caption => 'Unicode Terms of Use',
13561             tags => [
13562             'type:unversioned',
13563             ],
13564              
13565             'pat.alt.subject.license' =>
13566             'distribute all documents and files solely for informational',
13567             };
13568              
13569             =item * unlicense
13570              
13571             =cut
13572              
13573             $RE{unlicense} = {
13574             name => 'Unlicense',
13575             'name.alt.org.osi' => 'Unlicense',
13576             'name.alt.org.spdx.since.date_20130912' => 'Unlicense',
13577             'name.alt.org.wikidata.synth.nogrant' => 'Q21659044',
13578             'iri.alt.org.wikipedia' => 'Unlicense',
13579             caption => 'The Unlicense',
13580             'caption.alt.org.fedora.iri.self' => 'Unlicense',
13581             'caption.alt.org.tldr' => 'Unlicense',
13582             'caption.alt.org.trove' => 'The Unlicense (Unlicense)',
13583             'caption.alt.org.wikidata' => 'Unlicense',
13584             iri => 'https://unlicense.org/',
13585             'iri.alt.format.txt' => 'https://unlicense.org/UNLICENSE',
13586             tags => [
13587             'type:unversioned',
13588             ],
13589              
13590             'pat.alt.subject.license.scope.line.scope.sentence' =>
13591             'This is free and unencumbered software released into the public domain',
13592             };
13593              
13594             =item * upl
13595              
13596             I
13597              
13598             =item * upl_1
13599              
13600             I
13601              
13602             =cut
13603              
13604             $RE{upl} = {
13605             name => 'UPL',
13606             'name.alt.org.fedora.iri.self' => 'UPL',
13607             'name.alt.org.wikidata.synth.nogrant' => 'Q38685700',
13608             caption => 'Universal Permissive License',
13609             'caption.alt.org.trove' => 'Universal Permissive License (UPL)',
13610             tags => [
13611             'type:versioned:decimal',
13612             ],
13613             };
13614              
13615             $RE{upl_1} = {
13616             name => 'UPL-1.0',
13617             'name.alt.org.osi.synth.nogrant' => 'UPL',
13618             'name.alt.org.spdx.since.date_20150730' => 'UPL-1.0',
13619             'name.alt.org.tldr.path.short' => 'upl-1,0',
13620             caption => 'Universal Permissive License v1.0',
13621             'caption.alt.org.osi' =>
13622             'The Universal Permissive License (UPL), Version 1.0',
13623             'caption.alt.org.osi.misc.list.synth.nogrant' =>
13624             'Universal Permissive License',
13625             'caption.alt.org.tldr' => 'Universal Permissive License 1.0 (UPL-1.0)',
13626             tags => [
13627             'license:is:grant',
13628             'type:singleversion:upl',
13629             ],
13630             licenseversion => '1.0',
13631              
13632             'pat.alt.subject.license.scope.line.scope.sentence' =>
13633             'The above copyright notice and either this complete permission notice',
13634             };
13635              
13636             =item * vsl
13637              
13638             I
13639              
13640             =item * vsl_1
13641              
13642             I
13643              
13644             =cut
13645              
13646             $RE{vsl} = {
13647             name => 'VSL',
13648             'name.alt.org.osi.iri.stem.until.date_20110430' => 'vovidapl',
13649             'name.alt.misc.fossology_old' => 'Vovida',
13650             caption => 'Vovida Software License',
13651             tags => [
13652             'type:versioned:decimal',
13653             ],
13654             };
13655              
13656             $RE{vsl_1} = {
13657             name => 'VSL-1.0',
13658             'name.alt.org.fedora.synth.nogrant' => 'VSL',
13659             'name.alt.org.osi' => 'VSL-1.0',
13660             'name.alt.org.spdx' => 'VSL-1.0',
13661             'name.alt.org.wikidata.synth.nogrant' => 'Q38349857',
13662             caption => 'Vovida Software License v1.0',
13663             'caption.alt.org.fedora' => 'Vovida Software License v. 1.0',
13664             'caption.alt.org.osi' => 'The Vovida Software License v. 1.0',
13665             'caption.alt.org.osi.misc.list' => 'Vovida Software License v. 1.0',
13666             'caption.alt.org.tldr' => 'Vovida Software License v1.0 (VSL-1.0)',
13667             'caption.alt.org.trove' => 'Vovida Software License 1.0',
13668             'caption.alt.org.wikidata' => 'Vovida Software License Version 1.0',
13669             description => <<'END',
13670             Identical to BSD (3 clause), except...
13671             * extend non-endorsement clause to include contact info
13672             * add derivatives-must-rename clause
13673              
13674             Identical to Apache 1.1, except...
13675             * drop advertisement clause
13676             * replace "Apache" and "Apache Software Foundation" with "VOCAL"
13677             * extend disclaimers to include title and non-infringement, and expensive damages
13678             END
13679             tags => [
13680             'license:contains:license:bsd_3_clause',
13681             'license:is:grant',
13682             'type:singleversion:vsl',
13683             ],
13684             licenseversion => '1.0',
13685              
13686             'pat.alt.subject.license.scope.line.scope.sentence.part.clause4' =>
13687             'Products derived from this software may not be called ["]VOCAL["],',
13688             };
13689              
13690             =item * vspl
13691              
13692             I
13693              
13694             =cut
13695              
13696             $RE{vspl} = {
13697             name => 'VSPL',
13698             caption => 'Very Simple Public License',
13699             'caption.alt.org.tldr' => 'Very Simple Public License (VSPL)',
13700             tags => [
13701             'type:unversioned',
13702             ],
13703              
13704             'pat.alt.subject.license.scope.sentence' =>
13705             'You can modify, distribute and use this software '
13706             . 'for any purpose without any restrictions '
13707             . 'as long as you keep this copyright notice intact' . '[. ]'
13708             . 'The software is provided without any warranty[.]',
13709             };
13710              
13711             =item * w3c
13712              
13713             I
13714              
13715             =item * w3c_19980519
13716              
13717             I
13718              
13719             =item * w3c_19980720
13720              
13721             I
13722              
13723             =item * w3c_20021231
13724              
13725             I
13726              
13727             =item * w3c_20150513
13728              
13729             I
13730              
13731             =cut
13732              
13733             $RE{w3c} = {
13734             name => 'W3C',
13735             'name.alt.org.debian.synth.nogrant' => 'W3C~unknown',
13736             'name.alt.org.wikidata.synth.nogrant' => 'Q3564577',
13737             caption => 'W3C License',
13738             'caption.alt.org.debian.synth.nogrant' => 'W3C License (unknown version)',
13739             'caption.alt.org.trove' => 'W3C License',
13740             'caption.alt.org.wikidata' => 'W3C Software Notice and License',
13741             'caption.alt.org.wikipedia' => 'W3C Software Notice and License',
13742             tags => [
13743             'type:versioned:decimal',
13744             ],
13745             };
13746              
13747             $RE{w3c_19980519} = {
13748             name => 'W3C-19980519',
13749             caption => 'W3C Software Notice and License (1998-05-19)',
13750             'caption.alt.misc.legal.synth.nogrant' => 'W3C IPR SOFTWARE NOTICE',
13751             iri =>
13752             'https://www.w3.org/Consortium/Legal/copyright-software-19980519.html',
13753             tags => [
13754             'license:is:grant',
13755             'type:singleversion:w3c',
13756             ],
13757             licenseversion => '19980519',
13758              
13759             'pat.alt.subject.license.scope.line.scope.sentence.part.intro' =>
13760             'This W3C software is being provided',
13761             'pat.alt.subject.license.scope.sentence.part.clause2' =>
13762             'If none exist, then a notice of the form',
13763             'pat.alt.subject.license.scope.line.scope.sentence.part.clause1' =>
13764             'A link or URL to the original W3C source',
13765             };
13766              
13767             $RE{w3c_19980720} = {
13768             name => 'W3C-19980720',
13769             'name.alt.org.spdx.since.date_20150513' => 'W3C-19980720',
13770             caption => 'W3C Software Notice and License (1998-07-20)',
13771             'caption.alt.misc.legal.synth.nogrant' =>
13772             'W3C® SOFTWARE NOTICE AND LICENSE',
13773             'caption.alt.misc.notice' =>
13774             'W3C\'s Software Intellectual Property License',
13775             iri => 'https://www.w3.org/Consortium/Legal/copyright-software-19980720',
13776             tags => [
13777             'license:is:grant',
13778             'type:singleversion:w3c',
13779             ],
13780             licenseversion => '19980720',
13781              
13782             'pat.alt.subject.license.scope.line.scope.sentence.part.intro' =>
13783             'This W3C work [(]including software, documents, or other',
13784             'pat.alt.subject.license.scope.line.scope.sentence.part.clause3' =>
13785             'Notice of any changes or modifications to the W3C files',
13786             };
13787              
13788             $RE{w3c_20021231} = {
13789             name => 'W3C-20021231',
13790             'name.alt.org.debian' => 'W3C-20021231',
13791             'name.alt.org.fedora.synth.nogrant' => 'W3C',
13792             'name.alt.org.osi.synth.nogrant' => 'W3C',
13793             'name.alt.org.spdx.synth.nogrant' => 'W3C',
13794             caption => 'W3C Software Notice and License (2002-12-31)',
13795             'caption.alt.org.fedora.synth.nogrant' =>
13796             'W3C Software Notice and License',
13797             'caption.alt.org.osi.synth.nogrant' =>
13798             'The W3C® SOFTWARE NOTICE AND LICENSE',
13799             'caption.alt.org.osi.misc.list.synth.nogrant' => 'W3C License',
13800             'caption.alt.org.spdx.until.date_20130912.synth.nogrant' =>
13801             'W3C Software and Notice License',
13802             'caption.alt.org.spdx.since.date_20130912.until.date_20150513.synth.nogrant'
13803             => 'W3C Software Notice and License',
13804             'caption.alt.org.spdx.since.date_20150513.synth.nogrant' =>
13805             'W3C Software Notice and License (2002-12-31)',
13806             'caption.alt.org.tldr.synth.nogrant' =>
13807             'W3C Software Notice and License (W3C)',
13808             'caption.alt.misc.notice' => 'W3C® Software License',
13809             iri =>
13810             'https://www.w3.org/Consortium/Legal/2002/copyright-software-20021231',
13811             tags => [
13812             'license:is:grant',
13813             'type:singleversion:w3c',
13814             ],
13815             licenseversion => '20021231',
13816              
13817             'pat.alt.subject.license.scope.line.scope.sentence.part.intro' =>
13818             'This work [(]and included software, documentation',
13819             'pat.alt.subject.license.scope.sentence.part.clause2' =>
13820             'If none exist, the W3C Software Short Notice',
13821             'pat.alt.subject.license.scope.line.scope.sentence.part.clause3' =>
13822             'Notice of any changes or modifications to the files,',
13823             };
13824              
13825             $RE{w3c_20150513} = {
13826             name => 'W3C-20150513',
13827             'name.alt.org.spdx.since.date_20170106' => 'W3C-20150513',
13828             caption => 'W3C Software and Document Notice and License (2015-05-13)',
13829             'caption.alt.org.spdx' =>
13830             'W3C Software Notice and Document License (2015-05-13)',
13831             'caption.alt.misc.notice' => 'W3C® Software and Document License',
13832             iri =>
13833             'https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document',
13834             tags => [
13835             'license:is:grant',
13836             'type:singleversion:w3c',
13837             ],
13838             licenseversion => '20150513',
13839              
13840             'pat.alt.subject.license.scope.line.scope.sentence.part.intro' =>
13841             'This work is being provided',
13842             'pat.alt.subject.license.scope.sentence.part.clause2' =>
13843             'If none exist, the W3C Software and Document Short Notice',
13844             'pat.alt.subject.license.scope.line.scope.sentence.part.clause3' =>
13845             'Notice of any changes or modifications, through',
13846             };
13847              
13848             =item * watcom
13849              
13850             =item * watcom_1
13851              
13852             =cut
13853              
13854             $RE{watcom} = {
13855             name => 'Watcom',
13856             'name.alt.org.osi.iri.stem.until.date_20110430' => 'sybase',
13857             'name.alt.org.wikidata.synth.nogrant' => 'Q7659488',
13858             caption => 'Sybase Open Watcom Public License',
13859             'caption.alt.org.wikipedia' => 'Sybase Open Watcom Public License',
13860             'caption.alt.misc.source' => 'The Sybase Open Source License',
13861             tags => [
13862             'type:versioned:decimal',
13863             ],
13864             };
13865              
13866             $RE{watcom_1} = {
13867             name => 'Watcom-1.0',
13868             'name.alt.org.osi' => 'Watcom-1.0',
13869             'name.alt.org.spdx' => 'Watcom-1.0',
13870             'name.alt.org.tldr' =>
13871             'sybase-open-watcom-public-license-1.0-(watcom-1.0)',
13872             caption => 'Sybase Open Watcom Public License 1.0',
13873             'caption.alt.org.fedora' => 'Sybase Open Watcom Public License 1.0',
13874             'caption.alt.org.osi.synth.nogrant' => 'The Sybase Open Source Licence',
13875             'caption.alt.org.osi.misc.list' =>
13876             'Sybase Open Watcom Public License 1.0',
13877             'caption.alt.org.tldr' =>
13878             'Sybase Open Watcom Public License 1.0 (Watcom-1.0)',
13879             iri => 'ftp://ftp.openwatcom.org/install/license.txt',
13880             tags => [
13881             'type:singleversion:watcom',
13882             ],
13883             licenseversion => '1.0',
13884              
13885             'pat.alt.subject.license.scope.line.scope.sentence' =>
13886             'USE OF THE SYBASE OPEN WATCOM SOFTWARE DESCRIBED BELOW',
13887             };
13888              
13889             =item * wordnet
13890              
13891             I
13892              
13893             =cut
13894              
13895             $RE{wordnet} = {
13896             name => 'WordNet',
13897             caption => 'WordNet License',
13898             'summary.alt.org.fedora.iri.mit' => 'MIT-style license, WordNet Variant',
13899             iri => 'https://wordnet.princeton.edu/license-and-commercial-use',
13900             'iri.alt.archive.time_20180118074053' =>
13901             'https://wordnet.princeton.edu/wordnet/license',
13902             tags => [
13903             'family:mit',
13904             'license:is:grant',
13905             'type:unversioned',
13906             ],
13907              
13908             'pat.alt.subject.license.scope.line.scope.sentence.part.intro' =>
13909             'This software and database is being provided',
13910             '_pat.alt.subject.license.scope.line.scope.sentence.part.permissions' => [
13911              
13912             # cover line wrapping at either side of word "database"
13913             'distribute this software and database',
13914             'database and its documentation for any purpose',
13915             ],
13916             };
13917              
13918             =item * wtfpl
13919              
13920             =item * wtfpl_1
13921              
13922             I
13923              
13924             =item * wtfpl_2
13925              
13926             I
13927              
13928             =cut
13929              
13930             $RE{wtfpl} = {
13931             name => 'WTFPL',
13932             'name.alt.org.fedora.iri.self' => 'WTFPL',
13933             'name.alt.org.wikidata.synth.nogrant' => 'Q152481',
13934             'name.alt.org.wikipedia' => 'WTFPL',
13935             caption => 'do What The Fuck you want to Public License',
13936             'caption.alt.org.fedora' => 'Do What The F*ck You Want To Public License',
13937             'caption.alt.misc.shorter' => 'WTF Public License',
13938             'caption.alt.org.wikidata' => 'WTFPL',
13939             iri => 'http://www.wtfpl.net/',
13940             'iri.alt.misc.old' => 'http://sam.zoy.org/wtfpl/COPYING',
13941             tags => [
13942             'type:versioned:decimal',
13943             ],
13944              
13945             'pat.alt.subject.name' =>
13946             "$the?[Dd]o What The F(?:u|[*])ck [Yy]ou [Ww]ant(?: [Tt]o)? Public License"
13947             . '(?: [(]WTFPL[)])?',
13948             'pat.alt.subject.license.scope.sentence' =>
13949             '[Yy]ou just[ ]DO WHAT THE FUCK YOU WANT TO[.]',
13950             };
13951              
13952             $RE{wtfpl_1} = {
13953             name => 'WTFPL-1.0',
13954             'name.alt.org.debian' => 'WTFPL-1.0',
13955             'name.alt.org.spdx.since.date_20130117.synth.nogrant' => 'WTFPL',
13956             caption => 'Do What The Fuck You Want To Public License, Version 1',
13957             'caption.alt.org.spdx.synth.nogrant' =>
13958             'Do What The F*ck You Want To Public License',
13959             'caption.alt.org.tldr' =>
13960             'Do What The F*ck You Want To Public License (WTFPL)',
13961             iri => 'http://cvs.windowmaker.org/co.php/wm/COPYING.WTFPL',
13962             tags => [
13963             'license:is:grant',
13964             'license:published:by_sam_hocevar',
13965             'type:singleversion:wtfpl',
13966             ],
13967             licenseversion => '1.0',
13968              
13969             'pat.alt.subject.license.scope.sentence' =>
13970             'simple and you just[ ]DO WHAT THE FUCK YOU WANT TO[.]',
13971             };
13972              
13973             $RE{wtfpl_2} = {
13974             name => 'WTFPL-2',
13975             'name.alt.org.tldr' => 'do-wtf-you-want-to-public-license-v2-(wtfpl-2.0)',
13976             'name.alt.org.tldr.path.short' => 'wtfpl',
13977             caption => 'Do What The Fuck You Want To Public License, Version 2',
13978             'caption.alt.legal.license' =>
13979             'DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE, Version 2',
13980             'caption.alt.org.tldr' =>
13981             'Do What The F*ck You Want To Public License v2 (WTFPL-2.0)',
13982             iri => 'http://www.wtfpl.net/',
13983             'iri.alt.misc.old' => 'http://sam.zoy.org/wtfpl/COPYING',
13984             tags => [
13985             'license:is:grant',
13986             'license:published:by_sam_hocevar',
13987             'type:singleversion:wtfpl',
13988             ],
13989             licenseversion => '2.0',
13990              
13991             'pat.alt.subject.license.part.header' =>
13992             'of the Do What The Fuck You Want To Public License',
13993             'pat.alt.subject.license.scope.sentence' =>
13994             '[*)]You just[ ]DO WHAT THE FUCK YOU WANT TO[.]',
13995             };
13996              
13997             =item * wtfnmfpl
13998              
13999             I
14000              
14001             =item * wtfnmfpl_1
14002              
14003             I
14004              
14005             =cut
14006              
14007             $RE{wtfnmfpl} = {
14008             name => 'WTFNMFPL',
14009             'caption.alt.org.tldr' =>
14010             'Do What The Fuck You Want To But It\'s Not My Fault Public License v1 (WTFNMFPL-1.0)',
14011             tags => [
14012             'type:versioned:decimal',
14013             ],
14014             };
14015              
14016             $RE{wtfnmfpl_1} = {
14017             name => 'WTFNMFPL-1.0',
14018             'name.alt.misc.short' => 'WTFNMFPLv1',
14019             caption =>
14020             'Do What The Fuck You Want To But It\'s Not My Fault Public License v1',
14021             'caption.alt.legal.license' =>
14022             'DO WHAT THE FUCK YOU WANT TO BUT IT\'S NOT MY FAULT PUBLIC LICENSE, Version 1',
14023             'caption.alt.org.tldr' =>
14024             'Do What The Fuck You Want To But It\'s Not My Fault Public License v1 (WTFNMFPL-1.0)',
14025             iri =>
14026             'http://www.adversary.org/wp/2013/10/14/do-what-the-fuck-you-want-but-its-not-my-fault/',
14027             'iri.alt.iri.github' => 'https://github.com/adversary-org/wtfnmf',
14028             tags => [
14029             'license:is:grant',
14030             'type:singleversion:wtfnmfpl',
14031             ],
14032             licenseversion => '1.0',
14033              
14034             'pat.alt.subject.license' =>
14035             'Do not hold the author[(]s[)], creator[(]s[)], developer[(]s[)] or distributor[(]s[)]',
14036             };
14037              
14038             =item * x11
14039              
14040             I
14041              
14042             =cut
14043              
14044             $RE{x11} = {
14045             name => 'X11',
14046             'name.alt.org.spdx.since.date_20130117.synth.nogrant' => 'X11',
14047             'name.alt.org.tldr.path.short' => 'x11',
14048             'name.alt.org.wikidata.synth.nogrant' => 'Q18526202',
14049             'caption.alt.misc.mit' => 'MIT/X11',
14050             caption => 'X11 License',
14051             'caption.alt.org.tldr' => 'X11 License',
14052             'caption.alt.org.wikidata' => 'X11 license',
14053             'caption.alt.misc.mit_no_license' => 'MIT X11',
14054             'caption.alt.misc.wayland' => 'the MIT X11 license',
14055             description => <<'END',
14056             Origin: By MIT Laboratory for Computer Science (MIT–LCS) in 1984 for PC/IP.
14057              
14058             Proof:
14059             END
14060             tags => [
14061             'family:mit',
14062             'license:contains:license:mit_new',
14063             'license:is:grant',
14064             'type:unversioned',
14065             ],
14066              
14067             'pat.alt.subject.license.scope.multisection.part.last_half' =>
14068             $P{to_copy_sublicence_conditions}
14069             . '[:][ ]'
14070             . $P{retain_copr_perm_subst}
14071             . '[.][ ]'
14072             . $P{discl_warranties_any_kind_noninfringement} . '[. ]'
14073             . $P{discl_liability_claim}
14074             . '[.][ ]'
14075             . 'Except as contained in this notice, the name of the X Consortium'
14076             . ' shall not be used in advertising',
14077             'pat.alt.subject.license.scope.line.scope.sentence' =>
14078             'Except as contained in this notice, the name of the X Consortium',
14079             };
14080              
14081             =item * xfree86
14082              
14083             I
14084              
14085             =item * xfree86_1_1
14086              
14087             I
14088              
14089             =cut
14090              
14091             $RE{xfree86} = {
14092             name => 'XFree86',
14093             'name.alt.org.wikidata.synth.nogrant' => 'Q100375790',
14094             caption => 'XFree86 License',
14095             tags => [
14096             'type:versioned:decimal',
14097             ],
14098             };
14099              
14100             $RE{xfree86_1_1} = {
14101             name => 'XFree86-1.1',
14102             'name.alt.org.spdx' => 'XFree86-1.1',
14103             caption => 'XFree86 License 1.1',
14104             'caption.alt.org.tldr' => 'XFree86 License 1.1 (XFree86-1.1)',
14105             description => <<'END',
14106             Identical to BSD (4 clause), except...
14107             * replace permissions clause with MIT (Expat) or X11 permissions clause
14108             * extend reproduce-copyright-notices clause to require specific placement
14109             * extend non-endorsement clause to require specific placement
14110             * replace non-endorsement clause with X11 non-endorsement clause
14111             END
14112             tags => [
14113             'family:bsd',
14114             'license:contains:license:bsd_2_clause',
14115             'license:is:grant',
14116             'type:singleversion:xfree86',
14117             ],
14118             licenseversion => '1.1',
14119              
14120             'pat.alt.subject.license.scope.sentence' =>
14121             'in the same place and form as other',
14122             };
14123              
14124             =item * xnet
14125              
14126             I
14127              
14128             =cut
14129              
14130             $RE{xnet} = {
14131             name => 'Xnet',
14132             'name.alt.org.osi' => 'Xnet',
14133             'name.alt.org.osi.iri.stem.until.date_20110430' => 'xnet',
14134             'name.alt.org.spdx' => 'Xnet',
14135             'name.alt.org.wikidata.synth.nogrant' => 'Q38346089',
14136             caption => 'X.Net License',
14137             'caption.alt.org.fedora' => 'X.Net License',
14138             'caption.alt.org.osi' => 'The X.Net, Inc. License',
14139             'caption.alt.org.osi.misc.list' => 'X.Net License',
14140             'caption.alt.org.tldr' => 'X.Net License (Xnet)',
14141             'caption.alt.org.trove' => 'X.Net License',
14142             'caption.alt.org.wikidata' => 'X.Net, Inc. License',
14143             description => <<'END',
14144             Identical to MIT (a.k.a. Expat), except...
14145             * add requirement of governance in the State of California
14146             END
14147             tags => [
14148             'family:mit',
14149             'license:contains:license:mit_new',
14150             'license:is:grant',
14151             'type:unversioned',
14152             ],
14153              
14154             'pat.alt.subject.license' =>
14155             'This agreement shall be governed in all respects',
14156             };
14157              
14158             =item * ypl
14159              
14160             I
14161              
14162             =item * ypl_1
14163              
14164             I
14165              
14166             =item * ypl_1_1
14167              
14168             I
14169              
14170             =cut
14171              
14172             $RE{ypl} = {
14173             name => 'YPL',
14174             'name.alt.org.wikidata.synth.nogrant' => 'Q16948289',
14175             caption => 'Yahoo! Public License',
14176             tags => [
14177             'type:versioned:decimal',
14178             ],
14179             };
14180              
14181             $RE{ypl_1} = {
14182             name => 'YPL-1.0',
14183             'name.alt.org.spdx' => 'YPL-1.0',
14184             caption => 'Yahoo! Public License v1.0',
14185             'caption.alt.org.fedora' => 'Yahoo Public License 1.0',
14186             iri => 'https://www.zimbra.com/license/yahoo_public_license_1.0.html',
14187             tags => [
14188             'type:singleversion:ypl',
14189             ],
14190             licenseversion => '1.0',
14191              
14192             'pat.alt.subject.license.scope.line.scope.sentence.part.section6_2' =>
14193             'In the event Yahoo! determines that',
14194             };
14195              
14196             $RE{ypl_1_1} = {
14197             name => 'YPL-1.1',
14198             'name.alt.org.fedora' => 'YPLv1.1',
14199             'name.alt.org.spdx' => 'YPL-1.1',
14200             caption => 'Yahoo! Public License v1.1',
14201             'caption.alt.org.fedora' => 'Yahoo Public License v 1.1',
14202             'caption.alt.org.tldr' => 'Yahoo! Public License v1.1 (YPL-1.1)',
14203             iri => 'http://www.zimbra.com/license/yahoo_public_license_1.1.html',
14204             tags => [
14205             'type:singleversion:ypl',
14206             ],
14207             licenseversion => '1.1',
14208              
14209             'pat.alt.subject.license.scope.line.scope.sentence.part.section6_2' =>
14210             'In the event You violate the terms of this Agreement, Yahoo!',
14211             };
14212              
14213             =item * zed
14214              
14215             I
14216              
14217             =cut
14218              
14219             $RE{zed} = {
14220             name => 'Zed',
14221             'name.alt.org.fedora' => 'Zed',
14222             'name.alt.org.spdx.since.date_20140807' => 'Zed',
14223             caption => 'Zed License',
14224             'caption.alt.org.tldr' => 'Zed License',
14225             tags => [
14226             'license:is:grant',
14227             'type:unversioned',
14228             ],
14229              
14230             'pat.alt.subject.license.scope.line.scope.sentence' =>
14231             'You may copy and distribute this file freely',
14232             };
14233              
14234             =item * zend
14235              
14236             I
14237              
14238             =item * zend_2
14239              
14240             I
14241              
14242             =cut
14243              
14244             $RE{zend} = {
14245             name => 'ZEL',
14246             'name.alt.org.wikidata.synth.nogrant' => 'Q85269786',
14247             caption => 'Zend Engine License',
14248             'caption.alt.org.wikidata' => 'Zend license',
14249             'caption.alt.misc.short' => 'Zend License',
14250             tags => [
14251             'type:versioned:decimal',
14252             ],
14253             };
14254              
14255             $RE{zend_2} = {
14256             name => 'ZEL-2.00',
14257             'name.alt.misc.fsf' => 'ZELv2.0',
14258             'name.alt.org.fedora.synth.nogrant' => 'Zend',
14259             'name.alt.org.spdx.since.date_20140807' => 'Zend-2.0',
14260             caption => 'Zend License v2.0',
14261             'caption.alt.org.fedora' => 'Zend License v2.0',
14262             'caption.alt.misc.legal' => 'The Zend Engine License, version 2.00',
14263             iri => 'http://www.zend.com/license/2_00.txt',
14264             tags => [
14265             'type:singleversion:zend',
14266             ],
14267             licenseversion => '2.00',
14268              
14269             'pat.alt.subject.license.scope.line.scope.sentence.part.clause4' =>
14270             'Zend Technologies Ltd\. may publish revised and[/]or new',
14271             };
14272              
14273             =item * zimbra
14274              
14275             I
14276              
14277             =item * zimbra_1_3
14278              
14279             I
14280              
14281             =item * zimbra_1_4
14282              
14283             =cut
14284              
14285             $RE{zimbra} = {
14286             name => 'Zimbra',
14287             'name.alt.misc.fsf' => 'ZPL',
14288             caption => 'Zimbra Public License',
14289             tags => [
14290             'type:versioned:decimal',
14291             ],
14292             };
14293              
14294             $RE{zimbra_1_3} = {
14295             name => 'Zimbra-1.3',
14296             'name.alt.org.fsf' => 'ZPLv1.3',
14297             'name.alt.org.spdx' => 'Zimbra-1.3',
14298             caption => 'Zimbra Public License v1.3',
14299             'caption.alt.org.fedora' => 'Zimbra Public License 1.3',
14300             'caption.alt.org.tldr' => 'Zimbra Public License v1.3 (Zimbra-1.3)',
14301             'caption.alt.misc.legal' => 'Zimbra Public License, Version 1.3 (ZPL)',
14302             iri => 'http://www.zimbra.com/license/zimbra-public-license-1-3.html',
14303             tags => [
14304             'type:singleversion:zimbra',
14305             ],
14306             licenseversion => '1.3',
14307              
14308             'pat.alt.subject.license.scope.line.scope.sentence.part.section1_1' =>
14309             'Subject to the terms and conditions of this Agreement, VMware',
14310             };
14311              
14312             $RE{zimbra_1_4} = {
14313             name => 'Zimbra-1.4',
14314             'name.alt.org.spdx.since.date_20150513' => 'Zimbra-1.4',
14315             caption => 'Zimbra Public License v1.4',
14316             'caption.alt.org.tldr.synth.nogrant' => 'zimbra public license',
14317             'caption.alt.misc.legal' => 'Zimbra Public License, Version 1.4 (ZPL)',
14318             iri => 'https://www.zimbra.com/legal/zimbra-public-license-1-4/',
14319             tags => [
14320             'type:singleversion:zimbra',
14321             ],
14322             licenseversion => '1.4',
14323              
14324             'pat.alt.subject.license.scope.line.scope.sentence.part.section1_1' =>
14325             'Subject to the terms and conditions of this Agreement, Zimbra',
14326             };
14327              
14328             =item * zlib
14329              
14330             =cut
14331              
14332             $RE{zlib} = {
14333             name => 'Zlib',
14334             'name.alt.org.fedora' => 'zlib',
14335             'name.alt.org.fsf' => 'Zlib',
14336             'name.alt.org.osi' => 'Zlib',
14337             'name.alt.org.osi.iri.stem.until.date_20110430' => 'zlib-license',
14338             'name.alt.org.perl' => 'zlib',
14339             'name.alt.org.spdx' => 'Zlib',
14340             'name.alt.org.tldr.path.short' => 'zlib',
14341             'name.alt.org.wikidata.synth.nogrant' => 'Q207243',
14342             caption => 'zlib License',
14343             'caption.alt.org.fedora' => 'zlib/libpng License',
14344             'caption.alt.org.osi' => 'The zlib/libpng License',
14345             'caption.alt.org.osi.misc.list' => 'zlib/libpng license',
14346             'caption.alt.org.tldr' => 'Zlib-Libpng License (Zlib)',
14347             'caption.alt.org.trove' => 'zlib/libpng License',
14348             'caption.alt.org.wikipedia.misc.case' => 'zlib license',
14349             iri => 'http://zlib.net/zlib_license.html',
14350             'iri.alt.org.steward' => 'http://www.gzip.org/zlib/zlib_license.html',
14351             tags => [
14352             'family:zlib',
14353             'license:is:grant',
14354             'type:unversioned',
14355             ],
14356              
14357             'pat.alt.subject.license.scope.multisection' =>
14358             $P{origin_sw_no_misrepresent}
14359             . $P{you_not_claim_wrote} . '[. ]'
14360             . $P{use_ack_apprec_not_req}
14361             . '[.][ ]'
14362             . $P{altered_srcver_mark}
14363             . '[.][ ]'
14364             . $P{notice_no_alter},
14365             };
14366              
14367             =item * zlib_acknowledgement
14368              
14369             =cut
14370              
14371             $RE{zlib_acknowledgement} = {
14372             name => 'zlib-acknowledgement',
14373             'name.alt.org.fedora.iri.self' => 'Nunit',
14374             'name.alt.org.spdx.since.date_20140807' => 'zlib-acknowledgement',
14375             'name.alt.org.spdx.misc.old.since.date_20140807.until.date_20171228' =>
14376             'Nunit',
14377             caption => 'zlib/libpng License with Acknowledgement',
14378             'caption.alt.org.fedora' => 'zlib/libpng License with Acknowledgement',
14379             'caption.alt.org.fedora.misc.short' => 'zlib with acknowledgement',
14380             'caption.alt.org.fedora.misc.nunit' => 'Nunit License',
14381             'caption.alt.org.spdx' => 'zlib/libpng License with Acknowledgement',
14382             'caption.alt.org.spdx.misc.old.until.date_20171228' => 'Nunit License',
14383             tags => [
14384             'family:zlib',
14385             'license:is:grant',
14386             'type:unversioned',
14387             ],
14388              
14389             'pat.alt.subject.license.scope.multisection' =>
14390             $P{origin_sw_no_misrepresent}
14391             . $P{you_not_claim_wrote} . '[. ]'
14392             . $P{use_ack_req}
14393             . '[.][ ]Portions Copyright \S+ [-#]+ Charlie Poole '
14394             . 'or Copyright \S+ [-#]+ James W\. Newkirk, Michael C\. Two, Alexei A\. Vorontsov '
14395             . 'or Copyright \S+ [-#]+ Philip A\. Craig[ ]'
14396             . $P{altered_srcver_mark}
14397             . '[.][ ]'
14398             . $P{notice_no_alter},
14399             };
14400              
14401             =item * zpl
14402              
14403             I
14404              
14405             =item * zpl_1
14406              
14407             I
14408              
14409             =item * zpl_1_1
14410              
14411             I
14412              
14413             =item * zpl_2
14414              
14415             I
14416              
14417             =item * zpl_2_1
14418              
14419             I
14420              
14421             =cut
14422              
14423             $RE{zpl} = {
14424             name => 'ZPL',
14425             'name.alt.org.osi.iri.stem.until.date_20110430' => 'zpl',
14426             'name.alt.org.wikidata.synth.nogrant' => 'Q3780982',
14427             'name.alt.misc.fossology_old' => 'Zope',
14428             caption => 'Zope Public License',
14429             'caption.alt.org.trove.synth.nogrant' => 'Zope Public License',
14430             'caption.alt.org.wikipedia' => 'Zope Public License',
14431             tags => [
14432             'type:versioned:decimal',
14433             ],
14434             };
14435              
14436             $RE{zpl_1} = {
14437             name => 'ZPL-1.0',
14438             'name.alt.org.fedora' => 'ZPLv1.0',
14439             'name.alt.org.fsf' => 'ZopePLv1.0',
14440             caption => 'Zope Public License (ZPL) Version 1.0',
14441             'caption.alt.org.fedora' => 'Zope Public License v 1.0',
14442             'caption.alt.misc.plain' => 'Zope Public License 1.0',
14443             'iri.alt.archive.time_20000816090640' =>
14444             'http://www.zope.org/Resources/ZPL',
14445             tags => [
14446             'type:singleversion:zpl',
14447             ],
14448             licenseversion => '1.0',
14449             };
14450              
14451             $RE{zpl_1_1} = {
14452             name => 'ZPL-1.1',
14453             'name.alt.org.spdx' => 'ZPL-1.1',
14454             'name.alt.misc.fossology_old' => 'ZPL1.1',
14455             caption => 'Zope Public License 1.1',
14456             'caption.alt.org.tldr' => 'Zope Public License 1.1 (ZPL-1.1)',
14457             tags => [
14458             'type:singleversion:zpl',
14459             ],
14460             licenseversion => '1.1',
14461             };
14462              
14463             $RE{zpl_2} = {
14464             name => 'ZPL-2.0',
14465             'name.alt.org.fedora' => 'ZPLv2.0',
14466             'name.alt.org.osi' => 'ZPL-2.0',
14467             'name.alt.org.spdx' => 'ZPL-2.0',
14468             'name.alt.org.tldr.path.short' => 'zpl-2.0',
14469             'name.alt.misc.fossology_old' => 'Zope-PL_v2.0',
14470             'name.alt.misc.fossology_old_short' => 'ZPL2.0',
14471             caption => 'Zope Public License 2.0',
14472             'caption.alt.org.fedora' => 'Zope Public License v 2.0',
14473             'caption.alt.org.osi' => 'The Zope Public License Ver.2.0',
14474             'caption.alt.org.osi.misc.list' => 'Zope Public License 2.0',
14475             'caption.alt.org.osi.misc.cat_list' => 'Zope Public License 2.o',
14476             'caption.alt.org.tldr' => 'Zope Public License 2.0 (ZPL-2.0)',
14477             iri => 'http://old.zope.org/Resources/License/ZPL-1.1',
14478             tags => [
14479             'family:bsd',
14480             'license:contains:license:bsd_3_clause',
14481             'license:is:grant',
14482             'type:singleversion:zpl',
14483             ],
14484             licenseversion => '2.0',
14485              
14486             'pat.alt.subject.license.scope.multisection.part.part2_3' =>
14487             $P{repro_copr_cond_discl}
14488             . '[.][ ]' . '[*)]'
14489             . 'The name Zope Corporation[tm] must not '
14490             . $P{used_endorse_deriv}
14491             . $P{without_prior_written},
14492             'pat.alt.subject.license.scope.sentence.part.part3' =>
14493             'The name Zope Corporation[tm] must not be used to endorse',
14494             };
14495              
14496             $RE{zpl_2_1} = {
14497             name => 'ZPL-2.1',
14498             'name.alt.org.fedora' => 'ZPLv2.1',
14499             'name.alt.org.fsf' => 'ZPL-2.1',
14500             'name.alt.org.spdx' => 'ZPL-2.1',
14501             'name.alt.misc.fossology_old' => 'ZPL2.1',
14502             caption => 'Zope Public License 2.1',
14503             'caption.alt.org.fedora' => 'Zope Public License v 2.1',
14504             'caption.alt.org.fsf' => 'Zope Public License Version 2.1',
14505             'caption.alt.org.tldr' => 'Zope Public License 2.1 (ZPL-2.1)',
14506             iri => 'http://old.zope.org/Resources/ZPL/',
14507             description => <<'END',
14508             Identical to BSD 3-Clause Modification, except...
14509             * add no-ServiceMarks clause
14510             END
14511             tags => [
14512             'family:bsd',
14513             'license:is:grant',
14514             'type:singleversion:zpl',
14515             ],
14516             licenseversion => '2.1',
14517              
14518             'pat.alt.subject.license.scope.multisection.part.part2_3' =>
14519             $P{nopromo_neither}
14520             . ' from the copyright holders'
14521             . '[.][ ]' . '[*)]'
14522             . 'The right to distribute this software or to use it for any purpose'
14523             . ' does not give you the right to use Servicemarks',
14524             };
14525              
14526             =back
14527              
14528             =head2 License combinations
14529              
14530             Patterns each covering a combination of multiple licenses.
14531              
14532             Each of these patterns has the tag B< type:combo >.
14533              
14534             =over
14535              
14536             =item * net_snmp
14537              
14538             I
14539              
14540             =cut
14541              
14542             $RE{net_snmp} = {
14543             name => 'Net-SNMP',
14544             'name.alt.org.spdx.since.date_20170106' => 'Net-SNMP',
14545             caption => 'Net-SNMP License',
14546             tags => [
14547             'license:contains:license:bsd_3_clause',
14548             'license:contains:license:hpnd',
14549             'license:contains:license:mit_cmu',
14550             'type:combo',
14551             ],
14552             };
14553              
14554             =item * perl
14555              
14556             =cut
14557              
14558             $RE{perl} = {
14559             name => 'Perl',
14560             'name.alt.org.perl' => 'perl_5',
14561             'name.alt.misc.spdx' => 'Artistic or GPL-1+',
14562             caption => 'The Perl 5 License',
14563             'caption.alt.org.fedora' => 'Perl License',
14564             'caption.alt.misc.short' => 'Perl License',
14565             'caption.alt.misc.long' => 'The Perl 5 programming language License',
14566             'caption.alt.org.perl' =>
14567             'The Perl 5 License (Artistic 1 & GPL 1 or later)',
14568             summary =>
14569             'the same terms as the Perl 5 programming language itself (Artistic or GPL)',
14570             'summary.alt.misc.short' => 'same terms as Perl',
14571             'summary.alt.misc.software_license' =>
14572             'same terms as the Perl 5 programming language system itself',
14573             tags => [
14574             'license:includes:license:artistic_1_perl',
14575             'license:includes:license:gpl_1_or_newer',
14576             'type:combo',
14577             ],
14578              
14579             'pat.alt.subject.name.misc.summary' =>
14580             "$the?same terms as $the?Perl(?: 5)?(?: programming language)? itself(?: [(]Artistic or GPL[)])?",
14581             'pat.alt.subject.license.scope.multisection.part.license' =>
14582             '(?:under the terms of either[:][ ])?'
14583             . '[*)]the GNU General Public License '
14584             . 'as published by the Free Software Foundation[;] '
14585             . 'either version 1, or [(]at your option[)] any later version, '
14586             . 'or[ ]'
14587             . '[*)]the ["]Artistic License["]',
14588             };
14589              
14590             =item * python_2
14591              
14592             I
14593              
14594             =cut
14595              
14596             # license scheme is combo, despite versioned name
14597             $RE{python_2} = {
14598             name => 'Python-2.0',
14599             'name.alt.org.fedora' => 'Python',
14600             'name.alt.org.osi' => 'Python-2.0',
14601             'name.alt.org.osi.iri.stem.until.date_20110430.synth.nogrant' =>
14602             'PythonSoftFoundation',
14603             'name.alt.org.spdx' => 'Python-2.0',
14604             'name.alt.org.tldr.path.short' => 'python2',
14605             'name.alt.misc.fossology_old' => 'Python_v2',
14606             'name.alt.org.wikidata' => 'Q5975028',
14607             caption => 'Python License 2.0',
14608             'caption.alt.org.fedora' => 'Python License',
14609             'caption.alt.org.osi' => 'Python License',
14610             'caption.alt.org.tldr' => 'Python License 2.0',
14611             'caption.alt.org.trove' => 'Python License (CNRI Python License)',
14612             'caption.alt.org.trove.misc.short' => 'CNRI Python License',
14613             'summary.alt.org.osi' => 'overall Python license',
14614             iri => 'https://docs.python.org/3/license.html',
14615             'iri.alt.misc.old' => 'https://www.python.org/psf/license/',
14616             tags => [
14617             'license:contains:license:cnri_python',
14618             'license:contains:license:psf_2',
14619             'type:combo',
14620             ],
14621             licenseversion => '2.0',
14622              
14623             'pat.alt.subject.license.scope.multisection' =>
14624             '[*)]This LICENSE AGREEMENT is between '
14625             . 'the Python Software Foundation [(]["]PSF["][)], '
14626             . 'and the Individual or Organization [(]["]Licensee["][)] '
14627             . 'accessing and otherwise using [word][ word]{0,3} '
14628             . 'in source or binary form and its associated documentation'
14629             . '[.][ ]'
14630             . '[*)]Subject to the terms and conditions of this License Agreement, '
14631             . 'PSF hereby grants Licensee a nonexclusive, royalty-free, world-wide license '
14632             . 'to reproduce, analyze, test, perform and[/]or display publicly, '
14633             . 'prepare derivative works, distribute, and otherwise use Python[ word]? '
14634             . 'alone or in any derivative version, '
14635             . 'provided, however, '
14636             . 'that PSF[\']s License Agreement and PSF[\']s notice of copyright, '
14637             . '[ie], ["]Copyright [c] [word][ word]{0,5} Python Software Foundation[;] All Rights Reserved["] '
14638             . 'are retained in Python[ word]? alone or in any derivative version prepared by Licensee'
14639             . '[.][ ]'
14640             . '[*)]In the event Licensee prepares a derivative work '
14641             . 'that is based on or incorporates [word][ word]{0,3} or any part thereof, '
14642             . 'and wants to make the derivative work available to others as provided herein, '
14643             . 'then Licensee hereby agrees to include in any such work '
14644             . 'a brief summary of the changes made to Python[ word]?'
14645             . '[.][ ]'
14646             . '[*)]PSF is making Python[ word]? available to Licensee on an [as is] basis'
14647             . '[.][ ]'
14648             . 'PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED'
14649             . '[.][ ]'
14650             . 'BY WAY OF EXAMPLE, BUT NOT LIMITATION, '
14651             . 'PSF MAKES NO AND DISCLAIMS ANY REPRESENTATION OR WARRANTY '
14652             . 'OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE '
14653             . 'OR THAT THE USE OF PYTHON[ word]? WILL NOT INFRINGE ANY THIRD PARTY RIGHTS'
14654             . '[.][ ]'
14655             . '[*)]PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON[ word]? '
14656             . 'FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS '
14657             . 'AS A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING '
14658             . 'PYTHON[ word]?, OR ANY DERIVATIVE THEREOF, '
14659             . 'EVEN IF ADVISED OF THE POSSIBILITY THEREOF'
14660             . '[.][ ]'
14661             . '[*)]This License Agreement will automatically terminate '
14662             . 'upon a material breach of its terms and conditions'
14663             . '[.][ ]'
14664             . '[*)]Nothing in this License Agreement shall be deemed to create '
14665             . 'any relationship of agency, partnership, or joint venture between PSF and Licensee'
14666             . '[.][ ]'
14667             . 'This License Agreement does not grant permission '
14668             . 'to use PSF trademarks or trade name in a trademark sense '
14669             . 'to endorse or promote products or services of Licensee, or any third party'
14670             . '[.][ ]'
14671             . '[*)]By copying, installing or otherwise using Python[ word]?, '
14672             . 'Licensee agrees to be bound by the terms and conditions of this License Agreement'
14673             . '[.][ ]'
14674             . 'BEOPEN\.COM LICENSE AGREEMENT FOR PYTHON 2\.0'
14675             . '([ ][-]+)?[ ]?'
14676             . 'BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1' . '[ ]'
14677             . '[*)]This LICENSE AGREEMENT is between BeOpen\.com [(]["]BeOpen["][)], '
14678             . 'having an office at 160 Saratoga Avenue, Santa Clara, CA 95051, '
14679             . 'and the Individual or Organization [(]["]Licensee["][)] '
14680             . 'accessing and otherwise using '
14681             . 'this software in source or binary form and its associated documentation [(]["]the Software["][)]'
14682             . '[.][ ]'
14683             . '[*)]Subject to the terms and conditions of this BeOpen Python License Agreement, '
14684             . 'BeOpen hereby grants Licensee a non-exclusive, royalty-free, world-wide license '
14685             . 'to reproduce, analyze, test, perform and[/]or display publicly, '
14686             . 'prepare derivative works, distribute, and otherwise use the Software '
14687             . 'alone or in any derivative version, '
14688             . 'provided, however, that the BeOpen Python License is retained in the Software, '
14689             . 'alone or in any derivative version prepared by Licensee'
14690             . '[.][ ]'
14691             . '[*)]BeOpen is making the Software available to Licensee on an [as is] basis'
14692             . '[.][ ]'
14693             . 'BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED'
14694             . '[.][ ]'
14695             . 'BY WAY OF EXAMPLE, BUT NOT LIMITATION, '
14696             . 'BEOPEN MAKES NO AND DISCLAIMS ANY REPRESENTATION OR WARRANTY '
14697             . 'OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE '
14698             . 'OR THAT THE USE OF THE SOFTWARE WILL NOT INFRINGE ANY THIRD PARTY RIGHTS'
14699             . '[.][ ]'
14700             . '[*)]BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE SOFTWARE '
14701             . 'FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS '
14702             . 'AS A RESULT OF USING, MODIFYING OR DISTRIBUTING '
14703             . 'THE SOFTWARE, OR ANY DERIVATIVE THEREOF, '
14704             . 'EVEN IF ADVISED OF THE POSSIBILITY THEREOF'
14705             . '[.][ ]'
14706             . '[*)]This License Agreement will automatically terminate '
14707             . 'upon a material breach of its terms and conditions'
14708             . '[.][ ]'
14709             . '[*)]This License Agreement shall be governed by and interpreted in all respects '
14710             . 'by the law of the State of California, excluding conflict of law provisions'
14711             . '[.][ ]'
14712             . 'Nothing in this License Agreement shall be deemed to create '
14713             . 'any relationship of agency, partnership, or joint venture between BeOpen and Licensee'
14714             . '[.][ ]'
14715             . 'This License Agreement does not grant permission '
14716             . 'to use BeOpen trademarks or trade names in a trademark sense '
14717             . 'to endorse or promote products or services of Licensee, or any third party'
14718             . '[.][ ]'
14719             . 'As an exception, the ["]BeOpen Python["] logos '
14720             . 'available at [http://]www.pythonlabs\.com[/]logos\.html '
14721             . 'may be used according to the permissions granted on that web page'
14722             . '[.][ ]'
14723             . '[*)]By copying, installing or otherwise using the software, '
14724             . 'Licensee agrees to be bound by the terms and conditions of this License Agreement'
14725             . '[.][ ]'
14726             . 'CNRI OPEN SOURCE LICENSE AGREEMENT [(]for Python 1\.6b1[)]'
14727             . '([ ][-]+)?[ ]?'
14728             . 'IMPORTANT[:] PLEASE READ THE FOLLOWING AGREEMENT CAREFULLY'
14729             . '[.][ ]'
14730             . 'BY CLICKING ON ["]ACCEPT["] WHERE INDICATED BELOW, '
14731             . 'OR BY COPYING, INSTALLING OR OTHERWISE USING PYTHON 1\.6, beta 1 SOFTWARE, '
14732             . 'YOU ARE DEEMED TO HAVE AGREED TO THE TERMS AND CONDITIONS OF THIS LICENSE AGREEMENT'
14733             . '[.][ ]'
14734             . '[*)]This LICENSE AGREEMENT is between the Corporation for National Research Initiatives, '
14735             . 'having an office at 1895 Preston White Drive, Reston, VA 20191 [(]["]CNRI["][)], '
14736             . 'and the Individual or Organization [(]["]Licensee["][)] '
14737             . 'accessing and otherwise using Python 1\.6, beta 1 software '
14738             . 'in source or binary form and its associated documentation, '
14739             . 'as released at the www\.python\.org Internet site on August 4, 2000 [(]["]Python 1\.6b1["][)]'
14740             . '[.][ ]'
14741             . '[*)]Subject to the terms and conditions of this License Agreement, '
14742             . 'CNRI hereby grants Licensee a non-exclusive, royalty-free, world-wide license '
14743             . 'to reproduce, analyze, test, perform and[/]or display publicly, '
14744             . 'prepare derivative works, distribute, and otherwise use Python 1\.6b1 '
14745             . 'alone or in any derivative version, '
14746             . 'provided, however, that CNRIs License Agreement is retained in Python 1\.6b1, '
14747             . 'alone or in any derivative version prepared by Licensee'
14748             . '[.][ ]'
14749             . 'Alternately, in lieu of CNRIs License Agreement, '
14750             . 'Licensee may substitute the following text [(]omitting the quotes[)][:] '
14751             . '["]Python 1\.6, beta 1, is made available '
14752             . 'subject to the terms and conditions in CNRIs License Agreement'
14753             . '[.][ ]'
14754             . 'This Agreement may be located on the Internet '
14755             . 'using the following unique, persistent identifier [(]known as a handle[)][:] 1895\.22[/]1011'
14756             . '[.][ ]'
14757             . 'This Agreement may also be obtained from a proxy server on the Internet '
14758             . 'using the URL[:][http://]hdl\.handle\.net[/]1895\.22[/]1011["]'
14759             . '[.][ ]'
14760             . '[*)]In the event Licensee prepares a derivative work '
14761             . 'that is based on or incorporates Python 1\.6b1 or any part thereof, '
14762             . 'and wants to make the derivative work available to the public as provided herein, '
14763             . 'then Licensee hereby agrees to indicate in any such work '
14764             . 'the nature of the modifications made to Python 1\.6b1'
14765             . '[.][ ]'
14766             . '[*)]CNRI is making Python 1.6b1 available to Licensee on an [as is] basis',
14767             };
14768              
14769             =back
14770              
14771             =head2 License groups
14772              
14773             Patterns each covering either of multiple licenses.
14774              
14775             Each of these patterns has the tag B< type:group >.
14776              
14777             =over
14778              
14779             =item * bsd
14780              
14781             =cut
14782              
14783             $RE{bsd} = {
14784             name => 'BSD',
14785             'name.alt.org.debian' => 'BSD~unspecified',
14786             'name.alt.org.fedora.iri.self' => 'BSD',
14787             'name.alt.org.osi.iri.stem.until.date_20110430' => 'bsd-license',
14788             'name.alt.org.wikidata.synth.nogrant' => 'Q191307',
14789             'name.alt.misc.style' => 'BSD-style',
14790             caption => 'BSD license',
14791             'caption.alt.org.debian' => 'BSD (unspecified)',
14792             'caption.alt.org.trove' => 'BSD License',
14793             'caption.alt.org.wikidata' => 'BSD licenses',
14794             'caption.alt.org.wikipedia' => 'BSD licenses',
14795             'caption.alt.misc.long' => 'Berkeley Software Distribution License',
14796             summary => 'a BSD-style license',
14797             tags => [
14798             'type:group',
14799             ],
14800              
14801             'pat.alt.subject.license.scope.multisection' => $P{repro_copr_cond_discl}
14802             . '(?:[.][ ](?:[*)]?'
14803             . $P{ad_mat_ack_this}
14804             . '[word][ word]{0,14}'
14805             . '[.][ ])?[*)]?'
14806             . $P{nopromo_neither} . ')?',
14807             };
14808              
14809             =item * cc
14810              
14811             I
14812              
14813             =cut
14814              
14815             $RE{cc} = {
14816             name => 'CC',
14817             'name.alt.org.debian' => 'CC~unspecified',
14818             'name.alt.org.wikidata.synth.nogrant' => 'Q284742',
14819             caption => 'Creative Commons license',
14820             'caption.alt.org.wikidata' => 'Creative Commons license',
14821             'caption.alt.org.wikipedia' => 'Creative Commons license',
14822             'caption.alt.misc.short' => 'CC license',
14823             'summary.alt.misc.short' => 'a CC license',
14824             tags => [
14825             'group',
14826             'type:group',
14827             ],
14828             };
14829              
14830             =item * gnu
14831              
14832             =cut
14833              
14834             $RE{gnu} = {
14835             name => 'AGPL/GPL/LGPL',
14836             'name.alt.org.debian' => 'GNU~unspecified',
14837             caption => 'GNU license',
14838             summary => 'a GNU license (AGPL or GPL or LGPL)',
14839             tags => [
14840             'type:group',
14841             ],
14842              
14843             '_pat.alt.subject.name' => [
14844             $RE{agpl}{'_pat.alt.subject.name'},
14845             $RE{gpl}{'_pat.alt.subject.name'},
14846             $RE{lgpl}{'_pat.alt.subject.name'},
14847             ],
14848             };
14849              
14850             =item * mit
14851              
14852             =cut
14853              
14854             $RE{mit} = {
14855             name => 'MIT',
14856             'name.alt.org.debian' => 'MIT~unspecified',
14857             'name.alt.org.fedora.iri.self' => 'MIT',
14858             'name.alt.org.wikidata.synth.nogrant' => 'Q334661',
14859             'name.alt.misc.style' => 'MIT-style',
14860             caption => 'MIT license',
14861             'caption.alt.org.trove' => 'MIT License',
14862             'caption.alt.org.wikidata' => 'MIT license',
14863             'caption.alt.org.wikipedia' => 'MIT License',
14864             'iri.alt.org.wikipedia' => 'https://en.wikipedia.org/wiki/MIT_License',
14865             summary => 'an MIT-style license',
14866             tags => [
14867             'type:group',
14868             ],
14869              
14870             'pat.alt.subject.name' => "${the}MIT\\b",
14871             'pat.alt.subject.license.scope.sentence' => $P{retain_copr_perm_subst},
14872             };
14873              
14874             =back
14875              
14876             =head1 STRUCTURE
14877              
14878             The regexp patterns follows the L specification,
14879             and more specifically the structure of L,
14880             defining access to one pattern per DefHash object, as C.
14881              
14882             Additionally, (sub)patterns are available in plaintext form, as C.
14883              
14884             =head2 SUBJECT
14885              
14886             Each pattern targets one or more subjects,
14887             i.e. ways to directly or indirectly represent a license.
14888              
14889             Beware that not all pattern objects fully cover all subjects.
14890              
14891             =over
14892              
14893             =item trait
14894              
14895             Distinguishing trait or feature expressed in licensing strings,
14896             e.g. an advertising clause or granting "...or any later version."
14897              
14898             Coverage for this subject is currently rather weak.
14899              
14900             =item name
14901              
14902             Distinguishing name, e.g. usable in license grant.
14903              
14904             =item grant
14905              
14906             Text granting the license.
14907              
14908             =item license
14909              
14910             Text containing licensing terms.
14911              
14912             Texts containing both license grant and licensing terms
14913             (e.g. BSD- and MIT-style licensing)
14914             may be classified as either subject L or subject L.
14915             This may change, as needs for distinction is better understood.
14916              
14917             =back
14918              
14919             =head2 SCOPE
14920              
14921             Each pattern can process material within some scope,
14922             i.e. a certain sample size of the full subject.
14923              
14924             As an example, L use line-based processing,
14925             where patterns spanning multiple lines are not applicable.
14926              
14927             =over
14928              
14929             =item line
14930              
14931             Pattern typically found within a single line.
14932             Typically this means less than 70 characters within scope.
14933              
14934             =item sentence
14935              
14936             Pattern matching within a sentence.
14937              
14938             May span multiple lines, but not across multiple sentences.
14939             Typically this means no full-stop or colon within scope.
14940              
14941             =item paragraph
14942              
14943             Pattern matching distinguishing paragraph.
14944              
14945             May span multiple sentences, but not multiple paragraphs.
14946             Typically this means no newline within scope.
14947              
14948             =item section
14949              
14950             Pattern matching distinguishing section.
14951              
14952             May span multiple paragraphs, but not multiple sections.
14953             Typically this means blank line within scope.
14954              
14955             =item multisection
14956              
14957             Pattern may span multiple sections.
14958              
14959             =back
14960              
14961             =cut
14962              
14963             my @gnu_langs
14964             = qw(en ar ca de el es fr it ja nl pl pt_BR ru sq sr zh_CN zh_TW);
14965              
14966             # must be simple word (no underscore), to survive getting joined in cache
14967             # more ideal first: first available is default
14968             my @_SUBJECTSTACK = qw(license grant name iri trait);
14969              
14970             my @_OBJECTS;
14971             my %_PUBLISHER;
14972             my %_TYPE;
14973             my %_SERIES;
14974             my %_USAGE;
14975              
14976             for (
14977             qw(license_label_spdx license_label_trove license_label licensed_under version_only version_later)
14978             )
14979             {
14980             $_ANNOTATIONS{"(:$_:)"} = $RE{$_}{'pat.alt.subject.trait'};
14981             $_ANNOTATIONS{"(:$_:)"} =~ s/\[.+?\]/
14982             exists $_ANNOTATIONS{$&} ? $_ANNOTATIONS{$&} : $&/ego;
14983             }
14984             $_ANNOTATIONS{"(:version_number_suffix:)"} = $P{version_number_suffix};
14985             $_ANNOTATIONS{"(:version_prefix:)"}
14986             = $RE{version_prefix}{'pat.alt.subject.trait.scope.line.scope.sentence'};
14987             $_ANNOTATIONS{"(:version_prefix:)"} =~ s/\[.+?\]/
14988             exists $_ANNOTATIONS{$&} ? $_ANNOTATIONS{$&} : $&/ego;
14989              
14990             my $tag_license_re = qr/^license:published:\K$_prop(?::|\z)/;
14991             my $tag_type_re = qr/^type:($_prop)(?::($_prop)(?::($_prop))?)?/;
14992             my $tag_type_usage_re = qr/^type:usage:\K$_prop/;
14993              
14994             my $prop_web_re
14995             = qr/^(name|caption|summary)\.(alt\.org\.($_prop)((?:\.iri\.($_prop))?$_any*?))(?:\.synth\.nogrant|)$/;
14996              
14997             my $pat_subject_re = qr/^_?pat\.alt\.subject\.\K$_prop(?=\.)/;
14998              
14999             my $gen_args_capture = {
15000             summary => 'include capturing parantheses, named or numbered',
15001             schema => [ 'str*', in => [qw(named numbered no)] ],
15002             default => 'no',
15003             req => 1,
15004             };
15005              
15006             my $gen_args_engine = {
15007             summary =>
15008             'Enable custom regexp engine (perl module re::engine::* or pseudo or none)',
15009             schema => ['str*'],
15010             };
15011              
15012             # process metadata tags
15013             @_ = ();
15014             for my $id ( grep {/^[a-z]/} keys %RE ) {
15015             for ( @{ $RE{$id}{tags} } ) {
15016              
15017             # resolve publisher
15018             if (/$tag_license_re/) {
15019             $_PUBLISHER{$id} = $&;
15020             }
15021              
15022             # resolve series
15023             /$tag_type_re/
15024             or next;
15025             $_TYPE{$id} = $1;
15026             if ( $2 and $1 eq 'singleversion' ) {
15027             push @_OBJECTS, $id;
15028             push @{ $_SERIES{$id} }, $2;
15029             }
15030             else {
15031             push @_, $id;
15032             }
15033              
15034             # resolve usage
15035             if ( $2 and $RE{$2} and $1 eq 'usage' ) {
15036             $RE{$id}{licenseversion} = $RE{$2}{licenseversion}
15037             or die "missing version for $id (needed by $1)";
15038             $_USAGE{$id}{series} //= $2;
15039             if ( $_USAGE{$id}{series} ne $2 ) {
15040             die 'multi-origin usage for $id';
15041             }
15042             $_USAGE{$id}{type} = $3;
15043             die "unsupported usage for $id ($_)"
15044             unless ( grep { $3 eq $_ }
15045             qw( only or_later rfn no_rfn no_copyleft_exception ) );
15046             }
15047             }
15048             }
15049              
15050             # ensure versioned objects are processed after single-version objects
15051             push @_OBJECTS, @_;
15052              
15053             for my $id (@_OBJECTS) {
15054              
15055             # resolve publisher
15056             for ( @{ $RE{$id}{tags} } ) {
15057             if (/$tag_type_usage_re/) {
15058             if ( exists $_PUBLISHER{$&} ) {
15059             $_PUBLISHER{$id} = $_PUBLISHER{$&};
15060             $_ANNOTATIONS{"(:$_PUBLISHER{$&}:)"}
15061             = $RE{ $_PUBLISHER{$&} }{'pat.alt.subject.trait'};
15062             $_ANNOTATIONS{"(:$_PUBLISHER{$&}:)"} =~ s/\[.+?\]/
15063             exists $_ANNOTATIONS{$&} ? $_ANNOTATIONS{$&} : $&/ego;
15064             }
15065             }
15066             }
15067              
15068             # synthesize metadata: iri from name or caption
15069             for ( keys %{ $RE{$id} } ) {
15070             my ( $prop, $slug, $org, $trail, $web ) = (/$prop_web_re/)
15071             or next;
15072             next unless $org;
15073             next
15074             if $prop eq 'caption'
15075             and ( exists $RE{$id}{"name.$slug"}
15076             or exists $RE{$id}{"name.$slug.synth.nogrant"} );
15077              
15078             my ( $base, @variants );
15079             $_ = $RE{$id}{$_};
15080             if ( $org eq 'fedora' ) {
15081             next unless $web;
15082             $base = 'https://fedoraproject.org/wiki/Licensing/';
15083             if ( $web eq 'bsd' ) {
15084             $base .= 'BSD#';
15085             }
15086             elsif ( substr( $web, 0, 4 ) eq 'cddl' ) {
15087             $base .= 'CDDL#';
15088             }
15089             elsif ( substr( $web, 0, 3 ) eq 'mit' ) {
15090             $base .= 'MIT#';
15091             }
15092             s/^(?:BSD|MIT)-style license, //go;
15093             tr/ /_/;
15094             s/\(/.28/go;
15095             s/\)/.29/go;
15096             }
15097             elsif ( $slug and $slug eq 'alt.org.tldr.path.short' ) {
15098             $base = 'https://tldrlegal.com/l/';
15099             $_ = lc $_;
15100             tr/ /-/;
15101             }
15102             elsif ( $slug and $slug eq 'alt.org.tldr' ) {
15103             $base = 'https://tldrlegal.com/license/';
15104             $_ = lc $_;
15105             tr/ /-/;
15106             }
15107             elsif ( $org eq 'wikipedia' ) {
15108             $base = 'https://en.wikipedia.org/wiki/';
15109             tr/ /_/;
15110             s/"/%22/go; #"
15111             }
15112             elsif ( $prop eq 'caption' ) {
15113             next;
15114             }
15115             elsif ( $org eq 'fsf' ) {
15116             $base = 'https://directory.fsf.org/wiki?title=License:';
15117             }
15118             elsif ( $org eq 'gnu' ) {
15119             push @variants, [
15120             "iri.$slug",
15121             'https://www.gnu.org/licenses/license-list.html#',
15122             $_,
15123             '',
15124             ];
15125             for my $lang (@gnu_langs) {
15126             ( my $weblang = lc $lang ) =~ tr/_/-/;
15127             push @variants, [
15128             "iri.$slug.lang.$lang",
15129             "https://www.gnu.org/licenses/license-list.$weblang.html#",
15130             $_,
15131             '',
15132             ];
15133             }
15134             }
15135             elsif ( $org eq 'osi' ) {
15136             next unless $prop eq 'name';
15137             $base = 'https://opensource.org/licenses/';
15138             if ( $web and substr( $web, 0, 4 ) eq 'stem' ) {
15139             for my $ext (qw(html php)) {
15140             push @variants, [
15141             "iri.$slug.format.$ext",
15142             'https://opensource.org/licenses/',
15143             $_,
15144             ".$ext",
15145             ];
15146             }
15147             if ( $web eq 'stem_only' ) {
15148             $base = undef;
15149             }
15150             }
15151             elsif ( $web and $web eq 'stem_plain' ) {
15152             for my $ext (qw(txt html php)) {
15153             push @variants, [
15154             "iri.$slug.format.$ext",
15155             'https://opensource.org/licenses/',
15156             $_,
15157             ".$ext",
15158             ];
15159             }
15160             }
15161             }
15162             elsif ( $org eq 'spdx' ) {
15163             push @variants, [
15164             "iri.$slug",
15165             'https://spdx.org/licenses/',
15166             $_,
15167             '',
15168             ];
15169             for my $ext (qw(txt html json)) {
15170             push @variants, [
15171             "iri.$slug.format.$ext",
15172             'https://spdx.org/licenses/',
15173             $_,
15174             ".$ext",
15175             ];
15176             }
15177             }
15178             elsif ( $org eq 'wikidata' ) {
15179             push @variants, [
15180             "iri.$slug",
15181             'https://www.wikidata.org/wiki/Special:EntityPage/',
15182             $_,
15183             '',
15184             ];
15185             push @variants, [
15186             "iri.$slug.path.wiki",
15187             'https://www.wikidata.org/wiki/',
15188             $_,
15189             ''
15190             ];
15191             }
15192             $RE{$id}{"iri.$slug"} //= "$base$_"
15193             if defined $base;
15194             for (@variants) {
15195             $RE{$id}{ $$_[0] } //= $$_[1] . $$_[2] . $$_[3];
15196             }
15197             }
15198              
15199             # synthesize patterns: iri from metadata iri
15200             unless ( $RE{$id}{'pat.alt.subject.iri'} ) {
15201             my @subpat;
15202             for (
15203             sort { length($b) <=> length($a) || $a cmp $b }
15204             grep {/^iri(?:[.(]|\z)/} keys %{ $RE{$id} }
15205             )
15206             {
15207             my $val = $RE{$id}{$_};
15208              
15209             $val =~ s/\./\\./g;
15210             $val =~ s/[+()]/[$&]/g;
15211             $val =~ s/-/[-]/g;
15212             $val =~ s!^https?://![http://]!;
15213             $val =~ s!/$!/?!;
15214             push @subpat, $val;
15215             }
15216             _join_pats( { assign => [ $id, 'pat.alt.subject.iri' ] }, @subpat );
15217             }
15218              
15219             # synthesize patterns: name and caption from metadata name and caption
15220             unless ( $_TYPE{$id} eq 'trait' ) {
15221             my (%singleword_pat, %multiword_pat, %name_pat, %spdx_pat,
15222             %trove_pat
15223             );
15224              
15225             my $published_by = '';
15226             $published_by = '(?: (:' . $_PUBLISHER{$id} . ':)(?: ?[;]?|[\']s))?'
15227             if $_PUBLISHER{$id}
15228             and $RE{ $_PUBLISHER{$id} }
15229             and $RE{ $_PUBLISHER{$id} }{'pat.alt.subject.trait'};
15230              
15231             my ( $is_only_this_version, $is_also_later_versions );
15232             my @candidates = ($id);
15233             if ( $_USAGE{$id} ) {
15234             $is_only_this_version = ( $_USAGE{$id}{type} eq 'only' );
15235             $is_also_later_versions = ( $_USAGE{$id}{type} eq 'or_later' );
15236             push @candidates,
15237             $_USAGE{$id}{series},
15238             @{ $_SERIES{ $_USAGE{$id}{series} } };
15239             }
15240             elsif ( $_SERIES{$id} ) {
15241             push @candidates, @{ $_SERIES{$id} };
15242             }
15243              
15244             my $version = '';
15245             my $version_usage = '';
15246             my $version_usage_maybe = '';
15247             my ( $ver, $ver_re, $ver_z_re );
15248             if ( $_ = $RE{$id}{licenseversion} ) {
15249             s/\./\\./g;
15250             s/\\\.0\\\.0$/(?:\\.0(?:\\.0)?)?/;
15251             s/\\\.0$/(?:\\.0)?/;
15252             s/\\\.\K0{0,2}0/0{1,3}/g;
15253             s/\\\.\K0{0,2}(?=[1-9])/0{0,2}/g;
15254             $version = '(:version_prefix:)' . $_;
15255             if ($is_only_this_version) {
15256             $version_usage = '(:version_only:)';
15257             }
15258             elsif ($is_also_later_versions) {
15259             $version_usage = '(:version_later:)';
15260             }
15261             $version_usage_maybe = $version_usage . '?'
15262             if $version_usage;
15263             $ver = '_?' . $version . $version_usage_maybe;
15264             $ver =~ s/(?:\[|\(:)[^\]]+?(?:\]|:\))/
15265             exists $_ANNOTATIONS{$&} ? $_ANNOTATIONS{$&} : $&/ego;
15266             $ver_re = qr/$ver/;
15267             $ver_z_re = qr/$ver$/;
15268             }
15269              
15270             my $version_stopgap = '(?:[^+.A-Za-z0-9]|\.[^0-9]|\.\z|\z)';
15271              
15272             foreach my $candidate (@candidates) {
15273             for ( keys %{ $RE{$candidate} } ) {
15274             next unless /^name(?:\.|\z)/;
15275             next if /\.synth\.nogrant(?:\.|\z)/;
15276              
15277             my $val = $RE{$candidate}{$_};
15278              
15279             next if $val =~ /-\(/;
15280              
15281             $val =~ s/$ver_re// if $version;
15282              
15283             # mangle and annotate metadata names
15284             $val =~ s/\./\\./g;
15285             $val =~ s/[+]/[$&]/g;
15286              
15287             $singleword_pat{$val} = undef;
15288             }
15289             }
15290             my $shortname = _join_pats(
15291             { prefix => "(?: ?[(](?:$the)?" . '["]?',
15292             suffix => "(?:$version)?" . '(?: [Ll]icen[cs]e)?["]?[)])?'
15293             },
15294             sort { length($b) <=> length($a) || $a cmp $b }
15295             keys %singleword_pat
15296             );
15297             my $shortname_z_re = $shortname;
15298             $shortname_z_re =~ s/(?:\[|\(:)[^\]]+?(?:\]|:\))/
15299             exists $_ANNOTATIONS{$&} ? $_ANNOTATIONS{$&} : $&/ego;
15300             $shortname_z_re = qr/$shortname_z_re$/;
15301              
15302             my $suffix = $shortname . $published_by;
15303              
15304             for ( keys %{ $RE{$id} } ) {
15305              
15306             if (/^caption\.alt\.org\.trove(?:\.|\z)/) {
15307             my $trove_val = $RE{$id}{$_};
15308              
15309             # mangle and annotate trove metadata
15310             $trove_val =~ s/\./\\./g;
15311             $trove_val =~ s/[-+()]/[$&]/g;
15312              
15313             $trove_val .= $version_stopgap;
15314              
15315             $trove_pat{$trove_val} = undef;
15316             }
15317              
15318             if (/^name(?:\.|\z)/) {
15319             next if /\.synth\.nogrant(?:\.|\z)/;
15320              
15321             my $name_val = $RE{$id}{$_};
15322              
15323             $name_pat{$name_val} = undef
15324             if /^caption\.alt\.org\.spdx(?:\.|\z)/;
15325              
15326             next if $name_val =~ /-\(/;
15327             $name_val =~ s/[~.,]/\\$&/g;
15328             $name_val =~ s/[-+()\/]/[$&]/g;
15329             if ( $name_val =~ /\d$/ ) {
15330             $name_val =~ s/\\\.0$/\(?:\\.0\)?/;
15331             }
15332              
15333             $name_val .= $version_stopgap;
15334              
15335             $name_pat{$name_val} = undef;
15336             }
15337              
15338             next unless /^caption(?:\.|\z)/;
15339             next if /\.synth\.nogrant(?:\.|\z)/;
15340              
15341             my $val = $RE{$id}{$_};
15342              
15343             # strip words later re-added as surrounding pattern
15344             $val =~ s/$shortname_z_re//;
15345             if ($version) {
15346             $val =~ s/$ver_z_re//;
15347             $val =~ s/$shortname_z_re//;
15348             }
15349             $val =~ s/^$the//;
15350              
15351             # mangle and annotate metadata
15352             $val =~ tr/–/-/;
15353             $val =~ s/\./\\./g;
15354             $val =~ s/[-+()'é]/[$&]/g; #'
15355             $val =~ s/,/,?/g;
15356             $val =~ s/ ?®/[r]/g;
15357             $val =~ s/, /[, ]/g; # wide comma
15358             $val =~ s/ \[-\] /[ - ]/g;
15359             $val =~ s{ / }{[ / ]}g;
15360              
15361             # generalize commonly varying words
15362             $val =~ s/^(?:[Aa]n? )/(?:[Aa]n? )?/; # relax (not add)
15363             $val =~ s/ [Ll]icen[cs]e/ [Ll]icen[cs]e/;
15364              
15365             $multiword_pat{$val} = undef;
15366             }
15367             my $stem = _join_pats(
15368             { prefix => "$the?", suffix => '(?: [Ll]icen[cs]e)?' },
15369             sort( { length($b) <=> length($a) || $a cmp $b }
15370             keys %multiword_pat ),
15371             _join_pats(
15372             { prefix => '\b', suffix => $version ? '' : '\b' },
15373              
15374             # TODO: use { s/-/[-]/gr } when needing perl 5.14 anyway
15375             map { my $s = $_; $s =~ s/-/[-]/g; $s; }
15376             grep { not exists $multiword_pat{$_} }
15377             sort { length($b) <=> length($a) || $a cmp $b }
15378             keys %singleword_pat,
15379             ),
15380             );
15381              
15382             unless ( exists $RE{$id}{'_pat.alt.subject.name.synth.caption'} ) {
15383              
15384             if ($version) {
15385              
15386             # extra pattern with (non-optional) leading version
15387             push @{ $RE{$id}{'_pat.alt.subject.name.synth.caption'} },
15388             '(?:'
15389             . '(:version_prefix:)'
15390             . "$version$version_usage"
15391             . " of $stem"
15392             . $published_by . ')';
15393              
15394             $suffix
15395             = '(?:'
15396             . $version
15397             . $version_usage_maybe
15398             . '(:version_number_suffix:)' . ')?'
15399             . $shortname
15400             . $published_by
15401             . $version
15402             . '(:version_number_suffix:)'
15403             . $version_usage
15404             . $shortname
15405             . $version_stopgap;
15406             }
15407             push @{ $RE{$id}{'_pat.alt.subject.name.synth.caption'} },
15408             $stem . $suffix;
15409             }
15410              
15411             # TODO: maybe include also subject pattern iri
15412             unless ( exists $RE{$id}{'_pat.alt.subject.grant.synth.name'} ) {
15413             if ( $RE{$id}{'_pat.alt.subject.name.synth.caption'} ) {
15414             $name_pat{$_} = undef
15415             for @{ $RE{$id}{'_pat.alt.subject.name.synth.caption'} };
15416             }
15417             _join_pats(
15418             { assign => [ $id, '_pat.alt.subject.grant.synth.name' ],
15419             prefix => '(:license_label:) ?'
15420             },
15421             sort { length($b) <=> length($a) || $a cmp $b }
15422             keys %name_pat
15423             );
15424             }
15425              
15426             # synthesize subject pattern grant from SPDX name
15427             unless ( $RE{$id}{'_pat.alt.subject.grant.synth.spdx'} ) {
15428             _join_pats(
15429             { assign => [ $id, '_pat.alt.subject.grant.synth.spdx' ],
15430             prefix => '(:license_label_spdx:) ?'
15431             },
15432             sort { length($b) <=> length($a) || $a cmp $b }
15433             keys %spdx_pat
15434             );
15435             }
15436              
15437             # synthesize subject pattern grant from Trove caption
15438             unless ( $RE{$id}{'_pat.alt.subject.grant.synth.trove'} ) {
15439             _join_pats(
15440             { assign => [ $id, '_pat.alt.subject.grant.synth.trove' ],
15441             prefix => '(:license_label_trove:) ?'
15442             },
15443             sort { length($b) <=> length($a) || $a cmp $b }
15444             keys %trove_pat
15445             );
15446             }
15447              
15448             # synthesize subject pattern grant from subject pattern name
15449             unless ( $RE{$id}{'_pat.alt.subject.grant.synth.caption'} ) {
15450              
15451             # TODO: use resolved patterns (not subpatterns)
15452             _join_pats(
15453             { assign => [ $id, '_pat.alt.subject.grant.synth.caption' ],
15454             prefix => '(:licensed_under:)'
15455             },
15456             @{ $RE{$id}{'_pat.alt.subject.name.synth.caption'} }
15457             );
15458             }
15459             }
15460              
15461             # resolve subject patterns from subpatterns
15462             my %subject_pat;
15463             for ( keys %{ $RE{$id} } ) {
15464              
15465             # collect alternatives ahead (to traverse once, not once per subject)
15466             if (/$pat_subject_re/) {
15467             my $unseed = substr $_, 1; # seed -> nonseed, or nonseed -> bogus
15468             $subject_pat{$&}{ exists $RE{$id}{$unseed} ? $unseed : $_ }
15469             = undef;
15470             }
15471             }
15472             for my $subject (@_SUBJECTSTACK) {
15473              
15474             # if not explicitly defined, synthesize from seed or all alt seeds
15475             $RE{$id}{"pat.alt.subject.$subject"}
15476             //= _join_pats( $RE{$id}{"_pat.alt.subject.$subject"} )
15477             || _join_pats(
15478             map { $RE{$id}{$_} }
15479             sort { length($b) <=> length($a) || $a cmp $b }
15480             keys %{ $subject_pat{$subject} }
15481             ) or delete $RE{$id}{"pat.alt.subject.$subject"};
15482             }
15483              
15484             # resolve available patterns
15485             my @pat_subject
15486             = grep { exists $RE{$id}{"pat.alt.subject.$_"} } @_SUBJECTSTACK;
15487              
15488             my $can_capture;
15489             my $pat = _join_pats(
15490             map { $RE{$id}{"pat.alt.subject.$_"} } @pat_subject,
15491             );
15492             if ( $pat =~ /\(\?P<_/ ) {
15493             $can_capture = 1;
15494             push @{ $RE{$id}{tags} }, 'capturing';
15495             }
15496              
15497             # provide default dynamic pattern: all available patterns
15498             $RE{$id}{gen} = sub {
15499             my %args = @_;
15500              
15501             $pat = _join_pats(
15502             map { $RE{$id}{"pat.alt.subject.$_"} }
15503             split( /,/, $args{subject} )
15504             ) if $args{subject};
15505              
15506             return ''
15507             unless ($pat);
15508              
15509             my $capture = $args{capture} || 'no';
15510              
15511             if ($can_capture) {
15512             if ( $capture eq 'named' ) {
15513             $pat =~ s/\(\?P<\K_//g;
15514             }
15515             elsif ( $capture eq 'numbered' ) {
15516             $pat =~ s/\(\?P<_[^>]+>/(?:/g;
15517             $pat =~ s/\(\?P<[^>]+>/(/g;
15518             }
15519             else {
15520             $pat =~ s/\(\?P<[^>]+>/(?:/g;
15521             }
15522             }
15523              
15524             if ( defined $args{engine} and $args{engine} eq 'pseudo' ) {
15525             }
15526             else {
15527             $pat =~ s/(?:\[|\(:)[^\]]+?(?:\]|:\))/
15528             exists $_ANNOTATIONS{$&} ? $_ANNOTATIONS{$&} : $&/ego;
15529             }
15530              
15531             # TODO: document if not obsoleted
15532             # by
15533             if ( $args{anchorleft} ) {
15534             $pat = "^(?:$pat)";
15535             }
15536              
15537             if ( $args{engine} ) {
15538              
15539             # TODO: support modern Perl with greedy patterns
15540              
15541             if ( $args{engine} eq 'RE2' ) {
15542             unless ($CAN_RE2) {
15543             die
15544             'cannot use regexp engine "RE2": Module "re::engine::RE2" is not installed';
15545             }
15546              
15547             BEGIN {
15548 27 50   27   132421 re::engine::RE2->import(
15549             -strict => 1,
15550             -max_mem => 8 << 21,
15551             ) if $CAN_RE2;
15552             }
15553             return qr/$pat/;
15554             }
15555             elsif ( $args{engine} eq 'none' or $args{engine} eq 'pseudo' ) {
15556             return $pat;
15557             }
15558             else {
15559             die "Unsupported regexp engine \"$args{engine}\"";
15560             }
15561             }
15562             else {
15563             return qr/$pat/;
15564             }
15565             };
15566              
15567             # option keep: include capturing parantheses in pattern
15568             $RE{$id}{gen_args}{capture} = $gen_args_capture
15569             if $can_capture;
15570              
15571             # option subject: which subject(s) to cover in pattern
15572             $RE{$id}{gen_args}{subject} = {
15573             summary => 'Choose subject (or several, comma-separated)',
15574             schema => [ 'str*', in => \@pat_subject ],
15575             default => join( ',', @pat_subject ),
15576             req => 1,
15577             };
15578              
15579             # option engine: which regular expression engine to compile pattern with
15580             $RE{$id}{gen_args}{engine} = $gen_args_engine;
15581             }
15582              
15583             sub _join_pats
15584             {
15585 258645     258645   435131 my ( @pats, %opts );
15586              
15587             # collect hashref options, skip empty patterns, and expand arrayrefs
15588 258645         465868 for (@_) {
15589 529185 100       1071218 next unless defined;
15590 468325 100       975244 if ( !ref ) { push @pats, $_ if length }
  348175 100       832024  
    100          
    50          
15591 13149   33     33896 elsif ( ref eq 'ARRAY' ) { push @pats, _join_pats(@$_) || () }
15592 107001         411770 elsif ( ref eq 'HASH' ) { @opts{ keys %$_ } = values %$_ }
15593 0         0 else { die "Bad ref: $_"; }
15594             }
15595              
15596             my $label
15597             = $opts{label}
15598 258645 100       565981 ? 'P<' . $opts{label} . '>'
15599             : ':';
15600 258645   100     685389 my $prefix = $opts{prefix} // '';
15601 258645   100     686975 my $suffix = $opts{suffix} // '';
15602              
15603 258645 100       801383 return $opts{assign} ? 0 : ''
    100          
15604             unless @pats;
15605 144919 100 66     874430 my $result
15606             = ( @pats > 1 or $label ne ':' )
15607             ? "$prefix(?$label" . join( '|', @pats ) . ")$suffix"
15608             : $prefix . $pats[0] . $suffix;
15609 144919 100       356196 if ( $opts{assign} ) {
15610 40392         139083 $RE{ $opts{assign}[0] }{ $opts{assign}[1] } = $result;
15611 40392         237549 return scalar @pats;
15612             }
15613 104527         447760 return $result;
15614             }
15615              
15616             =head2 OBSOLETE OBJECTS
15617              
15618             License objects obsoleted by improved coverage of other objects,
15619             and provided only as dummy objects.
15620              
15621             =over
15622              
15623             =item * or_at_option
15624              
15625             I
15626              
15627             =item * version_later_paragraph
15628              
15629             I
15630              
15631             =item * version_later_postfix
15632              
15633             I
15634              
15635             =item * version_number
15636              
15637             I
15638              
15639             =item * version_number_suffix
15640              
15641             I
15642              
15643             =cut
15644              
15645             $RE{or_at_option} = {
15646             pat => qr/^this should never match (except itself) psionvaitabbersh$/,
15647             };
15648              
15649             $RE{version_later_paragraph} = {
15650             pat => qr/^this should never match (except itself) ggesionercuterck$/,
15651             };
15652              
15653             $RE{version_later_postfix} = {
15654             pat => qr/^this should never match (except itself) ickazaldssuniscu$/,
15655             };
15656              
15657             $RE{version_number} = {
15658             pat => qr/^this should never match (except itself) dercharapiquissi$/,
15659             };
15660              
15661             $RE{version_number_suffix} = {
15662             pat => qr/^this should never match (except itself) hottesssonsonthe$/,
15663             };
15664              
15665             =item * python
15666              
15667             I
15668              
15669             Replaced by L and L.
15670              
15671             =cut
15672              
15673             $RE{python} = {
15674             pat => qr/^this should never match (except itself) rrompraghtiestur$/,
15675             };
15676              
15677             =item * wordnet_3
15678              
15679             I
15680              
15681             Replaced by L.
15682              
15683             =cut
15684              
15685             $RE{wordnet_3} = {
15686              
15687             pat => qr/^this should never match (except itself) rrompraghtiestur$/,
15688             };
15689              
15690             =back
15691              
15692             =head2 TAGS
15693              
15694             Pattern defhashes optionally includes tags,
15695             which may help in selecting multiple related patterns.
15696              
15697             Tags are hierarchical,
15698             with C<:> as separator,
15699             and may be extended without notice.
15700             Therefore take care to permit sub-parts when tag-matching,
15701             e.g. using a regex like C< /\Asome:tag(?:\z|:)/ >.
15702              
15703             =over
15704              
15705             =item * family:bsd
15706              
15707             =item * family:cc
15708              
15709             =item * family:gpl
15710              
15711             =item * family:mit
15712              
15713             =item * family:zlib
15714              
15715             Pattern covers a license part of a family of licenses.
15716              
15717             =item * license:contains:grant:*
15718              
15719             License mentions a preferred form for granting the license.
15720              
15721             This implies that license is commonly granted by use of a different (typically far shorter) text.
15722              
15723             Fourth part (optional) is the key to corresponding license pattern,
15724             for a grant belonging to a different license
15725             (when omitted then a grant for same license is assumed).
15726              
15727             =item * license:contains:license:*
15728              
15729             License contains another license.
15730              
15731             Wildcard is the key to corresponding license pattern.
15732              
15733             =item * license:contains:name:*
15734              
15735             License mentions name of another license.
15736              
15737             =item * license:includes:license:*
15738              
15739             License references coverage of another license.
15740              
15741             Wildcard is the key to corresponding license pattern.
15742              
15743             =item * license:is:grant
15744              
15745             License is commonly granted by stating the whole license.
15746              
15747             =item * license:published:*
15748              
15749             License grant may include an "as published by..." reference.
15750              
15751             Third part is the key to corresponding trait pattern.
15752              
15753             =item * type:trait:publisher:*
15754              
15755             Pattern covers an "as published by ..." license grant phrase.
15756              
15757             Third part (optional) is the key to corresponding license pattern.
15758              
15759             =item * type:usage:*:*
15760              
15761             Pattern covers a specific usage of a license.
15762              
15763             Third part is the key of the corresponding non-usage-specific pattern.
15764              
15765             Fourth part is the key of the corresponding usage trait pattern.
15766              
15767             =item * type:combo
15768              
15769             Pattern covers a combination of multiple licenses.
15770              
15771             =item * type:group
15772              
15773             Pattern covers either of multiple licenses.
15774              
15775             =item * type:singleversion:*
15776              
15777             Pattern covers a specific version of a license.
15778              
15779             Third part is the key of the corresponding non-version-specific pattern.
15780              
15781             =item * type:trait
15782              
15783             Pattern covers a single trait occuring in licenses.
15784              
15785             =item * type:unversioned
15786              
15787             Pattern covers a license without versioning scheme.
15788              
15789             =item * type:versioned:decimal
15790              
15791             Pattern covers a license using decimal number versioning scheme.
15792              
15793             =back
15794              
15795             =head1 EXAMPLES
15796              
15797             =head2 Browse patterns
15798              
15799             The "official" way to browse patterns is using L:
15800              
15801             show-regexp-pattern-module --page-result -- License
15802              
15803             Unfortunately, L has a deep dependency tree.
15804             An alternative is to use L and C:
15805              
15806             perl -CS -MRegexp::Pattern::License -MDDP -e 'p %Regexp::Pattern::License::RE, fulldump => 1, output => stdout' | less -RS
15807              
15808             =encoding UTF-8
15809              
15810             =head1 AUTHOR
15811              
15812             Jonas Smedegaard C<< >>
15813              
15814             =head1 COPYRIGHT AND LICENSE
15815              
15816             Copyright © 2016-2021 Jonas Smedegaard
15817              
15818             Copyright © 2017-2021 Purism SPC
15819              
15820             This program is free software; you can redistribute it and/or modify it
15821             under the terms of the GNU General Public License as published by the
15822             Free Software Foundation; either version 3, or (at your option) any
15823             later version.
15824              
15825             This program is distributed in the hope that it will be useful, but
15826             WITHOUT ANY WARRANTY; without even the implied warranty of
15827             MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15828             General Public License for more details.
15829              
15830             You should have received a copy of the GNU General Public License along
15831             with this program. If not, see .
15832              
15833             =cut
15834              
15835             1;