spdx.licenses
License list functionality, primarily provided by org.spdx.library.ListedLicenses.
Notes:
- The functions in this namespace support any case of identifier or LicenseRef, as per the SPDX case sensitivity rules in SPDX Specification Annex B
canonicalise
(canonicalise s)Canonicalises s (an SPDX license identifier or LicenseRef), by returning it in its canonical case. Returns nil if s is nil or not a listed SPDX license identifier or LicenseRef.
Notes:
- This function does not canonicalise a deprecated identifier to its non-deprecated equivalent(s), since some of those conversions result in an SPDX expression rather than an individual identifier. spdx.expressions/canonicalise can be used for that.
deprecated-id?
(deprecated-id? id)Is id (a String) deprecated? Also returns false if id is not a listed SPDX license identifier.
See this SPDX FAQ item for details on what this means.
equivalent?
(equivalent? s1 s2)Are s1 and s2 (Strings) equivalent SPDX license identifiers or LicenseRefs (i.e. taking the SPDX case sensitivity rules in SPDX Annex B into account)?
fsf-libre-id?
(fsf-libre-id? id)Is id (a String) FSF Libre? Also returns false if id is not in the SPDX license list.
See this reference for details about what ‘FSF Libre’ means.
fsf-libre-ids
(fsf-libre-ids)(fsf-libre-ids ids)Returns the set of SPDX license identifiers that identify FSF Libre licenses within the provided set of SPDX license identifiers (or all of them, if ids is not provided).
See this reference for details about what ‘FSF Libre’ means.
id->info
(id->info id)(id->info id {:keys [include-large-text-values?], :or {include-large-text-values? false}, :as opts})Returns SPDX license list information for id as a map, or nil if id is not a listed SPDX license identifier.
opts are:
:include-large-text-values?(defaultfalse) - controls whether large text values are included in the result or not
init!
(init!)Initialises this namespace upon first call (and does nothing on subsequent calls), returning nil. Consumers of this namespace are not required to call this fn, as initialisation will occur implicitly anyway; it is provided to allow explicit control of the cost of initialisation to callers who need it.
Note: this function may have a substantial performance cost.
license-ref
(license-ref license-ref-var-section)(license-ref document-ref-var-section license-ref-var-section)Constructs a LicenseRef (as a String) from individual ‘variable section’ Strings. Returns nil if license-ref-var-section is blank, or the resulting value is not a valid LicenseRef.
license-ref-map->string
(license-ref-map->string m)Turns map m representing a LicenseRef into a String, returning nil if m is nil or the resulting value is not a valid LicenseRef.
Notes:
- This fn is the inverse of string->license-ref-map.
license-ref?
(license-ref? s)Is s (a String) a valid LicenseRef? See SPDX Specification Annex B for specifics.
non-deprecated-ids
(non-deprecated-ids)(non-deprecated-ids ids)Returns the set of SPDX license identifiers that identify current (non-deprecated) licenses, within the provided set of listed SPDX license identifiers or all listed identifiers when ids not provided.
osi-approved-id?
(osi-approved-id? id)Is id (a String) OSI Approved? Also returns false if id is not a listed SPDX license identifier.
See this reference for details about what ‘OSI Approved’ means.
osi-approved-ids
(osi-approved-ids)(osi-approved-ids ids)Returns the set of SPDX license identifiers that identify OSI Approved licenses within the provided set of SPDX license identifiers (or all of them, if ids is not provided).
See this reference for details about what ‘OSI Approved’ means.
string->license-ref-map
(string->license-ref-map s)Turns s (a String containing a LicenseRef) into a map representing that same LicenseRef. Returns nil if s is nil or not a valid LicenseRef.
Notes:
- This fn is the inverse of license-ref-map->string.
- This is equivalent to calling spdx.expressions/parse with
s.
version
(version)The version of the license list (a String in major.minor(.patchlevel) format).
Note: identical to spdx.identifiers/version.