1Regexp::Pattern::LicensUes(e3r)Contributed Perl DocumentRaetgieoxnp::Pattern::License(3)
2
3
4
6 Regexp::Pattern::License - Regular expressions for legal licenses
7
9 Version v3.2.0
10
12 Regexp::Pattern::License provides a hash of regular expression patterns
13 related to legal software licenses.
14
15 Regexp::Pattern is a convention for organizing reusable regex patterns.
16
18 Single licenses
19 Patterns each covering a single license.
20
21 Each of these patterns has exactly one of these tags:
22 type:singleversion:* type:unversioned type:versioned:decimal .
23
24 · adobe_2006
25
26 · adobe_glyph
27
28 · afl
29
30 · afl_1_1
31
32 · afl_1_2
33
34 · afl_2
35
36 · afl_2_1
37
38 · afl_3
39
40 · agpl
41
42 · agpl_1
43
44 · agpl_2
45
46 · agpl_3
47
48 · aladdin
49
50 · aladdin_8
51
52 · aladdin_9
53
54 · apache
55
56 · apache_1
57
58 · apache_1_1
59
60 · apache_2
61
62 · apafml
63
64 · artistic
65
66 · artistic_1
67
68 · artistic_1_cl8
69
70 · artistic_1_perl
71
72 · artistic_2
73
74 · bdwgc
75
76 · bdwgc_matlab
77
78 · beerware
79
80 · bsd_2_clause
81
82 · bsd_3_clause
83
84 · bsd_4_clause
85
86 · bsl
87
88 · bsl_1
89
90 · cc_by
91
92 · cc_by_1
93
94 · cc_by_2
95
96 · cc_by_2_5
97
98 · cc_by_3
99
100 · cc_by_4
101
102 · cc_by_nc
103
104 · cc_by_nc_1
105
106 · cc_by_nc_2
107
108 · cc_by_nc_2_5
109
110 · cc_by_nc_3
111
112 · cc_by_nc_4
113
114 · cc_by_nc_nd
115
116 · cc_by_nc_nd_1
117
118 · cc_by_nc_nd_2
119
120 · cc_by_nc_nd_2_5
121
122 · cc_by_nc_nd_3
123
124 · cc_by_nc_nd_4
125
126 · cc_by_nc_sa
127
128 · cc_by_nc_sa_1
129
130 · cc_by_nc_sa_2
131
132 · cc_by_nc_sa_2_5
133
134 · cc_by_nc_sa_3
135
136 · cc_by_nc_sa_4
137
138 · cc_by_nd
139
140 · cc_by_nd_1
141
142 · cc_by_nd_2
143
144 · cc_by_nd_2_5
145
146 · cc_by_nd_3
147
148 · cc_by_nd_4
149
150 · cc_by_sa
151
152 · cc_by_sa_1
153
154 · cc_by_sa_2
155
156 · cc_by_sa_2_5
157
158 · cc_by_sa_3
159
160 · cc_by_sa_4
161
162 · cc_cc0
163
164 · cc_cc0_1
165
166 · cc_nc
167
168 · cc_nc_1
169
170 · cc_nd
171
172 · cc_nd_1
173
174 · cc_sa
175
176 · cc_sa_1
177
178 · cc_sp
179
180 · cddl
181
182 · cddl_1
183
184 · cddl_1_1
185
186 · cecill
187
188 · cecill_1
189
190 · cecill_1_1
191
192 · cecill_2
193
194 · cecill_2_1
195
196 · cecill_b
197
198 · cecill_b_1
199
200 · cecill_c
201
202 · cecill_c_1
203
204 · cpl
205
206 · cpl_1
207
208 · cube
209
210 · curl
211
212 · dsdp
213
214 · epl
215
216 · epl_1
217
218 · epl_2
219
220 · eurosym
221
222 · fsfap
223
224 · fsful
225
226 · fsfullr
227
228 · ftl
229
230 · gfdl
231
232 · gfdl_niv
233
234 · gpl
235
236 · isc
237
238 · icu
239
240 · ipl
241
242 · ipl_1
243
244 · json
245
246 · jython
247
248 · kevlin_henney
249
250 · lgpl
251
252 · lgpl_bdwgc
253
254 · libpng
255
256 · llgpl
257
258 · mit_advertising
259
260 · mit_cmu
261
262 · mit_cmu_warranty
263
264 · mit_enna
265
266 · mit_feh
267
268 · mit_new
269
270 · mit_new_materials
271
272 · mit_old
273
274 · mit_oldstyle
275
276 · mit_oldstyle_disclaimer
277
278 · mit_oldstyle_permission
279
280 · mpl
281
282 · mpl_1
283
284 · mpl_1_1
285
286 · mpl_2
287
288 · ms_pl
289
290 · ms_rl
291
292 · ntp
293
294 · ntp_disclaimer
295
296 · ofl
297
298 · ofl_1
299
300 · ofl_1_no_rfn
301
302 · ofl_1_rfn
303
304 · ofl_1_1
305
306 · ofl_1_1_no_rfn
307
308 · ofl_1_1_rfn
309
310 · openssl
311
312 · postgresql
313
314 · public_domain
315
316 · python
317
318 · python_2
319
320 · qpl
321
322 · rpsl
323
324 · rpsl_1
325
326 · sgi_b
327
328 · sgi_b_1
329
330 · sgi_b_1_1
331
332 · sgi_b_2
333
334 · ssleay
335
336 · unicode_strict
337
338 · unicode_tou
339
340 · wtfpl
341
342 · wtfpl_1
343
344 · wtfpl_2
345
346 · wtfnmfpl
347
348 · wtfnmfpl_1
349
350 · zlib
351
352 · zlib_acknowledgement
353
354 · zpl
355
356 · zpl_1
357
358 · zpl_1_1
359
360 · zpl_2
361
362 · zpl_2_1
363
364 Licensing traits
365 Patterns each covering a single trait occuring in licenses.
366
367 Each of these patterns has the tag type:trait .
368
369 · any_of
370
371 · clause_retention
372
373 · clause_reproduction
374
375 · clause_advertising
376
377 · clause_advertising_always
378
379 · clause_non_endorsement
380
381 · fsf_unlimited
382
383 · fsf_unlimited_retention
384
385 · license_label
386
387 · license_label_trove
388
389 · licensed_under
390
391 · or_at_option
392
393 · usage_rfn
394
395 · version
396
397 · version_later
398
399 · version_later_paragraph
400
401 · version_later_postfix
402
403 · version_number
404
405 · version_numberstring
406
407 · version_prefix
408
409 License combinations
410 Patterns each covering a combination of multiple licenses.
411
412 Each of these patterns has the tag type:combo .
413
414 · perl
415
416 License groups
417 Patterns each covering either of multiple licenses.
418
419 Each of these patterns has the tag type:group .
420
421 · bsd
422
423 · gnu
424
425 · mit
426
428 The regexp patterns follows the DefHash specification, and more
429 specifically the structure of Regexp::Pattern, defining access to one
430 pattern per DefHash object, as "pat".
431
432 Additionally, (sub)patterns are available in plaintext form, as
433 "pat.alt.*".
434
435 SUBJECT
436 Each pattern targets one or more subjects, i.e. ways to directly or
437 indirectly represent a license.
438
439 Beware that not all pattern objects fully cover all subjects.
440
441 trait
442 Distinguishing trait or feature expressed in licensing strings,
443 e.g. an advertising clause or granting "...or any later version."
444
445 Coverage for this subject is currently rather weak.
446
447 name
448 Distinguishing name, e.g. usable in license grant.
449
450 grant
451 Text granting the license.
452
453 license
454 Text containing licensing terms.
455
456 Texts containing both license grant and licensing terms (e.g. BSD-
457 and MIT-style licensing) may be classified as either subject grant
458 or subject license. This may change, as needs for distinction is
459 better understood.
460
461 SCOPE
462 Each pattern can process material within some scope, i.e. a certain
463 sample size of the full subject.
464
465 As an example, <https://codesearch.debian.net/> use line-based
466 processing, where patterns spanning multiple lines are not applicable.
467
468 line
469 Pattern typically found within a single line. Typically this means
470 less than 70 characters within scope.
471
472 sentence
473 Pattern matching within a sentence.
474
475 May span multiple lines, but not across multiple sentences.
476 Typically this means no full-stop or colon within scope.
477
478 paragraph
479 Pattern matching distinguishing paragraph.
480
481 May span multiple sentences, but not multiple paragraphs.
482 Typically this means no newline within scope.
483
484 section
485 Pattern matching distinguishing section.
486
487 May span multiple paragraphs, but not multiple sections. Typically
488 this means blank line within scope.
489
490 multisection
491 Pattern may span multiple sections.
492
493 TAGS
494 Pattern defhashes optionally includes tags, which may help in selecting
495 multiple related patterns.
496
497 Tags are hierarchical, with ":" as separator, and may be extended
498 without notice. Therefore take care to permit sub-parts when tag-
499 matching, e.g. using a regex like " /\Asome:tag(?:\z|:)/ ".
500
501 · family:bsd
502
503 · family:cc
504
505 · family:gpl
506
507 · family:mit
508
509 · family:zlib
510
511 Pattern covers a license part of a family of licenses.
512
513 · license:contains:grant
514
515 License mentions a preferred form for granting the license.
516
517 This implies that license is commonly granted by use of a different
518 (typically far shorter) text.
519
520 · license:contains:license:*
521
522 License contains another license.
523
524 Wildcard is the key to corresponding license pattern.
525
526 · license:contains:name:*
527
528 License mentions name of another license.
529
530 · license:is:grant
531
532 License is commonly granted by stating the whole license.
533
534 · type:usage:*:*
535
536 Pattern covers a specific usage of a license.
537
538 Third part is the key of the corresponding non-usage-specific
539 pattern.
540
541 Fourth part is the key of the corresponding usage trait pattern.
542
543 · type:combo
544
545 Pattern covers a combination of multiple licenses.
546
547 · type:group
548
549 Pattern covers either of multiple licenses.
550
551 · type:singleversion:*
552
553 Pattern covers a specific version of a license.
554
555 Last part of tag is the key of the corresponding non-version-
556 specific pattern.
557
558 · type:trait
559
560 Pattern covers a single trait occuring in licenses.
561
562 · type:unversioned
563
564 Pattern covers a license without versioning scheme.
565
566 · type:versioned:decimal
567
568 Pattern covers a license using decimal number versioning scheme.
569
570 DEPRECATED TAGS
571
572 Tags not documented in this POD, specifically non-hierarchical tags,
573 are deprecated and will be dropped in a future release.
574
576 Jonas Smedegaard "<dr@jones.dk>"
577
579 Copyright © 2016-2017 Jonas Smedegaard
580
581 This program is free software; you can redistribute it and/or modify it
582 under the terms of the GNU General Public License as published by the
583 Free Software Foundation; either version 3, or (at your option) any
584 later version.
585
586 This program is distributed in the hope that it will be useful, but
587 WITHOUT ANY WARRANTY; without even the implied warranty of
588 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
589 General Public License for more details.
590
591 You should have received a copy of the GNU General Public License along
592 with this program. If not, see <https://www.gnu.org/licenses/>.
593
594
595
596perl v5.30.1 2020-02-23 Regexp::Pattern::License(3)