140 lines
4.7 KiB
YAML
140 lines
4.7 KiB
YAML
## License knowledge of `pkh new`, in one place: the wizard menu labels
|
|
## (src/new/questions.rs), the spellings accepted by License::parse and the
|
|
## SPDX URL template (src/new/options.rs), and the license-file sniffing
|
|
## inputs (src/new/detect.rs) all read this table, so the three lists —
|
|
## previously kept in sync by comments only — cannot drift apart anymore.
|
|
## Adding or changing a curated license is one entry below.
|
|
##
|
|
## Keys:
|
|
## id: SPDX identifier: written to debian/copyright, returned
|
|
## by the license sniff and substituted into
|
|
## license_url_template (minus a trailing '+' of the
|
|
## "or later" spellings)
|
|
## menu: label offered by the wizard license question (the
|
|
## free-text "Other (enter a SPDX identifier)" entry
|
|
## stays in Rust — it is UX, not data)
|
|
## spellings: inputs accepted by License::parse, matched
|
|
## case-insensitively; each entry must accept its own id
|
|
## (a consistency test in options.rs locks ids, spellings
|
|
## and the License enum together)
|
|
## detect_markers: marker sets driving the LICENSE/COPYING text sniff of
|
|
## detect.rs. A set matches when every marker of `all`
|
|
## occurs in the lowercased license text and none of
|
|
## `unless` does; an entry matches when any of its sets
|
|
## does. The sets are written to be mutually exclusive:
|
|
## the `unless` markers keep multi-license texts on the
|
|
## entry carrying the stronger reference (a MIT-named
|
|
## file also quoting the GPL or the Apache license is a
|
|
## GPL/Apache file) and keep GPL sets off LGPL texts,
|
|
## whose name contains theirs. The entry order below
|
|
## (menu order) therefore only breaks ties.
|
|
##
|
|
## detect_files (top level): the candidate license file names the sniff
|
|
## reads, in preference order, shared by every license (the case-variant
|
|
## directory scan around them stays in Rust).
|
|
##
|
|
## license_url_template: the SPDX license page URL, with {id} substituted
|
|
## for the debian/copyright reference paragraph.
|
|
##
|
|
## The behavioral lock for the markers is the LICENSE_TEXTS test table in
|
|
## src/new/detect.rs: a bad marker edit fails those tests, not packages.
|
|
|
|
license_url_template: https://spdx.org/licenses/{id}.html
|
|
|
|
detect_files:
|
|
- LICENSE
|
|
- LICENSE.md
|
|
- LICENSE.txt
|
|
- COPYING
|
|
- COPYING.txt
|
|
|
|
# Entries in wizard-menu order.
|
|
licenses:
|
|
- id: MIT
|
|
menu: MIT
|
|
spellings: [MIT]
|
|
detect_markers:
|
|
- all:
|
|
- mit license
|
|
unless:
|
|
- apache license
|
|
- general public license
|
|
- all:
|
|
- permission is hereby granted, free of charge
|
|
unless:
|
|
- apache license
|
|
- general public license
|
|
- id: Apache-2.0
|
|
menu: Apache-2.0
|
|
spellings: [Apache-2.0]
|
|
detect_markers:
|
|
- all:
|
|
- apache license
|
|
- version 2
|
|
- id: GPL-2.0+
|
|
menu: GPL-2.0+
|
|
spellings: [GPL-2.0+]
|
|
detect_markers:
|
|
- all:
|
|
- general public license
|
|
unless:
|
|
- version 3
|
|
- lesser general public license
|
|
- id: GPL-3.0+
|
|
menu: GPL-3.0+
|
|
spellings: [GPL-3.0+]
|
|
detect_markers:
|
|
- all:
|
|
- general public license
|
|
- version 3
|
|
unless:
|
|
- lesser general public license
|
|
- id: LGPL-2.1+
|
|
menu: LGPL-2.1+
|
|
spellings: [LGPL-2.1+]
|
|
detect_markers:
|
|
- all:
|
|
- lesser general public license
|
|
unless:
|
|
- version 3
|
|
- all:
|
|
- lesser general public license
|
|
- version 2.1
|
|
- id: LGPL-3.0+
|
|
menu: LGPL-3.0+
|
|
spellings: [LGPL-3.0+]
|
|
detect_markers:
|
|
- all:
|
|
- lesser general public license
|
|
- version 3
|
|
unless:
|
|
- version 2.1
|
|
- id: BSD-2-Clause
|
|
menu: BSD-2-Clause
|
|
spellings: [BSD-2-Clause]
|
|
detect_markers:
|
|
- all:
|
|
- redistribution and use in source and binary forms
|
|
unless:
|
|
- endorse or promote
|
|
- isc license
|
|
- permission to use, copy, modify, and/or distribute this software
|
|
- id: BSD-3-Clause
|
|
menu: BSD-3-Clause
|
|
spellings: [BSD-3-Clause]
|
|
detect_markers:
|
|
- all:
|
|
- redistribution and use in source and binary forms
|
|
- endorse or promote
|
|
unless:
|
|
- isc license
|
|
- permission to use, copy, modify, and/or distribute this software
|
|
- id: ISC
|
|
menu: ISC
|
|
spellings: [ISC]
|
|
detect_markers:
|
|
- all:
|
|
- isc license
|
|
- all:
|
|
- permission to use, copy, modify, and/or distribute this software
|