summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoshua Watt <jpewhacker@gmail.com>2023-03-27 15:05:26 -0500
committerRichard Purdie <richard.purdie@linuxfoundation.org>2023-04-01 20:23:23 +0100
commit7e24067f7819e09b3093a2d76a7f3761d3a4b475 (patch)
tree1283d53d46fb918d5756fad1c85f68bf1b2c2b21
parent0ce97636c9f10ed78d3c9280e1e1b3fc49833c7c (diff)
downloadpoky-7e24067f7819e09b3093a2d76a7f3761d3a4b475.tar.gz
classes/create-spdx: Backport
Backports the create-spdx classes from the latest versions on master. This backport is a simple copy with no modifications, as its too complex to cherry-pick all the corresponding changes. This will give an appropriate base commit for subsequent changes and if necessary additional backport cherry-picks from master in the future. (From OE-Core rev: 48fbddf32ffa3ec44a788f42895c1730a84b5a91) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/create-spdx-2.2.bbclass1069
-rw-r--r--meta/classes/create-spdx.bbclass8
-rw-r--r--meta/files/spdx-licenses.json5937
-rw-r--r--meta/lib/oe/sbom.py84
-rw-r--r--meta/lib/oe/spdx.py357
5 files changed, 7455 insertions, 0 deletions
diff --git a/meta/classes/create-spdx-2.2.bbclass b/meta/classes/create-spdx-2.2.bbclass
new file mode 100644
index 0000000000..13d13fe1fc
--- /dev/null
+++ b/meta/classes/create-spdx-2.2.bbclass
@@ -0,0 +1,1069 @@
1#
2# Copyright OpenEmbedded Contributors
3#
4# SPDX-License-Identifier: GPL-2.0-only
5#
6
7DEPLOY_DIR_SPDX ??= "${DEPLOY_DIR}/spdx/${MACHINE}"
8
9# The product name that the CVE database uses. Defaults to BPN, but may need to
10# be overriden per recipe (for example tiff.bb sets CVE_PRODUCT=libtiff).
11CVE_PRODUCT ??= "${BPN}"
12CVE_VERSION ??= "${PV}"
13
14SPDXDIR ??= "${WORKDIR}/spdx"
15SPDXDEPLOY = "${SPDXDIR}/deploy"
16SPDXWORK = "${SPDXDIR}/work"
17SPDXIMAGEWORK = "${SPDXDIR}/image-work"
18SPDXSDKWORK = "${SPDXDIR}/sdk-work"
19
20SPDX_TOOL_NAME ??= "oe-spdx-creator"
21SPDX_TOOL_VERSION ??= "1.0"
22
23SPDXRUNTIMEDEPLOY = "${SPDXDIR}/runtime-deploy"
24
25SPDX_INCLUDE_SOURCES ??= "0"
26SPDX_ARCHIVE_SOURCES ??= "0"
27SPDX_ARCHIVE_PACKAGED ??= "0"
28
29SPDX_UUID_NAMESPACE ??= "sbom.openembedded.org"
30SPDX_NAMESPACE_PREFIX ??= "http://spdx.org/spdxdoc"
31SPDX_PRETTY ??= "0"
32
33SPDX_LICENSES ??= "${COREBASE}/meta/files/spdx-licenses.json"
34
35SPDX_CUSTOM_ANNOTATION_VARS ??= ""
36
37SPDX_ORG ??= "OpenEmbedded ()"
38SPDX_SUPPLIER ??= "Organization: ${SPDX_ORG}"
39SPDX_SUPPLIER[doc] = "The SPDX PackageSupplier field for SPDX packages created from \
40 this recipe. For SPDX documents create using this class during the build, this \
41 is the contact information for the person or organization who is doing the \
42 build."
43
44def extract_licenses(filename):
45 import re
46
47 lic_regex = re.compile(rb'^\W*SPDX-License-Identifier:\s*([ \w\d.()+-]+?)(?:\s+\W*)?$', re.MULTILINE)
48
49 try:
50 with open(filename, 'rb') as f:
51 size = min(15000, os.stat(filename).st_size)
52 txt = f.read(size)
53 licenses = re.findall(lic_regex, txt)
54 if licenses:
55 ascii_licenses = [lic.decode('ascii') for lic in licenses]
56 return ascii_licenses
57 except Exception as e:
58 bb.warn(f"Exception reading {filename}: {e}")
59 return None
60
61def get_doc_namespace(d, doc):
62 import uuid
63 namespace_uuid = uuid.uuid5(uuid.NAMESPACE_DNS, d.getVar("SPDX_UUID_NAMESPACE"))
64 return "%s/%s-%s" % (d.getVar("SPDX_NAMESPACE_PREFIX"), doc.name, str(uuid.uuid5(namespace_uuid, doc.name)))
65
66def create_annotation(d, comment):
67 from datetime import datetime, timezone
68
69 creation_time = datetime.now(tz=timezone.utc).strftime("%Y-%m-%dT%H:%M:%SZ")
70 annotation = oe.spdx.SPDXAnnotation()
71 annotation.annotationDate = creation_time
72 annotation.annotationType = "OTHER"
73 annotation.annotator = "Tool: %s - %s" % (d.getVar("SPDX_TOOL_NAME"), d.getVar("SPDX_TOOL_VERSION"))
74 annotation.comment = comment
75 return annotation
76
77def recipe_spdx_is_native(d, recipe):
78 return any(a.annotationType == "OTHER" and
79 a.annotator == "Tool: %s - %s" % (d.getVar("SPDX_TOOL_NAME"), d.getVar("SPDX_TOOL_VERSION")) and
80 a.comment == "isNative" for a in recipe.annotations)
81
82def is_work_shared_spdx(d):
83 return bb.data.inherits_class('kernel', d) or ('work-shared' in d.getVar('WORKDIR'))
84
85def get_json_indent(d):
86 if d.getVar("SPDX_PRETTY") == "1":
87 return 2
88 return None
89
90python() {
91 import json
92 if d.getVar("SPDX_LICENSE_DATA"):
93 return
94
95 with open(d.getVar("SPDX_LICENSES"), "r") as f:
96 data = json.load(f)
97 # Transform the license array to a dictionary
98 data["licenses"] = {l["licenseId"]: l for l in data["licenses"]}
99 d.setVar("SPDX_LICENSE_DATA", data)
100}
101
102def convert_license_to_spdx(lic, document, d, existing={}):
103 from pathlib import Path
104 import oe.spdx
105
106 license_data = d.getVar("SPDX_LICENSE_DATA")
107 extracted = {}
108
109 def add_extracted_license(ident, name):
110 nonlocal document
111
112 if name in extracted:
113 return
114
115 extracted_info = oe.spdx.SPDXExtractedLicensingInfo()
116 extracted_info.name = name
117 extracted_info.licenseId = ident
118 extracted_info.extractedText = None
119
120 if name == "PD":
121 # Special-case this.
122 extracted_info.extractedText = "Software released to the public domain"
123 else:
124 # Seach for the license in COMMON_LICENSE_DIR and LICENSE_PATH
125 for directory in [d.getVar('COMMON_LICENSE_DIR')] + (d.getVar('LICENSE_PATH') or '').split():
126 try:
127 with (Path(directory) / name).open(errors="replace") as f:
128 extracted_info.extractedText = f.read()
129 break
130 except FileNotFoundError:
131 pass
132 if extracted_info.extractedText is None:
133 # If it's not SPDX or PD, then NO_GENERIC_LICENSE must be set
134 filename = d.getVarFlag('NO_GENERIC_LICENSE', name)
135 if filename:
136 filename = d.expand("${S}/" + filename)
137 with open(filename, errors="replace") as f:
138 extracted_info.extractedText = f.read()
139 else:
140 bb.error("Cannot find any text for license %s" % name)
141
142 extracted[name] = extracted_info
143 document.hasExtractedLicensingInfos.append(extracted_info)
144
145 def convert(l):
146 if l == "(" or l == ")":
147 return l
148
149 if l == "&":
150 return "AND"
151
152 if l == "|":
153 return "OR"
154
155 if l == "CLOSED":
156 return "NONE"
157
158 spdx_license = d.getVarFlag("SPDXLICENSEMAP", l) or l
159 if spdx_license in license_data["licenses"]:
160 return spdx_license
161
162 try:
163 spdx_license = existing[l]
164 except KeyError:
165 spdx_license = "LicenseRef-" + l
166 add_extracted_license(spdx_license, l)
167
168 return spdx_license
169
170 lic_split = lic.replace("(", " ( ").replace(")", " ) ").split()
171
172 return ' '.join(convert(l) for l in lic_split)
173
174def process_sources(d):
175 pn = d.getVar('PN')
176 assume_provided = (d.getVar("ASSUME_PROVIDED") or "").split()
177 if pn in assume_provided:
178 for p in d.getVar("PROVIDES").split():
179 if p != pn:
180 pn = p
181 break
182
183 # glibc-locale: do_fetch, do_unpack and do_patch tasks have been deleted,
184 # so avoid archiving source here.
185 if pn.startswith('glibc-locale'):
186 return False
187 if d.getVar('PN') == "libtool-cross":
188 return False
189 if d.getVar('PN') == "libgcc-initial":
190 return False
191 if d.getVar('PN') == "shadow-sysroot":
192 return False
193
194 # We just archive gcc-source for all the gcc related recipes
195 if d.getVar('BPN') in ['gcc', 'libgcc']:
196 bb.debug(1, 'spdx: There is bug in scan of %s is, do nothing' % pn)
197 return False
198
199 return True
200
201
202def add_package_files(d, doc, spdx_pkg, topdir, get_spdxid, get_types, *, archive=None, ignore_dirs=[], ignore_top_level_dirs=[]):
203 from pathlib import Path
204 import oe.spdx
205 import hashlib
206
207 source_date_epoch = d.getVar("SOURCE_DATE_EPOCH")
208 if source_date_epoch:
209 source_date_epoch = int(source_date_epoch)
210
211 sha1s = []
212 spdx_files = []
213
214 file_counter = 1
215 for subdir, dirs, files in os.walk(topdir):
216 dirs[:] = [d for d in dirs if d not in ignore_dirs]
217 if subdir == str(topdir):
218 dirs[:] = [d for d in dirs if d not in ignore_top_level_dirs]
219
220 for file in files:
221 filepath = Path(subdir) / file
222 filename = str(filepath.relative_to(topdir))
223
224 if not filepath.is_symlink() and filepath.is_file():
225 spdx_file = oe.spdx.SPDXFile()
226 spdx_file.SPDXID = get_spdxid(file_counter)
227 for t in get_types(filepath):
228 spdx_file.fileTypes.append(t)
229 spdx_file.fileName = filename
230
231 if archive is not None:
232 with filepath.open("rb") as f:
233 info = archive.gettarinfo(fileobj=f)
234 info.name = filename
235 info.uid = 0
236 info.gid = 0
237 info.uname = "root"
238 info.gname = "root"
239
240 if source_date_epoch is not None and info.mtime > source_date_epoch:
241 info.mtime = source_date_epoch
242
243 archive.addfile(info, f)
244
245 sha1 = bb.utils.sha1_file(filepath)
246 sha1s.append(sha1)
247 spdx_file.checksums.append(oe.spdx.SPDXChecksum(
248 algorithm="SHA1",
249 checksumValue=sha1,
250 ))
251 spdx_file.checksums.append(oe.spdx.SPDXChecksum(
252 algorithm="SHA256",
253 checksumValue=bb.utils.sha256_file(filepath),
254 ))
255
256 if "SOURCE" in spdx_file.fileTypes:
257 extracted_lics = extract_licenses(filepath)
258 if extracted_lics:
259 spdx_file.licenseInfoInFiles = extracted_lics
260
261 doc.files.append(spdx_file)
262 doc.add_relationship(spdx_pkg, "CONTAINS", spdx_file)
263 spdx_pkg.hasFiles.append(spdx_file.SPDXID)
264
265 spdx_files.append(spdx_file)
266
267 file_counter += 1
268
269 sha1s.sort()
270 verifier = hashlib.sha1()
271 for v in sha1s:
272 verifier.update(v.encode("utf-8"))
273 spdx_pkg.packageVerificationCode.packageVerificationCodeValue = verifier.hexdigest()
274
275 return spdx_files
276
277
278def add_package_sources_from_debug(d, package_doc, spdx_package, package, package_files, sources):
279 from pathlib import Path
280 import hashlib
281 import oe.packagedata
282 import oe.spdx
283
284 debug_search_paths = [
285 Path(d.getVar('PKGD')),
286 Path(d.getVar('STAGING_DIR_TARGET')),
287 Path(d.getVar('STAGING_DIR_NATIVE')),
288 Path(d.getVar('STAGING_KERNEL_DIR')),
289 ]
290
291 pkg_data = oe.packagedata.read_subpkgdata_extended(package, d)
292
293 if pkg_data is None:
294 return
295
296 for file_path, file_data in pkg_data["files_info"].items():
297 if not "debugsrc" in file_data:
298 continue
299
300 for pkg_file in package_files:
301 if file_path.lstrip("/") == pkg_file.fileName.lstrip("/"):
302 break
303 else:
304 bb.fatal("No package file found for %s" % str(file_path))
305 continue
306
307 for debugsrc in file_data["debugsrc"]:
308 ref_id = "NOASSERTION"
309 for search in debug_search_paths:
310 if debugsrc.startswith("/usr/src/kernel"):
311 debugsrc_path = search / debugsrc.replace('/usr/src/kernel/', '')
312 else:
313 debugsrc_path = search / debugsrc.lstrip("/")
314 if not debugsrc_path.exists():
315 continue
316
317 file_sha256 = bb.utils.sha256_file(debugsrc_path)
318
319 if file_sha256 in sources:
320 source_file = sources[file_sha256]
321
322 doc_ref = package_doc.find_external_document_ref(source_file.doc.documentNamespace)
323 if doc_ref is None:
324 doc_ref = oe.spdx.SPDXExternalDocumentRef()
325 doc_ref.externalDocumentId = "DocumentRef-dependency-" + source_file.doc.name
326 doc_ref.spdxDocument = source_file.doc.documentNamespace
327 doc_ref.checksum.algorithm = "SHA1"
328 doc_ref.checksum.checksumValue = source_file.doc_sha1
329 package_doc.externalDocumentRefs.append(doc_ref)
330
331 ref_id = "%s:%s" % (doc_ref.externalDocumentId, source_file.file.SPDXID)
332 else:
333 bb.debug(1, "Debug source %s with SHA256 %s not found in any dependency" % (str(debugsrc_path), file_sha256))
334 break
335 else:
336 bb.debug(1, "Debug source %s not found" % debugsrc)
337
338 package_doc.add_relationship(pkg_file, "GENERATED_FROM", ref_id, comment=debugsrc)
339
340def collect_dep_recipes(d, doc, spdx_recipe):
341 from pathlib import Path
342 import oe.sbom
343 import oe.spdx
344
345 deploy_dir_spdx = Path(d.getVar("DEPLOY_DIR_SPDX"))
346
347 dep_recipes = []
348 taskdepdata = d.getVar("BB_TASKDEPDATA", False)
349 deps = sorted(set(
350 dep[0] for dep in taskdepdata.values() if
351 dep[1] == "do_create_spdx" and dep[0] != d.getVar("PN")
352 ))
353 for dep_pn in deps:
354 dep_recipe_path = deploy_dir_spdx / "recipes" / ("recipe-%s.spdx.json" % dep_pn)
355
356 spdx_dep_doc, spdx_dep_sha1 = oe.sbom.read_doc(dep_recipe_path)
357
358 for pkg in spdx_dep_doc.packages:
359 if pkg.name == dep_pn:
360 spdx_dep_recipe = pkg
361 break
362 else:
363 continue
364
365 dep_recipes.append(oe.sbom.DepRecipe(spdx_dep_doc, spdx_dep_sha1, spdx_dep_recipe))
366
367 dep_recipe_ref = oe.spdx.SPDXExternalDocumentRef()
368 dep_recipe_ref.externalDocumentId = "DocumentRef-dependency-" + spdx_dep_doc.name
369 dep_recipe_ref.spdxDocument = spdx_dep_doc.documentNamespace
370 dep_recipe_ref.checksum.algorithm = "SHA1"
371 dep_recipe_ref.checksum.checksumValue = spdx_dep_sha1
372
373 doc.externalDocumentRefs.append(dep_recipe_ref)
374
375 doc.add_relationship(
376 "%s:%s" % (dep_recipe_ref.externalDocumentId, spdx_dep_recipe.SPDXID),
377 "BUILD_DEPENDENCY_OF",
378 spdx_recipe
379 )
380
381 return dep_recipes
382
383collect_dep_recipes[vardepsexclude] += "BB_TASKDEPDATA"
384collect_dep_recipes[vardeps] += "DEPENDS"
385
386def collect_dep_sources(d, dep_recipes):
387 import oe.sbom
388
389 sources = {}
390 for dep in dep_recipes:
391 # Don't collect sources from native recipes as they
392 # match non-native sources also.
393 if recipe_spdx_is_native(d, dep.recipe):
394 continue
395 recipe_files = set(dep.recipe.hasFiles)
396
397 for spdx_file in dep.doc.files:
398 if spdx_file.SPDXID not in recipe_files:
399 continue
400
401 if "SOURCE" in spdx_file.fileTypes:
402 for checksum in spdx_file.checksums:
403 if checksum.algorithm == "SHA256":
404 sources[checksum.checksumValue] = oe.sbom.DepSource(dep.doc, dep.doc_sha1, dep.recipe, spdx_file)
405 break
406
407 return sources
408
409def add_download_packages(d, doc, recipe):
410 import os.path
411 from bb.fetch2 import decodeurl, CHECKSUM_LIST
412 import bb.process
413 import oe.spdx
414 import oe.sbom
415
416 for download_idx, src_uri in enumerate(d.getVar('SRC_URI').split()):
417 f = bb.fetch2.FetchData(src_uri, d)
418
419 for name in f.names:
420 package = oe.spdx.SPDXPackage()
421 package.name = "%s-source-%d" % (d.getVar("PN"), download_idx + 1)
422 package.SPDXID = oe.sbom.get_download_spdxid(d, download_idx + 1)
423
424 if f.type == "file":
425 continue
426
427 uri = f.type
428 proto = getattr(f, "proto", None)
429 if proto is not None:
430 uri = uri + "+" + proto
431 uri = uri + "://" + f.host + f.path
432
433 if f.method.supports_srcrev():
434 uri = uri + "@" + f.revisions[name]
435
436 if f.method.supports_checksum(f):
437 for checksum_id in CHECKSUM_LIST:
438 if checksum_id.upper() not in oe.spdx.SPDXPackage.ALLOWED_CHECKSUMS:
439 continue
440
441 expected_checksum = getattr(f, "%s_expected" % checksum_id)
442 if expected_checksum is None:
443 continue
444
445 c = oe.spdx.SPDXChecksum()
446 c.algorithm = checksum_id.upper()
447 c.checksumValue = expected_checksum
448 package.checksums.append(c)
449
450 package.downloadLocation = uri
451 doc.packages.append(package)
452 doc.add_relationship(doc, "DESCRIBES", package)
453 # In the future, we might be able to do more fancy dependencies,
454 # but this should be sufficient for now
455 doc.add_relationship(package, "BUILD_DEPENDENCY_OF", recipe)
456
457python do_create_spdx() {
458 from datetime import datetime, timezone
459 import oe.sbom
460 import oe.spdx
461 import uuid
462 from pathlib import Path
463 from contextlib import contextmanager
464 import oe.cve_check
465
466 @contextmanager
467 def optional_tarfile(name, guard, mode="w"):
468 import tarfile
469 import bb.compress.zstd
470
471 num_threads = int(d.getVar("BB_NUMBER_THREADS"))
472
473 if guard:
474 name.parent.mkdir(parents=True, exist_ok=True)
475 with bb.compress.zstd.open(name, mode=mode + "b", num_threads=num_threads) as f:
476 with tarfile.open(fileobj=f, mode=mode + "|") as tf:
477 yield tf
478 else:
479 yield None
480
481
482 deploy_dir_spdx = Path(d.getVar("DEPLOY_DIR_SPDX"))
483 spdx_workdir = Path(d.getVar("SPDXWORK"))
484 include_sources = d.getVar("SPDX_INCLUDE_SOURCES") == "1"
485 archive_sources = d.getVar("SPDX_ARCHIVE_SOURCES") == "1"
486 archive_packaged = d.getVar("SPDX_ARCHIVE_PACKAGED") == "1"
487
488 creation_time = datetime.now(tz=timezone.utc).strftime("%Y-%m-%dT%H:%M:%SZ")
489
490 doc = oe.spdx.SPDXDocument()
491
492 doc.name = "recipe-" + d.getVar("PN")
493 doc.documentNamespace = get_doc_namespace(d, doc)
494 doc.creationInfo.created = creation_time
495 doc.creationInfo.comment = "This document was created by analyzing recipe files during the build."
496 doc.creationInfo.licenseListVersion = d.getVar("SPDX_LICENSE_DATA")["licenseListVersion"]
497 doc.creationInfo.creators.append("Tool: OpenEmbedded Core create-spdx.bbclass")
498 doc.creationInfo.creators.append("Organization: %s" % d.getVar("SPDX_ORG"))
499 doc.creationInfo.creators.append("Person: N/A ()")
500
501 recipe = oe.spdx.SPDXPackage()
502 recipe.name = d.getVar("PN")
503 recipe.versionInfo = d.getVar("PV")
504 recipe.SPDXID = oe.sbom.get_recipe_spdxid(d)
505 recipe.supplier = d.getVar("SPDX_SUPPLIER")
506 if bb.data.inherits_class("native", d) or bb.data.inherits_class("cross", d):
507 recipe.annotations.append(create_annotation(d, "isNative"))
508
509 homepage = d.getVar("HOMEPAGE")
510 if homepage:
511 recipe.homepage = homepage
512
513 license = d.getVar("LICENSE")
514 if license:
515 recipe.licenseDeclared = convert_license_to_spdx(license, doc, d)
516
517 summary = d.getVar("SUMMARY")
518 if summary:
519 recipe.summary = summary
520
521 description = d.getVar("DESCRIPTION")
522 if description:
523 recipe.description = description
524
525 if d.getVar("SPDX_CUSTOM_ANNOTATION_VARS"):
526 for var in d.getVar('SPDX_CUSTOM_ANNOTATION_VARS').split():
527 recipe.annotations.append(create_annotation(d, var + "=" + d.getVar(var)))
528
529 # Some CVEs may be patched during the build process without incrementing the version number,
530 # so querying for CVEs based on the CPE id can lead to false positives. To account for this,
531 # save the CVEs fixed by patches to source information field in the SPDX.
532 patched_cves = oe.cve_check.get_patched_cves(d)
533 patched_cves = list(patched_cves)
534 patched_cves = ' '.join(patched_cves)
535 if patched_cves:
536 recipe.sourceInfo = "CVEs fixed: " + patched_cves
537
538 cpe_ids = oe.cve_check.get_cpe_ids(d.getVar("CVE_PRODUCT"), d.getVar("CVE_VERSION"))
539 if cpe_ids:
540 for cpe_id in cpe_ids:
541 cpe = oe.spdx.SPDXExternalReference()
542 cpe.referenceCategory = "SECURITY"
543 cpe.referenceType = "http://spdx.org/rdf/references/cpe23Type"
544 cpe.referenceLocator = cpe_id
545 recipe.externalRefs.append(cpe)
546
547 doc.packages.append(recipe)
548 doc.add_relationship(doc, "DESCRIBES", recipe)
549
550 add_download_packages(d, doc, recipe)
551
552 if process_sources(d) and include_sources:
553 recipe_archive = deploy_dir_spdx / "recipes" / (doc.name + ".tar.zst")
554 with optional_tarfile(recipe_archive, archive_sources) as archive:
555 spdx_get_src(d)
556
557 add_package_files(
558 d,
559 doc,
560 recipe,
561 spdx_workdir,
562 lambda file_counter: "SPDXRef-SourceFile-%s-%d" % (d.getVar("PN"), file_counter),
563 lambda filepath: ["SOURCE"],
564 ignore_dirs=[".git"],
565 ignore_top_level_dirs=["temp"],
566 archive=archive,
567 )
568
569 if archive is not None:
570 recipe.packageFileName = str(recipe_archive.name)
571
572 dep_recipes = collect_dep_recipes(d, doc, recipe)
573
574 doc_sha1 = oe.sbom.write_doc(d, doc, "recipes", indent=get_json_indent(d))
575 dep_recipes.append(oe.sbom.DepRecipe(doc, doc_sha1, recipe))
576
577 recipe_ref = oe.spdx.SPDXExternalDocumentRef()
578 recipe_ref.externalDocumentId = "DocumentRef-recipe-" + recipe.name
579 recipe_ref.spdxDocument = doc.documentNamespace
580 recipe_ref.checksum.algorithm = "SHA1"
581 recipe_ref.checksum.checksumValue = doc_sha1
582
583 sources = collect_dep_sources(d, dep_recipes)
584 found_licenses = {license.name:recipe_ref.externalDocumentId + ":" + license.licenseId for license in doc.hasExtractedLicensingInfos}
585
586 if not recipe_spdx_is_native(d, recipe):
587 bb.build.exec_func("read_subpackage_metadata", d)
588
589 pkgdest = Path(d.getVar("PKGDEST"))
590 for package in d.getVar("PACKAGES").split():
591 if not oe.packagedata.packaged(package, d):
592 continue
593
594 package_doc = oe.spdx.SPDXDocument()
595 pkg_name = d.getVar("PKG:%s" % package) or package
596 package_doc.name = pkg_name
597 package_doc.documentNamespace = get_doc_namespace(d, package_doc)
598 package_doc.creationInfo.created = creation_time
599 package_doc.creationInfo.comment = "This document was created by analyzing packages created during the build."
600 package_doc.creationInfo.licenseListVersion = d.getVar("SPDX_LICENSE_DATA")["licenseListVersion"]
601 package_doc.creationInfo.creators.append("Tool: OpenEmbedded Core create-spdx.bbclass")
602 package_doc.creationInfo.creators.append("Organization: %s" % d.getVar("SPDX_ORG"))
603 package_doc.creationInfo.creators.append("Person: N/A ()")
604 package_doc.externalDocumentRefs.append(recipe_ref)
605
606 package_license = d.getVar("LICENSE:%s" % package) or d.getVar("LICENSE")
607
608 spdx_package = oe.spdx.SPDXPackage()
609
610 spdx_package.SPDXID = oe.sbom.get_package_spdxid(pkg_name)
611 spdx_package.name = pkg_name
612 spdx_package.versionInfo = d.getVar("PV")
613 spdx_package.licenseDeclared = convert_license_to_spdx(package_license, package_doc, d, found_licenses)
614 spdx_package.supplier = d.getVar("SPDX_SUPPLIER")
615
616 package_doc.packages.append(spdx_package)
617
618 package_doc.add_relationship(spdx_package, "GENERATED_FROM", "%s:%s" % (recipe_ref.externalDocumentId, recipe.SPDXID))
619 package_doc.add_relationship(package_doc, "DESCRIBES", spdx_package)
620
621 package_archive = deploy_dir_spdx / "packages" / (package_doc.name + ".tar.zst")
622 with optional_tarfile(package_archive, archive_packaged) as archive:
623 package_files = add_package_files(
624 d,
625 package_doc,
626 spdx_package,
627 pkgdest / package,
628 lambda file_counter: oe.sbom.get_packaged_file_spdxid(pkg_name, file_counter),
629 lambda filepath: ["BINARY"],
630 ignore_top_level_dirs=['CONTROL', 'DEBIAN'],
631 archive=archive,
632 )
633
634 if archive is not None:
635 spdx_package.packageFileName = str(package_archive.name)
636
637 add_package_sources_from_debug(d, package_doc, spdx_package, package, package_files, sources)
638
639 oe.sbom.write_doc(d, package_doc, "packages", indent=get_json_indent(d))
640}
641# NOTE: depending on do_unpack is a hack that is necessary to get it's dependencies for archive the source
642addtask do_create_spdx after do_package do_packagedata do_unpack before do_populate_sdk do_build do_rm_work
643
644SSTATETASKS += "do_create_spdx"
645do_create_spdx[sstate-inputdirs] = "${SPDXDEPLOY}"
646do_create_spdx[sstate-outputdirs] = "${DEPLOY_DIR_SPDX}"
647
648python do_create_spdx_setscene () {
649 sstate_setscene(d)
650}
651addtask do_create_spdx_setscene
652
653do_create_spdx[dirs] = "${SPDXWORK}"
654do_create_spdx[cleandirs] = "${SPDXDEPLOY} ${SPDXWORK}"
655do_create_spdx[depends] += "${PATCHDEPENDENCY}"
656do_create_spdx[deptask] = "do_create_spdx"
657
658def collect_package_providers(d):
659 from pathlib import Path
660 import oe.sbom
661 import oe.spdx
662 import json
663
664 deploy_dir_spdx = Path(d.getVar("DEPLOY_DIR_SPDX"))
665
666 providers = {}
667
668 taskdepdata = d.getVar("BB_TASKDEPDATA", False)
669 deps = sorted(set(
670 dep[0] for dep in taskdepdata.values() if dep[0] != d.getVar("PN")
671 ))
672 deps.append(d.getVar("PN"))
673
674 for dep_pn in deps:
675 recipe_data = oe.packagedata.read_pkgdata(dep_pn, d)
676
677 for pkg in recipe_data.get("PACKAGES", "").split():
678
679 pkg_data = oe.packagedata.read_subpkgdata_dict(pkg, d)
680 rprovides = set(n for n, _ in bb.utils.explode_dep_versions2(pkg_data.get("RPROVIDES", "")).items())
681 rprovides.add(pkg)
682
683 for r in rprovides:
684 providers[r] = pkg
685
686 return providers
687
688collect_package_providers[vardepsexclude] += "BB_TASKDEPDATA"
689
690python do_create_runtime_spdx() {
691 from datetime import datetime, timezone
692 import oe.sbom
693 import oe.spdx
694 import oe.packagedata
695 from pathlib import Path
696
697 deploy_dir_spdx = Path(d.getVar("DEPLOY_DIR_SPDX"))
698 spdx_deploy = Path(d.getVar("SPDXRUNTIMEDEPLOY"))
699 is_native = bb.data.inherits_class("native", d) or bb.data.inherits_class("cross", d)
700
701 creation_time = datetime.now(tz=timezone.utc).strftime("%Y-%m-%dT%H:%M:%SZ")
702
703 providers = collect_package_providers(d)
704
705 if not is_native:
706 bb.build.exec_func("read_subpackage_metadata", d)
707
708 dep_package_cache = {}
709
710 pkgdest = Path(d.getVar("PKGDEST"))
711 for package in d.getVar("PACKAGES").split():
712 localdata = bb.data.createCopy(d)
713 pkg_name = d.getVar("PKG:%s" % package) or package
714 localdata.setVar("PKG", pkg_name)
715 localdata.setVar('OVERRIDES', d.getVar("OVERRIDES", False) + ":" + package)
716
717 if not oe.packagedata.packaged(package, localdata):
718 continue
719
720 pkg_spdx_path = deploy_dir_spdx / "packages" / (pkg_name + ".spdx.json")
721
722 package_doc, package_doc_sha1 = oe.sbom.read_doc(pkg_spdx_path)
723
724 for p in package_doc.packages:
725 if p.name == pkg_name:
726 spdx_package = p
727 break
728 else:
729 bb.fatal("Package '%s' not found in %s" % (pkg_name, pkg_spdx_path))
730
731 runtime_doc = oe.spdx.SPDXDocument()
732 runtime_doc.name = "runtime-" + pkg_name
733 runtime_doc.documentNamespace = get_doc_namespace(localdata, runtime_doc)
734 runtime_doc.creationInfo.created = creation_time
735 runtime_doc.creationInfo.comment = "This document was created by analyzing package runtime dependencies."
736 runtime_doc.creationInfo.licenseListVersion = d.getVar("SPDX_LICENSE_DATA")["licenseListVersion"]
737 runtime_doc.creationInfo.creators.append("Tool: OpenEmbedded Core create-spdx.bbclass")
738 runtime_doc.creationInfo.creators.append("Organization: %s" % d.getVar("SPDX_ORG"))
739 runtime_doc.creationInfo.creators.append("Person: N/A ()")
740
741 package_ref = oe.spdx.SPDXExternalDocumentRef()
742 package_ref.externalDocumentId = "DocumentRef-package-" + package
743 package_ref.spdxDocument = package_doc.documentNamespace
744 package_ref.checksum.algorithm = "SHA1"
745 package_ref.checksum.checksumValue = package_doc_sha1
746
747 runtime_doc.externalDocumentRefs.append(package_ref)
748
749 runtime_doc.add_relationship(
750 runtime_doc.SPDXID,
751 "AMENDS",
752 "%s:%s" % (package_ref.externalDocumentId, package_doc.SPDXID)
753 )
754
755 deps = bb.utils.explode_dep_versions2(localdata.getVar("RDEPENDS") or "")
756 seen_deps = set()
757 for dep, _ in deps.items():
758 if dep in seen_deps:
759 continue
760
761 if dep not in providers:
762 continue
763
764 dep = providers[dep]
765
766 if not oe.packagedata.packaged(dep, localdata):
767 continue
768
769 dep_pkg_data = oe.packagedata.read_subpkgdata_dict(dep, d)
770 dep_pkg = dep_pkg_data["PKG"]
771
772 if dep in dep_package_cache:
773 (dep_spdx_package, dep_package_ref) = dep_package_cache[dep]
774 else:
775 dep_path = deploy_dir_spdx / "packages" / ("%s.spdx.json" % dep_pkg)
776
777 spdx_dep_doc, spdx_dep_sha1 = oe.sbom.read_doc(dep_path)
778
779 for pkg in spdx_dep_doc.packages:
780 if pkg.name == dep_pkg:
781 dep_spdx_package = pkg
782 break
783 else:
784 bb.fatal("Package '%s' not found in %s" % (dep_pkg, dep_path))
785
786 dep_package_ref = oe.spdx.SPDXExternalDocumentRef()
787 dep_package_ref.externalDocumentId = "DocumentRef-runtime-dependency-" + spdx_dep_doc.name
788 dep_package_ref.spdxDocument = spdx_dep_doc.documentNamespace
789 dep_package_ref.checksum.algorithm = "SHA1"
790 dep_package_ref.checksum.checksumValue = spdx_dep_sha1
791
792 dep_package_cache[dep] = (dep_spdx_package, dep_package_ref)
793
794 runtime_doc.externalDocumentRefs.append(dep_package_ref)
795
796 runtime_doc.add_relationship(
797 "%s:%s" % (dep_package_ref.externalDocumentId, dep_spdx_package.SPDXID),
798 "RUNTIME_DEPENDENCY_OF",
799 "%s:%s" % (package_ref.externalDocumentId, spdx_package.SPDXID)
800 )
801 seen_deps.add(dep)
802
803 oe.sbom.write_doc(d, runtime_doc, "runtime", spdx_deploy, indent=get_json_indent(d))
804}
805
806addtask do_create_runtime_spdx after do_create_spdx before do_build do_rm_work
807SSTATETASKS += "do_create_runtime_spdx"
808do_create_runtime_spdx[sstate-inputdirs] = "${SPDXRUNTIMEDEPLOY}"
809do_create_runtime_spdx[sstate-outputdirs] = "${DEPLOY_DIR_SPDX}"
810
811python do_create_runtime_spdx_setscene () {
812 sstate_setscene(d)
813}
814addtask do_create_runtime_spdx_setscene
815
816do_create_runtime_spdx[dirs] = "${SPDXRUNTIMEDEPLOY}"
817do_create_runtime_spdx[cleandirs] = "${SPDXRUNTIMEDEPLOY}"
818do_create_runtime_spdx[rdeptask] = "do_create_spdx"
819
820def spdx_get_src(d):
821 """
822 save patched source of the recipe in SPDX_WORKDIR.
823 """
824 import shutil
825 spdx_workdir = d.getVar('SPDXWORK')
826 spdx_sysroot_native = d.getVar('STAGING_DIR_NATIVE')
827 pn = d.getVar('PN')
828
829 workdir = d.getVar("WORKDIR")
830
831 try:
832 # The kernel class functions require it to be on work-shared, so we dont change WORKDIR
833 if not is_work_shared_spdx(d):
834 # Change the WORKDIR to make do_unpack do_patch run in another dir.
835 d.setVar('WORKDIR', spdx_workdir)
836 # Restore the original path to recipe's native sysroot (it's relative to WORKDIR).
837 d.setVar('STAGING_DIR_NATIVE', spdx_sysroot_native)
838
839 # The changed 'WORKDIR' also caused 'B' changed, create dir 'B' for the
840 # possibly requiring of the following tasks (such as some recipes's
841 # do_patch required 'B' existed).
842 bb.utils.mkdirhier(d.getVar('B'))
843
844 bb.build.exec_func('do_unpack', d)
845 # Copy source of kernel to spdx_workdir
846 if is_work_shared_spdx(d):
847 share_src = d.getVar('WORKDIR')
848 d.setVar('WORKDIR', spdx_workdir)
849 d.setVar('STAGING_DIR_NATIVE', spdx_sysroot_native)
850 src_dir = spdx_workdir + "/" + d.getVar('PN')+ "-" + d.getVar('PV') + "-" + d.getVar('PR')
851 bb.utils.mkdirhier(src_dir)
852 if bb.data.inherits_class('kernel',d):
853 share_src = d.getVar('STAGING_KERNEL_DIR')
854 cmd_copy_share = "cp -rf " + share_src + "/* " + src_dir + "/"
855 cmd_copy_shared_res = os.popen(cmd_copy_share).read()
856 bb.note("cmd_copy_shared_result = " + cmd_copy_shared_res)
857
858 git_path = src_dir + "/.git"
859 if os.path.exists(git_path):
860 shutils.rmtree(git_path)
861
862 # Make sure gcc and kernel sources are patched only once
863 if not (d.getVar('SRC_URI') == "" or is_work_shared_spdx(d)):
864 bb.build.exec_func('do_patch', d)
865
866 # Some userland has no source.
867 if not os.path.exists( spdx_workdir ):
868 bb.utils.mkdirhier(spdx_workdir)
869 finally:
870 d.setVar("WORKDIR", workdir)
871
872do_rootfs[recrdeptask] += "do_create_spdx do_create_runtime_spdx"
873do_rootfs[cleandirs] += "${SPDXIMAGEWORK}"
874
875ROOTFS_POSTUNINSTALL_COMMAND =+ "image_combine_spdx ; "
876
877do_populate_sdk[recrdeptask] += "do_create_spdx do_create_runtime_spdx"
878do_populate_sdk[cleandirs] += "${SPDXSDKWORK}"
879POPULATE_SDK_POST_HOST_COMMAND:append:task-populate-sdk = " sdk_host_combine_spdx; "
880POPULATE_SDK_POST_TARGET_COMMAND:append:task-populate-sdk = " sdk_target_combine_spdx; "
881
882python image_combine_spdx() {
883 import os
884 import oe.sbom
885 from pathlib import Path
886 from oe.rootfs import image_list_installed_packages
887
888 image_name = d.getVar("IMAGE_NAME")
889 image_link_name = d.getVar("IMAGE_LINK_NAME")
890 imgdeploydir = Path(d.getVar("IMGDEPLOYDIR"))
891 img_spdxid = oe.sbom.get_image_spdxid(image_name)
892 packages = image_list_installed_packages(d)
893
894 combine_spdx(d, image_name, imgdeploydir, img_spdxid, packages, Path(d.getVar("SPDXIMAGEWORK")))
895
896 def make_image_link(target_path, suffix):
897 if image_link_name:
898 link = imgdeploydir / (image_link_name + suffix)
899 if link != target_path:
900 link.symlink_to(os.path.relpath(target_path, link.parent))
901
902 spdx_tar_path = imgdeploydir / (image_name + ".spdx.tar.zst")
903 make_image_link(spdx_tar_path, ".spdx.tar.zst")
904}
905
906python sdk_host_combine_spdx() {
907 sdk_combine_spdx(d, "host")
908}
909
910python sdk_target_combine_spdx() {
911 sdk_combine_spdx(d, "target")
912}
913
914def sdk_combine_spdx(d, sdk_type):
915 import oe.sbom
916 from pathlib import Path
917 from oe.sdk import sdk_list_installed_packages
918
919 sdk_name = d.getVar("SDK_NAME") + "-" + sdk_type
920 sdk_deploydir = Path(d.getVar("SDKDEPLOYDIR"))
921 sdk_spdxid = oe.sbom.get_sdk_spdxid(sdk_name)
922 sdk_packages = sdk_list_installed_packages(d, sdk_type == "target")
923 combine_spdx(d, sdk_name, sdk_deploydir, sdk_spdxid, sdk_packages, Path(d.getVar('SPDXSDKWORK')))
924
925def combine_spdx(d, rootfs_name, rootfs_deploydir, rootfs_spdxid, packages, spdx_workdir):
926 import os
927 import oe.spdx
928 import oe.sbom
929 import io
930 import json
931 from datetime import timezone, datetime
932 from pathlib import Path
933 import tarfile
934 import bb.compress.zstd
935
936 creation_time = datetime.now(tz=timezone.utc).strftime("%Y-%m-%dT%H:%M:%SZ")
937 deploy_dir_spdx = Path(d.getVar("DEPLOY_DIR_SPDX"))
938 source_date_epoch = d.getVar("SOURCE_DATE_EPOCH")
939
940 doc = oe.spdx.SPDXDocument()
941 doc.name = rootfs_name
942 doc.documentNamespace = get_doc_namespace(d, doc)
943 doc.creationInfo.created = creation_time
944 doc.creationInfo.comment = "This document was created by analyzing the source of the Yocto recipe during the build."
945 doc.creationInfo.licenseListVersion = d.getVar("SPDX_LICENSE_DATA")["licenseListVersion"]
946 doc.creationInfo.creators.append("Tool: OpenEmbedded Core create-spdx.bbclass")
947 doc.creationInfo.creators.append("Organization: %s" % d.getVar("SPDX_ORG"))
948 doc.creationInfo.creators.append("Person: N/A ()")
949
950 image = oe.spdx.SPDXPackage()
951 image.name = d.getVar("PN")
952 image.versionInfo = d.getVar("PV")
953 image.SPDXID = rootfs_spdxid
954 image.supplier = d.getVar("SPDX_SUPPLIER")
955
956 doc.packages.append(image)
957
958 for name in sorted(packages.keys()):
959 pkg_spdx_path = deploy_dir_spdx / "packages" / (name + ".spdx.json")
960 pkg_doc, pkg_doc_sha1 = oe.sbom.read_doc(pkg_spdx_path)
961
962 for p in pkg_doc.packages:
963 if p.name == name:
964 pkg_ref = oe.spdx.SPDXExternalDocumentRef()
965 pkg_ref.externalDocumentId = "DocumentRef-%s" % pkg_doc.name
966 pkg_ref.spdxDocument = pkg_doc.documentNamespace
967 pkg_ref.checksum.algorithm = "SHA1"
968 pkg_ref.checksum.checksumValue = pkg_doc_sha1
969
970 doc.externalDocumentRefs.append(pkg_ref)
971 doc.add_relationship(image, "CONTAINS", "%s:%s" % (pkg_ref.externalDocumentId, p.SPDXID))
972 break
973 else:
974 bb.fatal("Unable to find package with name '%s' in SPDX file %s" % (name, pkg_spdx_path))
975
976 runtime_spdx_path = deploy_dir_spdx / "runtime" / ("runtime-" + name + ".spdx.json")
977 runtime_doc, runtime_doc_sha1 = oe.sbom.read_doc(runtime_spdx_path)
978
979 runtime_ref = oe.spdx.SPDXExternalDocumentRef()
980 runtime_ref.externalDocumentId = "DocumentRef-%s" % runtime_doc.name
981 runtime_ref.spdxDocument = runtime_doc.documentNamespace
982 runtime_ref.checksum.algorithm = "SHA1"
983 runtime_ref.checksum.checksumValue = runtime_doc_sha1
984
985 # "OTHER" isn't ideal here, but I can't find a relationship that makes sense
986 doc.externalDocumentRefs.append(runtime_ref)
987 doc.add_relationship(
988 image,
989 "OTHER",
990 "%s:%s" % (runtime_ref.externalDocumentId, runtime_doc.SPDXID),
991 comment="Runtime dependencies for %s" % name
992 )
993
994 image_spdx_path = spdx_workdir / (rootfs_name + ".spdx.json")
995
996 with image_spdx_path.open("wb") as f:
997 doc.to_json(f, sort_keys=True, indent=get_json_indent(d))
998
999 num_threads = int(d.getVar("BB_NUMBER_THREADS"))
1000
1001 visited_docs = set()
1002
1003 index = {"documents": []}
1004
1005 spdx_tar_path = rootfs_deploydir / (rootfs_name + ".spdx.tar.zst")
1006 with bb.compress.zstd.open(spdx_tar_path, "w", num_threads=num_threads) as f:
1007 with tarfile.open(fileobj=f, mode="w|") as tar:
1008 def collect_spdx_document(path):
1009 nonlocal tar
1010 nonlocal deploy_dir_spdx
1011 nonlocal source_date_epoch
1012 nonlocal index
1013
1014 if path in visited_docs:
1015 return
1016
1017 visited_docs.add(path)
1018
1019 with path.open("rb") as f:
1020 doc, sha1 = oe.sbom.read_doc(f)
1021 f.seek(0)
1022
1023 if doc.documentNamespace in visited_docs:
1024 return
1025
1026 bb.note("Adding SPDX document %s" % path)
1027 visited_docs.add(doc.documentNamespace)
1028 info = tar.gettarinfo(fileobj=f)
1029
1030 info.name = doc.name + ".spdx.json"
1031 info.uid = 0
1032 info.gid = 0
1033 info.uname = "root"
1034 info.gname = "root"
1035
1036 if source_date_epoch is not None and info.mtime > int(source_date_epoch):
1037 info.mtime = int(source_date_epoch)
1038
1039 tar.addfile(info, f)
1040
1041 index["documents"].append({
1042 "filename": info.name,
1043 "documentNamespace": doc.documentNamespace,
1044 "sha1": sha1,
1045 })
1046
1047 for ref in doc.externalDocumentRefs:
1048 ref_path = deploy_dir_spdx / "by-namespace" / ref.spdxDocument.replace("/", "_")
1049 collect_spdx_document(ref_path)
1050
1051 collect_spdx_document(image_spdx_path)
1052
1053 index["documents"].sort(key=lambda x: x["filename"])
1054
1055 index_str = io.BytesIO(json.dumps(
1056 index,
1057 sort_keys=True,
1058 indent=get_json_indent(d),
1059 ).encode("utf-8"))
1060
1061 info = tarfile.TarInfo()
1062 info.name = "index.json"
1063 info.size = len(index_str.getvalue())
1064 info.uid = 0
1065 info.gid = 0
1066 info.uname = "root"
1067 info.gname = "root"
1068
1069 tar.addfile(info, fileobj=index_str)
diff --git a/meta/classes/create-spdx.bbclass b/meta/classes/create-spdx.bbclass
new file mode 100644
index 0000000000..19c6c0ff0b
--- /dev/null
+++ b/meta/classes/create-spdx.bbclass
@@ -0,0 +1,8 @@
1#
2# Copyright OpenEmbedded Contributors
3#
4# SPDX-License-Identifier: GPL-2.0-only
5#
6# Include this class when you don't care what version of SPDX you get; it will
7# be updated to the latest stable version that is supported
8inherit create-spdx-2.2
diff --git a/meta/files/spdx-licenses.json b/meta/files/spdx-licenses.json
new file mode 100644
index 0000000000..ef926164ec
--- /dev/null
+++ b/meta/files/spdx-licenses.json
@@ -0,0 +1,5937 @@
1{
2 "licenseListVersion": "3.14",
3 "licenses": [
4 {
5 "reference": "https://spdx.org/licenses/GPL-1.0.html",
6 "isDeprecatedLicenseId": true,
7 "detailsUrl": "https://spdx.org/licenses/GPL-1.0.json",
8 "referenceNumber": 0,
9 "name": "GNU General Public License v1.0 only",
10 "licenseId": "GPL-1.0",
11 "seeAlso": [
12 "https://www.gnu.org/licenses/old-licenses/gpl-1.0-standalone.html"
13 ],
14 "isOsiApproved": false
15 },
16 {
17 "reference": "https://spdx.org/licenses/bzip2-1.0.6.html",
18 "isDeprecatedLicenseId": false,
19 "detailsUrl": "https://spdx.org/licenses/bzip2-1.0.6.json",
20 "referenceNumber": 1,
21 "name": "bzip2 and libbzip2 License v1.0.6",
22 "licenseId": "bzip2-1.0.6",
23 "seeAlso": [
24 "https://sourceware.org/git/?p\u003dbzip2.git;a\u003dblob;f\u003dLICENSE;hb\u003dbzip2-1.0.6",
25 "http://bzip.org/1.0.5/bzip2-manual-1.0.5.html"
26 ],
27 "isOsiApproved": false
28 },
29 {
30 "reference": "https://spdx.org/licenses/Intel-ACPI.html",
31 "isDeprecatedLicenseId": false,
32 "detailsUrl": "https://spdx.org/licenses/Intel-ACPI.json",
33 "referenceNumber": 2,
34 "name": "Intel ACPI Software License Agreement",
35 "licenseId": "Intel-ACPI",
36 "seeAlso": [
37 "https://fedoraproject.org/wiki/Licensing/Intel_ACPI_Software_License_Agreement"
38 ],
39 "isOsiApproved": false
40 },
41 {
42 "reference": "https://spdx.org/licenses/XSkat.html",
43 "isDeprecatedLicenseId": false,
44 "detailsUrl": "https://spdx.org/licenses/XSkat.json",
45 "referenceNumber": 3,
46 "name": "XSkat License",
47 "licenseId": "XSkat",
48 "seeAlso": [
49 "https://fedoraproject.org/wiki/Licensing/XSkat_License"
50 ],
51 "isOsiApproved": false
52 },
53 {
54 "reference": "https://spdx.org/licenses/CC-BY-NC-SA-2.0.html",
55 "isDeprecatedLicenseId": false,
56 "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-SA-2.0.json",
57 "referenceNumber": 4,
58 "name": "Creative Commons Attribution Non Commercial Share Alike 2.0 Generic",
59 "licenseId": "CC-BY-NC-SA-2.0",
60 "seeAlso": [
61 "https://creativecommons.org/licenses/by-nc-sa/2.0/legalcode"
62 ],
63 "isOsiApproved": false
64 },
65 {
66 "reference": "https://spdx.org/licenses/Plexus.html",
67 "isDeprecatedLicenseId": false,
68 "detailsUrl": "https://spdx.org/licenses/Plexus.json",
69 "referenceNumber": 5,
70 "name": "Plexus Classworlds License",
71 "licenseId": "Plexus",
72 "seeAlso": [
73 "https://fedoraproject.org/wiki/Licensing/Plexus_Classworlds_License"
74 ],
75 "isOsiApproved": false
76 },
77 {
78 "reference": "https://spdx.org/licenses/Giftware.html",
79 "isDeprecatedLicenseId": false,
80 "detailsUrl": "https://spdx.org/licenses/Giftware.json",
81 "referenceNumber": 6,
82 "name": "Giftware License",
83 "licenseId": "Giftware",
84 "seeAlso": [
85 "http://liballeg.org/license.html#allegro-4-the-giftware-license"
86 ],
87 "isOsiApproved": false
88 },
89 {
90 "reference": "https://spdx.org/licenses/BitTorrent-1.0.html",
91 "isDeprecatedLicenseId": false,
92 "detailsUrl": "https://spdx.org/licenses/BitTorrent-1.0.json",
93 "referenceNumber": 7,
94 "name": "BitTorrent Open Source License v1.0",
95 "licenseId": "BitTorrent-1.0",
96 "seeAlso": [
97 "http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/licenses/BitTorrent?r1\u003d1.1\u0026r2\u003d1.1.1.1\u0026diff_format\u003ds"
98 ],
99 "isOsiApproved": false
100 },
101 {
102 "reference": "https://spdx.org/licenses/APSL-1.1.html",
103 "isDeprecatedLicenseId": false,
104 "detailsUrl": "https://spdx.org/licenses/APSL-1.1.json",
105 "referenceNumber": 8,
106 "name": "Apple Public Source License 1.1",
107 "licenseId": "APSL-1.1",
108 "seeAlso": [
109 "http://www.opensource.apple.com/source/IOSerialFamily/IOSerialFamily-7/APPLE_LICENSE"
110 ],
111 "isOsiApproved": true
112 },
113 {
114 "reference": "https://spdx.org/licenses/GPL-2.0-with-GCC-exception.html",
115 "isDeprecatedLicenseId": true,
116 "detailsUrl": "https://spdx.org/licenses/GPL-2.0-with-GCC-exception.json",
117 "referenceNumber": 9,
118 "name": "GNU General Public License v2.0 w/GCC Runtime Library exception",
119 "licenseId": "GPL-2.0-with-GCC-exception",
120 "seeAlso": [
121 "https://gcc.gnu.org/git/?p\u003dgcc.git;a\u003dblob;f\u003dgcc/libgcc1.c;h\u003d762f5143fc6eed57b6797c82710f3538aa52b40b;hb\u003dcb143a3ce4fb417c68f5fa2691a1b1b1053dfba9#l10"
122 ],
123 "isOsiApproved": false
124 },
125 {
126 "reference": "https://spdx.org/licenses/UPL-1.0.html",
127 "isDeprecatedLicenseId": false,
128 "detailsUrl": "https://spdx.org/licenses/UPL-1.0.json",
129 "referenceNumber": 10,
130 "name": "Universal Permissive License v1.0",
131 "licenseId": "UPL-1.0",
132 "seeAlso": [
133 "https://opensource.org/licenses/UPL"
134 ],
135 "isOsiApproved": true,
136 "isFsfLibre": true
137 },
138 {
139 "reference": "https://spdx.org/licenses/wxWindows.html",
140 "isDeprecatedLicenseId": true,
141 "detailsUrl": "https://spdx.org/licenses/wxWindows.json",
142 "referenceNumber": 11,
143 "name": "wxWindows Library License",
144 "licenseId": "wxWindows",
145 "seeAlso": [
146 "https://opensource.org/licenses/WXwindows"
147 ],
148 "isOsiApproved": false
149 },
150 {
151 "reference": "https://spdx.org/licenses/Caldera.html",
152 "isDeprecatedLicenseId": false,
153 "detailsUrl": "https://spdx.org/licenses/Caldera.json",
154 "referenceNumber": 12,
155 "name": "Caldera License",
156 "licenseId": "Caldera",
157 "seeAlso": [
158 "http://www.lemis.com/grog/UNIX/ancient-source-all.pdf"
159 ],
160 "isOsiApproved": false
161 },
162 {
163 "reference": "https://spdx.org/licenses/Zend-2.0.html",
164 "isDeprecatedLicenseId": false,
165 "detailsUrl": "https://spdx.org/licenses/Zend-2.0.json",
166 "referenceNumber": 13,
167 "name": "Zend License v2.0",
168 "licenseId": "Zend-2.0",
169 "seeAlso": [
170 "https://web.archive.org/web/20130517195954/http://www.zend.com/license/2_00.txt"
171 ],
172 "isOsiApproved": false,
173 "isFsfLibre": true
174 },
175 {
176 "reference": "https://spdx.org/licenses/CUA-OPL-1.0.html",
177 "isDeprecatedLicenseId": false,
178 "detailsUrl": "https://spdx.org/licenses/CUA-OPL-1.0.json",
179 "referenceNumber": 14,
180 "name": "CUA Office Public License v1.0",
181 "licenseId": "CUA-OPL-1.0",
182 "seeAlso": [
183 "https://opensource.org/licenses/CUA-OPL-1.0"
184 ],
185 "isOsiApproved": true
186 },
187 {
188 "reference": "https://spdx.org/licenses/JPNIC.html",
189 "isDeprecatedLicenseId": false,
190 "detailsUrl": "https://spdx.org/licenses/JPNIC.json",
191 "referenceNumber": 15,
192 "name": "Japan Network Information Center License",
193 "licenseId": "JPNIC",
194 "seeAlso": [
195 "https://gitlab.isc.org/isc-projects/bind9/blob/master/COPYRIGHT#L366"
196 ],
197 "isOsiApproved": false
198 },
199 {
200 "reference": "https://spdx.org/licenses/SAX-PD.html",
201 "isDeprecatedLicenseId": false,
202 "detailsUrl": "https://spdx.org/licenses/SAX-PD.json",
203 "referenceNumber": 16,
204 "name": "Sax Public Domain Notice",
205 "licenseId": "SAX-PD",
206 "seeAlso": [
207 "http://www.saxproject.org/copying.html"
208 ],
209 "isOsiApproved": false
210 },
211 {
212 "reference": "https://spdx.org/licenses/CC-BY-ND-2.5.html",
213 "isDeprecatedLicenseId": false,
214 "detailsUrl": "https://spdx.org/licenses/CC-BY-ND-2.5.json",
215 "referenceNumber": 17,
216 "name": "Creative Commons Attribution No Derivatives 2.5 Generic",
217 "licenseId": "CC-BY-ND-2.5",
218 "seeAlso": [
219 "https://creativecommons.org/licenses/by-nd/2.5/legalcode"
220 ],
221 "isOsiApproved": false
222 },
223 {
224 "reference": "https://spdx.org/licenses/eGenix.html",
225 "isDeprecatedLicenseId": false,
226 "detailsUrl": "https://spdx.org/licenses/eGenix.json",
227 "referenceNumber": 18,
228 "name": "eGenix.com Public License 1.1.0",
229 "licenseId": "eGenix",
230 "seeAlso": [
231 "http://www.egenix.com/products/eGenix.com-Public-License-1.1.0.pdf",
232 "https://fedoraproject.org/wiki/Licensing/eGenix.com_Public_License_1.1.0"
233 ],
234 "isOsiApproved": false
235 },
236 {
237 "reference": "https://spdx.org/licenses/LGPLLR.html",
238 "isDeprecatedLicenseId": false,
239 "detailsUrl": "https://spdx.org/licenses/LGPLLR.json",
240 "referenceNumber": 19,
241 "name": "Lesser General Public License For Linguistic Resources",
242 "licenseId": "LGPLLR",
243 "seeAlso": [
244 "http://www-igm.univ-mlv.fr/~unitex/lgpllr.html"
245 ],
246 "isOsiApproved": false
247 },
248 {
249 "reference": "https://spdx.org/licenses/OLDAP-2.2.2.html",
250 "isDeprecatedLicenseId": false,
251 "detailsUrl": "https://spdx.org/licenses/OLDAP-2.2.2.json",
252 "referenceNumber": 20,
253 "name": "Open LDAP Public License 2.2.2",
254 "licenseId": "OLDAP-2.2.2",
255 "seeAlso": [
256 "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003ddf2cc1e21eb7c160695f5b7cffd6296c151ba188"
257 ],
258 "isOsiApproved": false
259 },
260 {
261 "reference": "https://spdx.org/licenses/CC-BY-ND-3.0-DE.html",
262 "isDeprecatedLicenseId": false,
263 "detailsUrl": "https://spdx.org/licenses/CC-BY-ND-3.0-DE.json",
264 "referenceNumber": 21,
265 "name": "Creative Commons Attribution No Derivatives 3.0 Germany",
266 "licenseId": "CC-BY-ND-3.0-DE",
267 "seeAlso": [
268 "https://creativecommons.org/licenses/by-nd/3.0/de/legalcode"
269 ],
270 "isOsiApproved": false
271 },
272 {
273 "reference": "https://spdx.org/licenses/IPA.html",
274 "isDeprecatedLicenseId": false,
275 "detailsUrl": "https://spdx.org/licenses/IPA.json",
276 "referenceNumber": 22,
277 "name": "IPA Font License",
278 "licenseId": "IPA",
279 "seeAlso": [
280 "https://opensource.org/licenses/IPA"
281 ],
282 "isOsiApproved": true,
283 "isFsfLibre": true
284 },
285 {
286 "reference": "https://spdx.org/licenses/NCSA.html",
287 "isDeprecatedLicenseId": false,
288 "detailsUrl": "https://spdx.org/licenses/NCSA.json",
289 "referenceNumber": 23,
290 "name": "University of Illinois/NCSA Open Source License",
291 "licenseId": "NCSA",
292 "seeAlso": [
293 "http://otm.illinois.edu/uiuc_openSource",
294 "https://opensource.org/licenses/NCSA"
295 ],
296 "isOsiApproved": true,
297 "isFsfLibre": true
298 },
299 {
300 "reference": "https://spdx.org/licenses/W3C.html",
301 "isDeprecatedLicenseId": false,
302 "detailsUrl": "https://spdx.org/licenses/W3C.json",
303 "referenceNumber": 24,
304 "name": "W3C Software Notice and License (2002-12-31)",
305 "licenseId": "W3C",
306 "seeAlso": [
307 "http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231.html",
308 "https://opensource.org/licenses/W3C"
309 ],
310 "isOsiApproved": true,
311 "isFsfLibre": true
312 },
313 {
314 "reference": "https://spdx.org/licenses/Adobe-2006.html",
315 "isDeprecatedLicenseId": false,
316 "detailsUrl": "https://spdx.org/licenses/Adobe-2006.json",
317 "referenceNumber": 25,
318 "name": "Adobe Systems Incorporated Source Code License Agreement",
319 "licenseId": "Adobe-2006",
320 "seeAlso": [
321 "https://fedoraproject.org/wiki/Licensing/AdobeLicense"
322 ],
323 "isOsiApproved": false
324 },
325 {
326 "reference": "https://spdx.org/licenses/Net-SNMP.html",
327 "isDeprecatedLicenseId": false,
328 "detailsUrl": "https://spdx.org/licenses/Net-SNMP.json",
329 "referenceNumber": 26,
330 "name": "Net-SNMP License",
331 "licenseId": "Net-SNMP",
332 "seeAlso": [
333 "http://net-snmp.sourceforge.net/about/license.html"
334 ],
335 "isOsiApproved": false
336 },
337 {
338 "reference": "https://spdx.org/licenses/CC-BY-SA-4.0.html",
339 "isDeprecatedLicenseId": false,
340 "detailsUrl": "https://spdx.org/licenses/CC-BY-SA-4.0.json",
341 "referenceNumber": 27,
342 "name": "Creative Commons Attribution Share Alike 4.0 International",
343 "licenseId": "CC-BY-SA-4.0",
344 "seeAlso": [
345 "https://creativecommons.org/licenses/by-sa/4.0/legalcode"
346 ],
347 "isOsiApproved": false,
348 "isFsfLibre": true
349 },
350 {
351 "reference": "https://spdx.org/licenses/YPL-1.0.html",
352 "isDeprecatedLicenseId": false,
353 "detailsUrl": "https://spdx.org/licenses/YPL-1.0.json",
354 "referenceNumber": 28,
355 "name": "Yahoo! Public License v1.0",
356 "licenseId": "YPL-1.0",
357 "seeAlso": [
358 "http://www.zimbra.com/license/yahoo_public_license_1.0.html"
359 ],
360 "isOsiApproved": false
361 },
362 {
363 "reference": "https://spdx.org/licenses/Nunit.html",
364 "isDeprecatedLicenseId": true,
365 "detailsUrl": "https://spdx.org/licenses/Nunit.json",
366 "referenceNumber": 29,
367 "name": "Nunit License",
368 "licenseId": "Nunit",
369 "seeAlso": [
370 "https://fedoraproject.org/wiki/Licensing/Nunit"
371 ],
372 "isOsiApproved": false
373 },
374 {
375 "reference": "https://spdx.org/licenses/MITNFA.html",
376 "isDeprecatedLicenseId": false,
377 "detailsUrl": "https://spdx.org/licenses/MITNFA.json",
378 "referenceNumber": 30,
379 "name": "MIT +no-false-attribs license",
380 "licenseId": "MITNFA",
381 "seeAlso": [
382 "https://fedoraproject.org/wiki/Licensing/MITNFA"
383 ],
384 "isOsiApproved": false
385 },
386 {
387 "reference": "https://spdx.org/licenses/PHP-3.01.html",
388 "isDeprecatedLicenseId": false,
389 "detailsUrl": "https://spdx.org/licenses/PHP-3.01.json",
390 "referenceNumber": 31,
391 "name": "PHP License v3.01",
392 "licenseId": "PHP-3.01",
393 "seeAlso": [
394 "http://www.php.net/license/3_01.txt"
395 ],
396 "isOsiApproved": true,
397 "isFsfLibre": true
398 },
399 {
400 "reference": "https://spdx.org/licenses/BSD-Source-Code.html",
401 "isDeprecatedLicenseId": false,
402 "detailsUrl": "https://spdx.org/licenses/BSD-Source-Code.json",
403 "referenceNumber": 32,
404 "name": "BSD Source Code Attribution",
405 "licenseId": "BSD-Source-Code",
406 "seeAlso": [
407 "https://github.com/robbiehanson/CocoaHTTPServer/blob/master/LICENSE.txt"
408 ],
409 "isOsiApproved": false
410 },
411 {
412 "reference": "https://spdx.org/licenses/CC-BY-SA-2.5.html",
413 "isDeprecatedLicenseId": false,
414 "detailsUrl": "https://spdx.org/licenses/CC-BY-SA-2.5.json",
415 "referenceNumber": 33,
416 "name": "Creative Commons Attribution Share Alike 2.5 Generic",
417 "licenseId": "CC-BY-SA-2.5",
418 "seeAlso": [
419 "https://creativecommons.org/licenses/by-sa/2.5/legalcode"
420 ],
421 "isOsiApproved": false
422 },
423 {
424 "reference": "https://spdx.org/licenses/Motosoto.html",
425 "isDeprecatedLicenseId": false,
426 "detailsUrl": "https://spdx.org/licenses/Motosoto.json",
427 "referenceNumber": 34,
428 "name": "Motosoto License",
429 "licenseId": "Motosoto",
430 "seeAlso": [
431 "https://opensource.org/licenses/Motosoto"
432 ],
433 "isOsiApproved": true
434 },
435 {
436 "reference": "https://spdx.org/licenses/OSL-1.1.html",
437 "isDeprecatedLicenseId": false,
438 "detailsUrl": "https://spdx.org/licenses/OSL-1.1.json",
439 "referenceNumber": 35,
440 "name": "Open Software License 1.1",
441 "licenseId": "OSL-1.1",
442 "seeAlso": [
443 "https://fedoraproject.org/wiki/Licensing/OSL1.1"
444 ],
445 "isOsiApproved": false,
446 "isFsfLibre": true
447 },
448 {
449 "reference": "https://spdx.org/licenses/NGPL.html",
450 "isDeprecatedLicenseId": false,
451 "detailsUrl": "https://spdx.org/licenses/NGPL.json",
452 "referenceNumber": 36,
453 "name": "Nethack General Public License",
454 "licenseId": "NGPL",
455 "seeAlso": [
456 "https://opensource.org/licenses/NGPL"
457 ],
458 "isOsiApproved": true
459 },
460 {
461 "reference": "https://spdx.org/licenses/CC-BY-2.5-AU.html",
462 "isDeprecatedLicenseId": false,
463 "detailsUrl": "https://spdx.org/licenses/CC-BY-2.5-AU.json",
464 "referenceNumber": 37,
465 "name": "Creative Commons Attribution 2.5 Australia",
466 "licenseId": "CC-BY-2.5-AU",
467 "seeAlso": [
468 "https://creativecommons.org/licenses/by/2.5/au/legalcode"
469 ],
470 "isOsiApproved": false
471 },
472 {
473 "reference": "https://spdx.org/licenses/Unicode-TOU.html",
474 "isDeprecatedLicenseId": false,
475 "detailsUrl": "https://spdx.org/licenses/Unicode-TOU.json",
476 "referenceNumber": 38,
477 "name": "Unicode Terms of Use",
478 "licenseId": "Unicode-TOU",
479 "seeAlso": [
480 "http://www.unicode.org/copyright.html"
481 ],
482 "isOsiApproved": false
483 },
484 {
485 "reference": "https://spdx.org/licenses/BSD-3-Clause-No-Nuclear-License.html",
486 "isDeprecatedLicenseId": false,
487 "detailsUrl": "https://spdx.org/licenses/BSD-3-Clause-No-Nuclear-License.json",
488 "referenceNumber": 39,
489 "name": "BSD 3-Clause No Nuclear License",
490 "licenseId": "BSD-3-Clause-No-Nuclear-License",
491 "seeAlso": [
492 "http://download.oracle.com/otn-pub/java/licenses/bsd.txt?AuthParam\u003d1467140197_43d516ce1776bd08a58235a7785be1cc"
493 ],
494 "isOsiApproved": false
495 },
496 {
497 "reference": "https://spdx.org/licenses/OPUBL-1.0.html",
498 "isDeprecatedLicenseId": false,
499 "detailsUrl": "https://spdx.org/licenses/OPUBL-1.0.json",
500 "referenceNumber": 40,
501 "name": "Open Publication License v1.0",
502 "licenseId": "OPUBL-1.0",
503 "seeAlso": [
504 "http://opencontent.org/openpub/",
505 "https://www.debian.org/opl",
506 "https://www.ctan.org/license/opl"
507 ],
508 "isOsiApproved": false
509 },
510 {
511 "reference": "https://spdx.org/licenses/CC-BY-NC-SA-2.0-UK.html",
512 "isDeprecatedLicenseId": false,
513 "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-SA-2.0-UK.json",
514 "referenceNumber": 41,
515 "name": "Creative Commons Attribution Non Commercial Share Alike 2.0 England and Wales",
516 "licenseId": "CC-BY-NC-SA-2.0-UK",
517 "seeAlso": [
518 "https://creativecommons.org/licenses/by-nc-sa/2.0/uk/legalcode"
519 ],
520 "isOsiApproved": false
521 },
522 {
523 "reference": "https://spdx.org/licenses/NLOD-2.0.html",
524 "isDeprecatedLicenseId": false,
525 "detailsUrl": "https://spdx.org/licenses/NLOD-2.0.json",
526 "referenceNumber": 42,
527 "name": "Norwegian Licence for Open Government Data (NLOD) 2.0",
528 "licenseId": "NLOD-2.0",
529 "seeAlso": [
530 "http://data.norge.no/nlod/en/2.0"
531 ],
532 "isOsiApproved": false
533 },
534 {
535 "reference": "https://spdx.org/licenses/gnuplot.html",
536 "isDeprecatedLicenseId": false,
537 "detailsUrl": "https://spdx.org/licenses/gnuplot.json",
538 "referenceNumber": 43,
539 "name": "gnuplot License",
540 "licenseId": "gnuplot",
541 "seeAlso": [
542 "https://fedoraproject.org/wiki/Licensing/Gnuplot"
543 ],
544 "isOsiApproved": false,
545 "isFsfLibre": true
546 },
547 {
548 "reference": "https://spdx.org/licenses/EPICS.html",
549 "isDeprecatedLicenseId": false,
550 "detailsUrl": "https://spdx.org/licenses/EPICS.json",
551 "referenceNumber": 44,
552 "name": "EPICS Open License",
553 "licenseId": "EPICS",
554 "seeAlso": [
555 "https://epics.anl.gov/license/open.php"
556 ],
557 "isOsiApproved": false
558 },
559 {
560 "reference": "https://spdx.org/licenses/Info-ZIP.html",
561 "isDeprecatedLicenseId": false,
562 "detailsUrl": "https://spdx.org/licenses/Info-ZIP.json",
563 "referenceNumber": 45,
564 "name": "Info-ZIP License",
565 "licenseId": "Info-ZIP",
566 "seeAlso": [
567 "http://www.info-zip.org/license.html"
568 ],
569 "isOsiApproved": false
570 },
571 {
572 "reference": "https://spdx.org/licenses/OLDAP-2.0.html",
573 "isDeprecatedLicenseId": false,
574 "detailsUrl": "https://spdx.org/licenses/OLDAP-2.0.json",
575 "referenceNumber": 46,
576 "name": "Open LDAP Public License v2.0 (or possibly 2.0A and 2.0B)",
577 "licenseId": "OLDAP-2.0",
578 "seeAlso": [
579 "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003dcbf50f4e1185a21abd4c0a54d3f4341fe28f36ea"
580 ],
581 "isOsiApproved": false
582 },
583 {
584 "reference": "https://spdx.org/licenses/CERN-OHL-P-2.0.html",
585 "isDeprecatedLicenseId": false,
586 "detailsUrl": "https://spdx.org/licenses/CERN-OHL-P-2.0.json",
587 "referenceNumber": 47,
588 "name": "CERN Open Hardware Licence Version 2 - Permissive",
589 "licenseId": "CERN-OHL-P-2.0",
590 "seeAlso": [
591 "https://www.ohwr.org/project/cernohl/wikis/Documents/CERN-OHL-version-2"
592 ],
593 "isOsiApproved": true
594 },
595 {
596 "reference": "https://spdx.org/licenses/BSD-3-Clause-No-Nuclear-Warranty.html",
597 "isDeprecatedLicenseId": false,
598 "detailsUrl": "https://spdx.org/licenses/BSD-3-Clause-No-Nuclear-Warranty.json",
599 "referenceNumber": 48,
600 "name": "BSD 3-Clause No Nuclear Warranty",
601 "licenseId": "BSD-3-Clause-No-Nuclear-Warranty",
602 "seeAlso": [
603 "https://jogamp.org/git/?p\u003dgluegen.git;a\u003dblob_plain;f\u003dLICENSE.txt"
604 ],
605 "isOsiApproved": false
606 },
607 {
608 "reference": "https://spdx.org/licenses/AML.html",
609 "isDeprecatedLicenseId": false,
610 "detailsUrl": "https://spdx.org/licenses/AML.json",
611 "referenceNumber": 49,
612 "name": "Apple MIT License",
613 "licenseId": "AML",
614 "seeAlso": [
615 "https://fedoraproject.org/wiki/Licensing/Apple_MIT_License"
616 ],
617 "isOsiApproved": false
618 },
619 {
620 "reference": "https://spdx.org/licenses/MulanPSL-1.0.html",
621 "isDeprecatedLicenseId": false,
622 "detailsUrl": "https://spdx.org/licenses/MulanPSL-1.0.json",
623 "referenceNumber": 50,
624 "name": "Mulan Permissive Software License, Version 1",
625 "licenseId": "MulanPSL-1.0",
626 "seeAlso": [
627 "https://license.coscl.org.cn/MulanPSL/",
628 "https://github.com/yuwenlong/longphp/blob/25dfb70cc2a466dc4bb55ba30901cbce08d164b5/LICENSE"
629 ],
630 "isOsiApproved": false
631 },
632 {
633 "reference": "https://spdx.org/licenses/Multics.html",
634 "isDeprecatedLicenseId": false,
635 "detailsUrl": "https://spdx.org/licenses/Multics.json",
636 "referenceNumber": 51,
637 "name": "Multics License",
638 "licenseId": "Multics",
639 "seeAlso": [
640 "https://opensource.org/licenses/Multics"
641 ],
642 "isOsiApproved": true
643 },
644 {
645 "reference": "https://spdx.org/licenses/VSL-1.0.html",
646 "isDeprecatedLicenseId": false,
647 "detailsUrl": "https://spdx.org/licenses/VSL-1.0.json",
648 "referenceNumber": 52,
649 "name": "Vovida Software License v1.0",
650 "licenseId": "VSL-1.0",
651 "seeAlso": [
652 "https://opensource.org/licenses/VSL-1.0"
653 ],
654 "isOsiApproved": true
655 },
656 {
657 "reference": "https://spdx.org/licenses/RSA-MD.html",
658 "isDeprecatedLicenseId": false,
659 "detailsUrl": "https://spdx.org/licenses/RSA-MD.json",
660 "referenceNumber": 53,
661 "name": "RSA Message-Digest License",
662 "licenseId": "RSA-MD",
663 "seeAlso": [
664 "http://www.faqs.org/rfcs/rfc1321.html"
665 ],
666 "isOsiApproved": false
667 },
668 {
669 "reference": "https://spdx.org/licenses/CC-PDDC.html",
670 "isDeprecatedLicenseId": false,
671 "detailsUrl": "https://spdx.org/licenses/CC-PDDC.json",
672 "referenceNumber": 54,
673 "name": "Creative Commons Public Domain Dedication and Certification",
674 "licenseId": "CC-PDDC",
675 "seeAlso": [
676 "https://creativecommons.org/licenses/publicdomain/"
677 ],
678 "isOsiApproved": false
679 },
680 {
681 "reference": "https://spdx.org/licenses/CC-BY-SA-2.1-JP.html",
682 "isDeprecatedLicenseId": false,
683 "detailsUrl": "https://spdx.org/licenses/CC-BY-SA-2.1-JP.json",
684 "referenceNumber": 55,
685 "name": "Creative Commons Attribution Share Alike 2.1 Japan",
686 "licenseId": "CC-BY-SA-2.1-JP",
687 "seeAlso": [
688 "https://creativecommons.org/licenses/by-sa/2.1/jp/legalcode"
689 ],
690 "isOsiApproved": false
691 },
692 {
693 "reference": "https://spdx.org/licenses/LPPL-1.2.html",
694 "isDeprecatedLicenseId": false,
695 "detailsUrl": "https://spdx.org/licenses/LPPL-1.2.json",
696 "referenceNumber": 56,
697 "name": "LaTeX Project Public License v1.2",
698 "licenseId": "LPPL-1.2",
699 "seeAlso": [
700 "http://www.latex-project.org/lppl/lppl-1-2.txt"
701 ],
702 "isOsiApproved": false,
703 "isFsfLibre": true
704 },
705 {
706 "reference": "https://spdx.org/licenses/Spencer-94.html",
707 "isDeprecatedLicenseId": false,
708 "detailsUrl": "https://spdx.org/licenses/Spencer-94.json",
709 "referenceNumber": 57,
710 "name": "Spencer License 94",
711 "licenseId": "Spencer-94",
712 "seeAlso": [
713 "https://fedoraproject.org/wiki/Licensing/Henry_Spencer_Reg-Ex_Library_License"
714 ],
715 "isOsiApproved": false
716 },
717 {
718 "reference": "https://spdx.org/licenses/OLDAP-1.2.html",
719 "isDeprecatedLicenseId": false,
720 "detailsUrl": "https://spdx.org/licenses/OLDAP-1.2.json",
721 "referenceNumber": 58,
722 "name": "Open LDAP Public License v1.2",
723 "licenseId": "OLDAP-1.2",
724 "seeAlso": [
725 "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003d42b0383c50c299977b5893ee695cf4e486fb0dc7"
726 ],
727 "isOsiApproved": false
728 },
729 {
730 "reference": "https://spdx.org/licenses/O-UDA-1.0.html",
731 "isDeprecatedLicenseId": false,
732 "detailsUrl": "https://spdx.org/licenses/O-UDA-1.0.json",
733 "referenceNumber": 59,
734 "name": "Open Use of Data Agreement v1.0",
735 "licenseId": "O-UDA-1.0",
736 "seeAlso": [
737 "https://github.com/microsoft/Open-Use-of-Data-Agreement/blob/v1.0/O-UDA-1.0.md",
738 "https://cdla.dev/open-use-of-data-agreement-v1-0/"
739 ],
740 "isOsiApproved": false
741 },
742 {
743 "reference": "https://spdx.org/licenses/OLDAP-2.7.html",
744 "isDeprecatedLicenseId": false,
745 "detailsUrl": "https://spdx.org/licenses/OLDAP-2.7.json",
746 "referenceNumber": 60,
747 "name": "Open LDAP Public License v2.7",
748 "licenseId": "OLDAP-2.7",
749 "seeAlso": [
750 "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003d47c2415c1df81556eeb39be6cad458ef87c534a2"
751 ],
752 "isOsiApproved": false,
753 "isFsfLibre": true
754 },
755 {
756 "reference": "https://spdx.org/licenses/Glulxe.html",
757 "isDeprecatedLicenseId": false,
758 "detailsUrl": "https://spdx.org/licenses/Glulxe.json",
759 "referenceNumber": 61,
760 "name": "Glulxe License",
761 "licenseId": "Glulxe",
762 "seeAlso": [
763 "https://fedoraproject.org/wiki/Licensing/Glulxe"
764 ],
765 "isOsiApproved": false
766 },
767 {
768 "reference": "https://spdx.org/licenses/iMatix.html",
769 "isDeprecatedLicenseId": false,
770 "detailsUrl": "https://spdx.org/licenses/iMatix.json",
771 "referenceNumber": 62,
772 "name": "iMatix Standard Function Library Agreement",
773 "licenseId": "iMatix",
774 "seeAlso": [
775 "http://legacy.imatix.com/html/sfl/sfl4.htm#license"
776 ],
777 "isOsiApproved": false,
778 "isFsfLibre": true
779 },
780 {
781 "reference": "https://spdx.org/licenses/TAPR-OHL-1.0.html",
782 "isDeprecatedLicenseId": false,
783 "detailsUrl": "https://spdx.org/licenses/TAPR-OHL-1.0.json",
784 "referenceNumber": 63,
785 "name": "TAPR Open Hardware License v1.0",
786 "licenseId": "TAPR-OHL-1.0",
787 "seeAlso": [
788 "https://www.tapr.org/OHL"
789 ],
790 "isOsiApproved": false
791 },
792 {
793 "reference": "https://spdx.org/licenses/NBPL-1.0.html",
794 "isDeprecatedLicenseId": false,
795 "detailsUrl": "https://spdx.org/licenses/NBPL-1.0.json",
796 "referenceNumber": 64,
797 "name": "Net Boolean Public License v1",
798 "licenseId": "NBPL-1.0",
799 "seeAlso": [
800 "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003d37b4b3f6cc4bf34e1d3dec61e69914b9819d8894"
801 ],
802 "isOsiApproved": false
803 },
804 {
805 "reference": "https://spdx.org/licenses/LiLiQ-R-1.1.html",
806 "isDeprecatedLicenseId": false,
807 "detailsUrl": "https://spdx.org/licenses/LiLiQ-R-1.1.json",
808 "referenceNumber": 65,
809 "name": "Licence Libre du Québec – Réciprocité version 1.1",
810 "licenseId": "LiLiQ-R-1.1",
811 "seeAlso": [
812 "https://www.forge.gouv.qc.ca/participez/licence-logicielle/licence-libre-du-quebec-liliq-en-francais/licence-libre-du-quebec-reciprocite-liliq-r-v1-1/",
813 "http://opensource.org/licenses/LiLiQ-R-1.1"
814 ],
815 "isOsiApproved": true
816 },
817 {
818 "reference": "https://spdx.org/licenses/Noweb.html",
819 "isDeprecatedLicenseId": false,
820 "detailsUrl": "https://spdx.org/licenses/Noweb.json",
821 "referenceNumber": 66,
822 "name": "Noweb License",
823 "licenseId": "Noweb",
824 "seeAlso": [
825 "https://fedoraproject.org/wiki/Licensing/Noweb"
826 ],
827 "isOsiApproved": false
828 },
829 {
830 "reference": "https://spdx.org/licenses/CC0-1.0.html",
831 "isDeprecatedLicenseId": false,
832 "detailsUrl": "https://spdx.org/licenses/CC0-1.0.json",
833 "referenceNumber": 67,
834 "name": "Creative Commons Zero v1.0 Universal",
835 "licenseId": "CC0-1.0",
836 "seeAlso": [
837 "https://creativecommons.org/publicdomain/zero/1.0/legalcode"
838 ],
839 "isOsiApproved": false,
840 "isFsfLibre": true
841 },
842 {
843 "reference": "https://spdx.org/licenses/BSD-Protection.html",
844 "isDeprecatedLicenseId": false,
845 "detailsUrl": "https://spdx.org/licenses/BSD-Protection.json",
846 "referenceNumber": 68,
847 "name": "BSD Protection License",
848 "licenseId": "BSD-Protection",
849 "seeAlso": [
850 "https://fedoraproject.org/wiki/Licensing/BSD_Protection_License"
851 ],
852 "isOsiApproved": false
853 },
854 {
855 "reference": "https://spdx.org/licenses/CC-BY-NC-2.5.html",
856 "isDeprecatedLicenseId": false,
857 "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-2.5.json",
858 "referenceNumber": 69,
859 "name": "Creative Commons Attribution Non Commercial 2.5 Generic",
860 "licenseId": "CC-BY-NC-2.5",
861 "seeAlso": [
862 "https://creativecommons.org/licenses/by-nc/2.5/legalcode"
863 ],
864 "isOsiApproved": false
865 },
866 {
867 "reference": "https://spdx.org/licenses/Zlib.html",
868 "isDeprecatedLicenseId": false,
869 "detailsUrl": "https://spdx.org/licenses/Zlib.json",
870 "referenceNumber": 70,
871 "name": "zlib License",
872 "licenseId": "Zlib",
873 "seeAlso": [
874 "http://www.zlib.net/zlib_license.html",
875 "https://opensource.org/licenses/Zlib"
876 ],
877 "isOsiApproved": true,
878 "isFsfLibre": true
879 },
880 {
881 "reference": "https://spdx.org/licenses/GFDL-1.3-invariants-or-later.html",
882 "isDeprecatedLicenseId": false,
883 "detailsUrl": "https://spdx.org/licenses/GFDL-1.3-invariants-or-later.json",
884 "referenceNumber": 71,
885 "name": "GNU Free Documentation License v1.3 or later - invariants",
886 "licenseId": "GFDL-1.3-invariants-or-later",
887 "seeAlso": [
888 "https://www.gnu.org/licenses/fdl-1.3.txt"
889 ],
890 "isOsiApproved": false
891 },
892 {
893 "reference": "https://spdx.org/licenses/CC-BY-3.0-AT.html",
894 "isDeprecatedLicenseId": false,
895 "detailsUrl": "https://spdx.org/licenses/CC-BY-3.0-AT.json",
896 "referenceNumber": 72,
897 "name": "Creative Commons Attribution 3.0 Austria",
898 "licenseId": "CC-BY-3.0-AT",
899 "seeAlso": [
900 "https://creativecommons.org/licenses/by/3.0/at/legalcode"
901 ],
902 "isOsiApproved": false
903 },
904 {
905 "reference": "https://spdx.org/licenses/LPPL-1.3c.html",
906 "isDeprecatedLicenseId": false,
907 "detailsUrl": "https://spdx.org/licenses/LPPL-1.3c.json",
908 "referenceNumber": 73,
909 "name": "LaTeX Project Public License v1.3c",
910 "licenseId": "LPPL-1.3c",
911 "seeAlso": [
912 "http://www.latex-project.org/lppl/lppl-1-3c.txt",
913 "https://opensource.org/licenses/LPPL-1.3c"
914 ],
915 "isOsiApproved": true
916 },
917 {
918 "reference": "https://spdx.org/licenses/EPL-1.0.html",
919 "isDeprecatedLicenseId": false,
920 "detailsUrl": "https://spdx.org/licenses/EPL-1.0.json",
921 "referenceNumber": 74,
922 "name": "Eclipse Public License 1.0",
923 "licenseId": "EPL-1.0",
924 "seeAlso": [
925 "http://www.eclipse.org/legal/epl-v10.html",
926 "https://opensource.org/licenses/EPL-1.0"
927 ],
928 "isOsiApproved": true,
929 "isFsfLibre": true
930 },
931 {
932 "reference": "https://spdx.org/licenses/GFDL-1.1-invariants-or-later.html",
933 "isDeprecatedLicenseId": false,
934 "detailsUrl": "https://spdx.org/licenses/GFDL-1.1-invariants-or-later.json",
935 "referenceNumber": 75,
936 "name": "GNU Free Documentation License v1.1 or later - invariants",
937 "licenseId": "GFDL-1.1-invariants-or-later",
938 "seeAlso": [
939 "https://www.gnu.org/licenses/old-licenses/fdl-1.1.txt"
940 ],
941 "isOsiApproved": false
942 },
943 {
944 "reference": "https://spdx.org/licenses/ANTLR-PD-fallback.html",
945 "isDeprecatedLicenseId": false,
946 "detailsUrl": "https://spdx.org/licenses/ANTLR-PD-fallback.json",
947 "referenceNumber": 76,
948 "name": "ANTLR Software Rights Notice with license fallback",
949 "licenseId": "ANTLR-PD-fallback",
950 "seeAlso": [
951 "http://www.antlr2.org/license.html"
952 ],
953 "isOsiApproved": false
954 },
955 {
956 "reference": "https://spdx.org/licenses/OLDAP-2.4.html",
957 "isDeprecatedLicenseId": false,
958 "detailsUrl": "https://spdx.org/licenses/OLDAP-2.4.json",
959 "referenceNumber": 77,
960 "name": "Open LDAP Public License v2.4",
961 "licenseId": "OLDAP-2.4",
962 "seeAlso": [
963 "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003dcd1284c4a91a8a380d904eee68d1583f989ed386"
964 ],
965 "isOsiApproved": false
966 },
967 {
968 "reference": "https://spdx.org/licenses/OLDAP-2.3.html",
969 "isDeprecatedLicenseId": false,
970 "detailsUrl": "https://spdx.org/licenses/OLDAP-2.3.json",
971 "referenceNumber": 78,
972 "name": "Open LDAP Public License v2.3",
973 "licenseId": "OLDAP-2.3",
974 "seeAlso": [
975 "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003dd32cf54a32d581ab475d23c810b0a7fbaf8d63c3"
976 ],
977 "isOsiApproved": false,
978 "isFsfLibre": true
979 },
980 {
981 "reference": "https://spdx.org/licenses/ZPL-2.1.html",
982 "isDeprecatedLicenseId": false,
983 "detailsUrl": "https://spdx.org/licenses/ZPL-2.1.json",
984 "referenceNumber": 79,
985 "name": "Zope Public License 2.1",
986 "licenseId": "ZPL-2.1",
987 "seeAlso": [
988 "http://old.zope.org/Resources/ZPL/"
989 ],
990 "isOsiApproved": true,
991 "isFsfLibre": true
992 },
993 {
994 "reference": "https://spdx.org/licenses/Apache-2.0.html",
995 "isDeprecatedLicenseId": false,
996 "detailsUrl": "https://spdx.org/licenses/Apache-2.0.json",
997 "referenceNumber": 80,
998 "name": "Apache License 2.0",
999 "licenseId": "Apache-2.0",
1000 "seeAlso": [
1001 "https://www.apache.org/licenses/LICENSE-2.0",
1002 "https://opensource.org/licenses/Apache-2.0"
1003 ],
1004 "isOsiApproved": true,
1005 "isFsfLibre": true
1006 },
1007 {
1008 "reference": "https://spdx.org/licenses/SGI-B-2.0.html",
1009 "isDeprecatedLicenseId": false,
1010 "detailsUrl": "https://spdx.org/licenses/SGI-B-2.0.json",
1011 "referenceNumber": 81,
1012 "name": "SGI Free Software License B v2.0",
1013 "licenseId": "SGI-B-2.0",
1014 "seeAlso": [
1015 "http://oss.sgi.com/projects/FreeB/SGIFreeSWLicB.2.0.pdf"
1016 ],
1017 "isOsiApproved": false,
1018 "isFsfLibre": true
1019 },
1020 {
1021 "reference": "https://spdx.org/licenses/Hippocratic-2.1.html",
1022 "isDeprecatedLicenseId": false,
1023 "detailsUrl": "https://spdx.org/licenses/Hippocratic-2.1.json",
1024 "referenceNumber": 82,
1025 "name": "Hippocratic License 2.1",
1026 "licenseId": "Hippocratic-2.1",
1027 "seeAlso": [
1028 "https://firstdonoharm.dev/version/2/1/license.html",
1029 "https://github.com/EthicalSource/hippocratic-license/blob/58c0e646d64ff6fbee275bfe2b9492f914e3ab2a/LICENSE.txt"
1030 ],
1031 "isOsiApproved": false
1032 },
1033 {
1034 "reference": "https://spdx.org/licenses/CC-BY-SA-3.0-DE.html",
1035 "isDeprecatedLicenseId": false,
1036 "detailsUrl": "https://spdx.org/licenses/CC-BY-SA-3.0-DE.json",
1037 "referenceNumber": 83,
1038 "name": "Creative Commons Attribution Share Alike 3.0 Germany",
1039 "licenseId": "CC-BY-SA-3.0-DE",
1040 "seeAlso": [
1041 "https://creativecommons.org/licenses/by-sa/3.0/de/legalcode"
1042 ],
1043 "isOsiApproved": false
1044 },
1045 {
1046 "reference": "https://spdx.org/licenses/CC-BY-NC-SA-1.0.html",
1047 "isDeprecatedLicenseId": false,
1048 "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-SA-1.0.json",
1049 "referenceNumber": 84,
1050 "name": "Creative Commons Attribution Non Commercial Share Alike 1.0 Generic",
1051 "licenseId": "CC-BY-NC-SA-1.0",
1052 "seeAlso": [
1053 "https://creativecommons.org/licenses/by-nc-sa/1.0/legalcode"
1054 ],
1055 "isOsiApproved": false
1056 },
1057 {
1058 "reference": "https://spdx.org/licenses/LGPL-2.1-or-later.html",
1059 "isDeprecatedLicenseId": false,
1060 "detailsUrl": "https://spdx.org/licenses/LGPL-2.1-or-later.json",
1061 "referenceNumber": 85,
1062 "name": "GNU Lesser General Public License v2.1 or later",
1063 "licenseId": "LGPL-2.1-or-later",
1064 "seeAlso": [
1065 "https://www.gnu.org/licenses/old-licenses/lgpl-2.1-standalone.html",
1066 "https://opensource.org/licenses/LGPL-2.1"
1067 ],
1068 "isOsiApproved": true,
1069 "isFsfLibre": true
1070 },
1071 {
1072 "reference": "https://spdx.org/licenses/CC-BY-3.0-US.html",
1073 "isDeprecatedLicenseId": false,
1074 "detailsUrl": "https://spdx.org/licenses/CC-BY-3.0-US.json",
1075 "referenceNumber": 86,
1076 "name": "Creative Commons Attribution 3.0 United States",
1077 "licenseId": "CC-BY-3.0-US",
1078 "seeAlso": [
1079 "https://creativecommons.org/licenses/by/3.0/us/legalcode"
1080 ],
1081 "isOsiApproved": false
1082 },
1083 {
1084 "reference": "https://spdx.org/licenses/TCP-wrappers.html",
1085 "isDeprecatedLicenseId": false,
1086 "detailsUrl": "https://spdx.org/licenses/TCP-wrappers.json",
1087 "referenceNumber": 87,
1088 "name": "TCP Wrappers License",
1089 "licenseId": "TCP-wrappers",
1090 "seeAlso": [
1091 "http://rc.quest.com/topics/openssh/license.php#tcpwrappers"
1092 ],
1093 "isOsiApproved": false
1094 },
1095 {
1096 "reference": "https://spdx.org/licenses/GFDL-1.2-invariants-or-later.html",
1097 "isDeprecatedLicenseId": false,
1098 "detailsUrl": "https://spdx.org/licenses/GFDL-1.2-invariants-or-later.json",
1099 "referenceNumber": 88,
1100 "name": "GNU Free Documentation License v1.2 or later - invariants",
1101 "licenseId": "GFDL-1.2-invariants-or-later",
1102 "seeAlso": [
1103 "https://www.gnu.org/licenses/old-licenses/fdl-1.2.txt"
1104 ],
1105 "isOsiApproved": false
1106 },
1107 {
1108 "reference": "https://spdx.org/licenses/Eurosym.html",
1109 "isDeprecatedLicenseId": false,
1110 "detailsUrl": "https://spdx.org/licenses/Eurosym.json",
1111 "referenceNumber": 89,
1112 "name": "Eurosym License",
1113 "licenseId": "Eurosym",
1114 "seeAlso": [
1115 "https://fedoraproject.org/wiki/Licensing/Eurosym"
1116 ],
1117 "isOsiApproved": false
1118 },
1119 {
1120 "reference": "https://spdx.org/licenses/GFDL-1.1.html",
1121 "isDeprecatedLicenseId": true,
1122 "detailsUrl": "https://spdx.org/licenses/GFDL-1.1.json",
1123 "referenceNumber": 90,
1124 "name": "GNU Free Documentation License v1.1",
1125 "licenseId": "GFDL-1.1",
1126 "seeAlso": [
1127 "https://www.gnu.org/licenses/old-licenses/fdl-1.1.txt"
1128 ],
1129 "isOsiApproved": false,
1130 "isFsfLibre": true
1131 },
1132 {
1133 "reference": "https://spdx.org/licenses/LPPL-1.0.html",
1134 "isDeprecatedLicenseId": false,
1135 "detailsUrl": "https://spdx.org/licenses/LPPL-1.0.json",
1136 "referenceNumber": 91,
1137 "name": "LaTeX Project Public License v1.0",
1138 "licenseId": "LPPL-1.0",
1139 "seeAlso": [
1140 "http://www.latex-project.org/lppl/lppl-1-0.txt"
1141 ],
1142 "isOsiApproved": false
1143 },
1144 {
1145 "reference": "https://spdx.org/licenses/LGPL-2.0+.html",
1146 "isDeprecatedLicenseId": true,
1147 "detailsUrl": "https://spdx.org/licenses/LGPL-2.0+.json",
1148 "referenceNumber": 92,
1149 "name": "GNU Library General Public License v2 or later",
1150 "licenseId": "LGPL-2.0+",
1151 "seeAlso": [
1152 "https://www.gnu.org/licenses/old-licenses/lgpl-2.0-standalone.html"
1153 ],
1154 "isOsiApproved": true
1155 },
1156 {
1157 "reference": "https://spdx.org/licenses/SGI-B-1.0.html",
1158 "isDeprecatedLicenseId": false,
1159 "detailsUrl": "https://spdx.org/licenses/SGI-B-1.0.json",
1160 "referenceNumber": 93,
1161 "name": "SGI Free Software License B v1.0",
1162 "licenseId": "SGI-B-1.0",
1163 "seeAlso": [
1164 "http://oss.sgi.com/projects/FreeB/SGIFreeSWLicB.1.0.html"
1165 ],
1166 "isOsiApproved": false
1167 },
1168 {
1169 "reference": "https://spdx.org/licenses/APL-1.0.html",
1170 "isDeprecatedLicenseId": false,
1171 "detailsUrl": "https://spdx.org/licenses/APL-1.0.json",
1172 "referenceNumber": 94,
1173 "name": "Adaptive Public License 1.0",
1174 "licenseId": "APL-1.0",
1175 "seeAlso": [
1176 "https://opensource.org/licenses/APL-1.0"
1177 ],
1178 "isOsiApproved": true
1179 },
1180 {
1181 "reference": "https://spdx.org/licenses/libtiff.html",
1182 "isDeprecatedLicenseId": false,
1183 "detailsUrl": "https://spdx.org/licenses/libtiff.json",
1184 "referenceNumber": 95,
1185 "name": "libtiff License",
1186 "licenseId": "libtiff",
1187 "seeAlso": [
1188 "https://fedoraproject.org/wiki/Licensing/libtiff"
1189 ],
1190 "isOsiApproved": false
1191 },
1192 {
1193 "reference": "https://spdx.org/licenses/AFL-2.1.html",
1194 "isDeprecatedLicenseId": false,
1195 "detailsUrl": "https://spdx.org/licenses/AFL-2.1.json",
1196 "referenceNumber": 96,
1197 "name": "Academic Free License v2.1",
1198 "licenseId": "AFL-2.1",
1199 "seeAlso": [
1200 "http://opensource.linux-mirror.org/licenses/afl-2.1.txt"
1201 ],
1202 "isOsiApproved": true,
1203 "isFsfLibre": true
1204 },
1205 {
1206 "reference": "https://spdx.org/licenses/CC-BY-NC-1.0.html",
1207 "isDeprecatedLicenseId": false,
1208 "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-1.0.json",
1209 "referenceNumber": 97,
1210 "name": "Creative Commons Attribution Non Commercial 1.0 Generic",
1211 "licenseId": "CC-BY-NC-1.0",
1212 "seeAlso": [
1213 "https://creativecommons.org/licenses/by-nc/1.0/legalcode"
1214 ],
1215 "isOsiApproved": false
1216 },
1217 {
1218 "reference": "https://spdx.org/licenses/GD.html",
1219 "isDeprecatedLicenseId": false,
1220 "detailsUrl": "https://spdx.org/licenses/GD.json",
1221 "referenceNumber": 98,
1222 "name": "GD License",
1223 "licenseId": "GD",
1224 "seeAlso": [
1225 "https://libgd.github.io/manuals/2.3.0/files/license-txt.html"
1226 ],
1227 "isOsiApproved": false
1228 },
1229 {
1230 "reference": "https://spdx.org/licenses/AFL-1.1.html",
1231 "isDeprecatedLicenseId": false,
1232 "detailsUrl": "https://spdx.org/licenses/AFL-1.1.json",
1233 "referenceNumber": 99,
1234 "name": "Academic Free License v1.1",
1235 "licenseId": "AFL-1.1",
1236 "seeAlso": [
1237 "http://opensource.linux-mirror.org/licenses/afl-1.1.txt",
1238 "http://wayback.archive.org/web/20021004124254/http://www.opensource.org/licenses/academic.php"
1239 ],
1240 "isOsiApproved": true,
1241 "isFsfLibre": true
1242 },
1243 {
1244 "reference": "https://spdx.org/licenses/CC-BY-NC-ND-3.0-IGO.html",
1245 "isDeprecatedLicenseId": false,
1246 "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-ND-3.0-IGO.json",
1247 "referenceNumber": 100,
1248 "name": "Creative Commons Attribution Non Commercial No Derivatives 3.0 IGO",
1249 "licenseId": "CC-BY-NC-ND-3.0-IGO",
1250 "seeAlso": [
1251 "https://creativecommons.org/licenses/by-nc-nd/3.0/igo/legalcode"
1252 ],
1253 "isOsiApproved": false
1254 },
1255 {
1256 "reference": "https://spdx.org/licenses/Unicode-DFS-2015.html",
1257 "isDeprecatedLicenseId": false,
1258 "detailsUrl": "https://spdx.org/licenses/Unicode-DFS-2015.json",
1259 "referenceNumber": 101,
1260 "name": "Unicode License Agreement - Data Files and Software (2015)",
1261 "licenseId": "Unicode-DFS-2015",
1262 "seeAlso": [
1263 "https://web.archive.org/web/20151224134844/http://unicode.org/copyright.html"
1264 ],
1265 "isOsiApproved": false
1266 },
1267 {
1268 "reference": "https://spdx.org/licenses/GFDL-1.2-only.html",
1269 "isDeprecatedLicenseId": false,
1270 "detailsUrl": "https://spdx.org/licenses/GFDL-1.2-only.json",
1271 "referenceNumber": 102,
1272 "name": "GNU Free Documentation License v1.2 only",
1273 "licenseId": "GFDL-1.2-only",
1274 "seeAlso": [
1275 "https://www.gnu.org/licenses/old-licenses/fdl-1.2.txt"
1276 ],
1277 "isOsiApproved": false,
1278 "isFsfLibre": true
1279 },
1280 {
1281 "reference": "https://spdx.org/licenses/MPL-1.1.html",
1282 "isDeprecatedLicenseId": false,
1283 "detailsUrl": "https://spdx.org/licenses/MPL-1.1.json",
1284 "referenceNumber": 103,
1285 "name": "Mozilla Public License 1.1",
1286 "licenseId": "MPL-1.1",
1287 "seeAlso": [
1288 "http://www.mozilla.org/MPL/MPL-1.1.html",
1289 "https://opensource.org/licenses/MPL-1.1"
1290 ],
1291 "isOsiApproved": true,
1292 "isFsfLibre": true
1293 },
1294 {
1295 "reference": "https://spdx.org/licenses/GPL-2.0-only.html",
1296 "isDeprecatedLicenseId": false,
1297 "detailsUrl": "https://spdx.org/licenses/GPL-2.0-only.json",
1298 "referenceNumber": 104,
1299 "name": "GNU General Public License v2.0 only",
1300 "licenseId": "GPL-2.0-only",
1301 "seeAlso": [
1302 "https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html",
1303 "https://opensource.org/licenses/GPL-2.0"
1304 ],
1305 "isOsiApproved": true,
1306 "isFsfLibre": true
1307 },
1308 {
1309 "reference": "https://spdx.org/licenses/CC-BY-NC-4.0.html",
1310 "isDeprecatedLicenseId": false,
1311 "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-4.0.json",
1312 "referenceNumber": 105,
1313 "name": "Creative Commons Attribution Non Commercial 4.0 International",
1314 "licenseId": "CC-BY-NC-4.0",
1315 "seeAlso": [
1316 "https://creativecommons.org/licenses/by-nc/4.0/legalcode"
1317 ],
1318 "isOsiApproved": false
1319 },
1320 {
1321 "reference": "https://spdx.org/licenses/FreeImage.html",
1322 "isDeprecatedLicenseId": false,
1323 "detailsUrl": "https://spdx.org/licenses/FreeImage.json",
1324 "referenceNumber": 106,
1325 "name": "FreeImage Public License v1.0",
1326 "licenseId": "FreeImage",
1327 "seeAlso": [
1328 "http://freeimage.sourceforge.net/freeimage-license.txt"
1329 ],
1330 "isOsiApproved": false
1331 },
1332 {
1333 "reference": "https://spdx.org/licenses/SHL-0.51.html",
1334 "isDeprecatedLicenseId": false,
1335 "detailsUrl": "https://spdx.org/licenses/SHL-0.51.json",
1336 "referenceNumber": 107,
1337 "name": "Solderpad Hardware License, Version 0.51",
1338 "licenseId": "SHL-0.51",
1339 "seeAlso": [
1340 "https://solderpad.org/licenses/SHL-0.51/"
1341 ],
1342 "isOsiApproved": false
1343 },
1344 {
1345 "reference": "https://spdx.org/licenses/CNRI-Jython.html",
1346 "isDeprecatedLicenseId": false,
1347 "detailsUrl": "https://spdx.org/licenses/CNRI-Jython.json",
1348 "referenceNumber": 108,
1349 "name": "CNRI Jython License",
1350 "licenseId": "CNRI-Jython",
1351 "seeAlso": [
1352 "http://www.jython.org/license.html"
1353 ],
1354 "isOsiApproved": false
1355 },
1356 {
1357 "reference": "https://spdx.org/licenses/ZPL-1.1.html",
1358 "isDeprecatedLicenseId": false,
1359 "detailsUrl": "https://spdx.org/licenses/ZPL-1.1.json",
1360 "referenceNumber": 109,
1361 "name": "Zope Public License 1.1",
1362 "licenseId": "ZPL-1.1",
1363 "seeAlso": [
1364 "http://old.zope.org/Resources/License/ZPL-1.1"
1365 ],
1366 "isOsiApproved": false
1367 },
1368 {
1369 "reference": "https://spdx.org/licenses/Afmparse.html",
1370 "isDeprecatedLicenseId": false,
1371 "detailsUrl": "https://spdx.org/licenses/Afmparse.json",
1372 "referenceNumber": 110,
1373 "name": "Afmparse License",
1374 "licenseId": "Afmparse",
1375 "seeAlso": [
1376 "https://fedoraproject.org/wiki/Licensing/Afmparse"
1377 ],
1378 "isOsiApproved": false
1379 },
1380 {
1381 "reference": "https://spdx.org/licenses/OLDAP-2.1.html",
1382 "isDeprecatedLicenseId": false,
1383 "detailsUrl": "https://spdx.org/licenses/OLDAP-2.1.json",
1384 "referenceNumber": 111,
1385 "name": "Open LDAP Public License v2.1",
1386 "licenseId": "OLDAP-2.1",
1387 "seeAlso": [
1388 "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003db0d176738e96a0d3b9f85cb51e140a86f21be715"
1389 ],
1390 "isOsiApproved": false
1391 },
1392 {
1393 "reference": "https://spdx.org/licenses/Rdisc.html",
1394 "isDeprecatedLicenseId": false,
1395 "detailsUrl": "https://spdx.org/licenses/Rdisc.json",
1396 "referenceNumber": 112,
1397 "name": "Rdisc License",
1398 "licenseId": "Rdisc",
1399 "seeAlso": [
1400 "https://fedoraproject.org/wiki/Licensing/Rdisc_License"
1401 ],
1402 "isOsiApproved": false
1403 },
1404 {
1405 "reference": "https://spdx.org/licenses/Imlib2.html",
1406 "isDeprecatedLicenseId": false,
1407 "detailsUrl": "https://spdx.org/licenses/Imlib2.json",
1408 "referenceNumber": 113,
1409 "name": "Imlib2 License",
1410 "licenseId": "Imlib2",
1411 "seeAlso": [
1412 "http://trac.enlightenment.org/e/browser/trunk/imlib2/COPYING",
1413 "https://git.enlightenment.org/legacy/imlib2.git/tree/COPYING"
1414 ],
1415 "isOsiApproved": false,
1416 "isFsfLibre": true
1417 },
1418 {
1419 "reference": "https://spdx.org/licenses/BSD-4-Clause-Shortened.html",
1420 "isDeprecatedLicenseId": false,
1421 "detailsUrl": "https://spdx.org/licenses/BSD-4-Clause-Shortened.json",
1422 "referenceNumber": 114,
1423 "name": "BSD 4 Clause Shortened",
1424 "licenseId": "BSD-4-Clause-Shortened",
1425 "seeAlso": [
1426 "https://metadata.ftp-master.debian.org/changelogs//main/a/arpwatch/arpwatch_2.1a15-7_copyright"
1427 ],
1428 "isOsiApproved": false
1429 },
1430 {
1431 "reference": "https://spdx.org/licenses/Sendmail.html",
1432 "isDeprecatedLicenseId": false,
1433 "detailsUrl": "https://spdx.org/licenses/Sendmail.json",
1434 "referenceNumber": 115,
1435 "name": "Sendmail License",
1436 "licenseId": "Sendmail",
1437 "seeAlso": [
1438 "http://www.sendmail.com/pdfs/open_source/sendmail_license.pdf",
1439 "https://web.archive.org/web/20160322142305/https://www.sendmail.com/pdfs/open_source/sendmail_license.pdf"
1440 ],
1441 "isOsiApproved": false
1442 },
1443 {
1444 "reference": "https://spdx.org/licenses/CC-BY-2.5.html",
1445 "isDeprecatedLicenseId": false,
1446 "detailsUrl": "https://spdx.org/licenses/CC-BY-2.5.json",
1447 "referenceNumber": 116,
1448 "name": "Creative Commons Attribution 2.5 Generic",
1449 "licenseId": "CC-BY-2.5",
1450 "seeAlso": [
1451 "https://creativecommons.org/licenses/by/2.5/legalcode"
1452 ],
1453 "isOsiApproved": false
1454 },
1455 {
1456 "reference": "https://spdx.org/licenses/AAL.html",
1457 "isDeprecatedLicenseId": false,
1458 "detailsUrl": "https://spdx.org/licenses/AAL.json",
1459 "referenceNumber": 117,
1460 "name": "Attribution Assurance License",
1461 "licenseId": "AAL",
1462 "seeAlso": [
1463 "https://opensource.org/licenses/attribution"
1464 ],
1465 "isOsiApproved": true
1466 },
1467 {
1468 "reference": "https://spdx.org/licenses/MPL-2.0-no-copyleft-exception.html",
1469 "isDeprecatedLicenseId": false,
1470 "detailsUrl": "https://spdx.org/licenses/MPL-2.0-no-copyleft-exception.json",
1471 "referenceNumber": 118,
1472 "name": "Mozilla Public License 2.0 (no copyleft exception)",
1473 "licenseId": "MPL-2.0-no-copyleft-exception",
1474 "seeAlso": [
1475 "http://www.mozilla.org/MPL/2.0/",
1476 "https://opensource.org/licenses/MPL-2.0"
1477 ],
1478 "isOsiApproved": true
1479 },
1480 {
1481 "reference": "https://spdx.org/licenses/CC-BY-NC-ND-2.5.html",
1482 "isDeprecatedLicenseId": false,
1483 "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-ND-2.5.json",
1484 "referenceNumber": 119,
1485 "name": "Creative Commons Attribution Non Commercial No Derivatives 2.5 Generic",
1486 "licenseId": "CC-BY-NC-ND-2.5",
1487 "seeAlso": [
1488 "https://creativecommons.org/licenses/by-nc-nd/2.5/legalcode"
1489 ],
1490 "isOsiApproved": false
1491 },
1492 {
1493 "reference": "https://spdx.org/licenses/CC-BY-3.0-NL.html",
1494 "isDeprecatedLicenseId": false,
1495 "detailsUrl": "https://spdx.org/licenses/CC-BY-3.0-NL.json",
1496 "referenceNumber": 120,
1497 "name": "Creative Commons Attribution 3.0 Netherlands",
1498 "licenseId": "CC-BY-3.0-NL",
1499 "seeAlso": [
1500 "https://creativecommons.org/licenses/by/3.0/nl/legalcode"
1501 ],
1502 "isOsiApproved": false
1503 },
1504 {
1505 "reference": "https://spdx.org/licenses/LPL-1.02.html",
1506 "isDeprecatedLicenseId": false,
1507 "detailsUrl": "https://spdx.org/licenses/LPL-1.02.json",
1508 "referenceNumber": 121,
1509 "name": "Lucent Public License v1.02",
1510 "licenseId": "LPL-1.02",
1511 "seeAlso": [
1512 "http://plan9.bell-labs.com/plan9/license.html",
1513 "https://opensource.org/licenses/LPL-1.02"
1514 ],
1515 "isOsiApproved": true,
1516 "isFsfLibre": true
1517 },
1518 {
1519 "reference": "https://spdx.org/licenses/ECL-1.0.html",
1520 "isDeprecatedLicenseId": false,
1521 "detailsUrl": "https://spdx.org/licenses/ECL-1.0.json",
1522 "referenceNumber": 122,
1523 "name": "Educational Community License v1.0",
1524 "licenseId": "ECL-1.0",
1525 "seeAlso": [
1526 "https://opensource.org/licenses/ECL-1.0"
1527 ],
1528 "isOsiApproved": true
1529 },
1530 {
1531 "reference": "https://spdx.org/licenses/OFL-1.0-no-RFN.html",
1532 "isDeprecatedLicenseId": false,
1533 "detailsUrl": "https://spdx.org/licenses/OFL-1.0-no-RFN.json",
1534 "referenceNumber": 123,
1535 "name": "SIL Open Font License 1.0 with no Reserved Font Name",
1536 "licenseId": "OFL-1.0-no-RFN",
1537 "seeAlso": [
1538 "http://scripts.sil.org/cms/scripts/page.php?item_id\u003dOFL10_web"
1539 ],
1540 "isOsiApproved": false
1541 },
1542 {
1543 "reference": "https://spdx.org/licenses/CC-BY-NC-SA-3.0-DE.html",
1544 "isDeprecatedLicenseId": false,
1545 "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-SA-3.0-DE.json",
1546 "referenceNumber": 124,
1547 "name": "Creative Commons Attribution Non Commercial Share Alike 3.0 Germany",
1548 "licenseId": "CC-BY-NC-SA-3.0-DE",
1549 "seeAlso": [
1550 "https://creativecommons.org/licenses/by-nc-sa/3.0/de/legalcode"
1551 ],
1552 "isOsiApproved": false
1553 },
1554 {
1555 "reference": "https://spdx.org/licenses/CC-BY-SA-3.0.html",
1556 "isDeprecatedLicenseId": false,
1557 "detailsUrl": "https://spdx.org/licenses/CC-BY-SA-3.0.json",
1558 "referenceNumber": 125,
1559 "name": "Creative Commons Attribution Share Alike 3.0 Unported",
1560 "licenseId": "CC-BY-SA-3.0",
1561 "seeAlso": [
1562 "https://creativecommons.org/licenses/by-sa/3.0/legalcode"
1563 ],
1564 "isOsiApproved": false
1565 },
1566 {
1567 "reference": "https://spdx.org/licenses/NTP.html",
1568 "isDeprecatedLicenseId": false,
1569 "detailsUrl": "https://spdx.org/licenses/NTP.json",
1570 "referenceNumber": 126,
1571 "name": "NTP License",
1572 "licenseId": "NTP",
1573 "seeAlso": [
1574 "https://opensource.org/licenses/NTP"
1575 ],
1576 "isOsiApproved": true
1577 },
1578 {
1579 "reference": "https://spdx.org/licenses/MPL-2.0.html",
1580 "isDeprecatedLicenseId": false,
1581 "detailsUrl": "https://spdx.org/licenses/MPL-2.0.json",
1582 "referenceNumber": 127,
1583 "name": "Mozilla Public License 2.0",
1584 "licenseId": "MPL-2.0",
1585 "seeAlso": [
1586 "https://www.mozilla.org/MPL/2.0/",
1587 "https://opensource.org/licenses/MPL-2.0"
1588 ],
1589 "isOsiApproved": true,
1590 "isFsfLibre": true
1591 },
1592 {
1593 "reference": "https://spdx.org/licenses/APSL-1.2.html",
1594 "isDeprecatedLicenseId": false,
1595 "detailsUrl": "https://spdx.org/licenses/APSL-1.2.json",
1596 "referenceNumber": 128,
1597 "name": "Apple Public Source License 1.2",
1598 "licenseId": "APSL-1.2",
1599 "seeAlso": [
1600 "http://www.samurajdata.se/opensource/mirror/licenses/apsl.php"
1601 ],
1602 "isOsiApproved": true
1603 },
1604 {
1605 "reference": "https://spdx.org/licenses/GFDL-1.2-no-invariants-only.html",
1606 "isDeprecatedLicenseId": false,
1607 "detailsUrl": "https://spdx.org/licenses/GFDL-1.2-no-invariants-only.json",
1608 "referenceNumber": 129,
1609 "name": "GNU Free Documentation License v1.2 only - no invariants",
1610 "licenseId": "GFDL-1.2-no-invariants-only",
1611 "seeAlso": [
1612 "https://www.gnu.org/licenses/old-licenses/fdl-1.2.txt"
1613 ],
1614 "isOsiApproved": false
1615 },
1616 {
1617 "reference": "https://spdx.org/licenses/Artistic-2.0.html",
1618 "isDeprecatedLicenseId": false,
1619 "detailsUrl": "https://spdx.org/licenses/Artistic-2.0.json",
1620 "referenceNumber": 130,
1621 "name": "Artistic License 2.0",
1622 "licenseId": "Artistic-2.0",
1623 "seeAlso": [
1624 "http://www.perlfoundation.org/artistic_license_2_0",
1625 "https://www.perlfoundation.org/artistic-license-20.html",
1626 "https://opensource.org/licenses/artistic-license-2.0"
1627 ],
1628 "isOsiApproved": true,
1629 "isFsfLibre": true
1630 },
1631 {
1632 "reference": "https://spdx.org/licenses/GPL-2.0.html",
1633 "isDeprecatedLicenseId": true,
1634 "detailsUrl": "https://spdx.org/licenses/GPL-2.0.json",
1635 "referenceNumber": 131,
1636 "name": "GNU General Public License v2.0 only",
1637 "licenseId": "GPL-2.0",
1638 "seeAlso": [
1639 "https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html",
1640 "https://opensource.org/licenses/GPL-2.0"
1641 ],
1642 "isOsiApproved": true,
1643 "isFsfLibre": true
1644 },
1645 {
1646 "reference": "https://spdx.org/licenses/RSCPL.html",
1647 "isDeprecatedLicenseId": false,
1648 "detailsUrl": "https://spdx.org/licenses/RSCPL.json",
1649 "referenceNumber": 132,
1650 "name": "Ricoh Source Code Public License",
1651 "licenseId": "RSCPL",
1652 "seeAlso": [
1653 "http://wayback.archive.org/web/20060715140826/http://www.risource.org/RPL/RPL-1.0A.shtml",
1654 "https://opensource.org/licenses/RSCPL"
1655 ],
1656 "isOsiApproved": true
1657 },
1658 {
1659 "reference": "https://spdx.org/licenses/Sleepycat.html",
1660 "isDeprecatedLicenseId": false,
1661 "detailsUrl": "https://spdx.org/licenses/Sleepycat.json",
1662 "referenceNumber": 133,
1663 "name": "Sleepycat License",
1664 "licenseId": "Sleepycat",
1665 "seeAlso": [
1666 "https://opensource.org/licenses/Sleepycat"
1667 ],
1668 "isOsiApproved": true,
1669 "isFsfLibre": true
1670 },
1671 {
1672 "reference": "https://spdx.org/licenses/xpp.html",
1673 "isDeprecatedLicenseId": false,
1674 "detailsUrl": "https://spdx.org/licenses/xpp.json",
1675 "referenceNumber": 134,
1676 "name": "XPP License",
1677 "licenseId": "xpp",
1678 "seeAlso": [
1679 "https://fedoraproject.org/wiki/Licensing/xpp"
1680 ],
1681 "isOsiApproved": false
1682 },
1683 {
1684 "reference": "https://spdx.org/licenses/CDLA-Sharing-1.0.html",
1685 "isDeprecatedLicenseId": false,
1686 "detailsUrl": "https://spdx.org/licenses/CDLA-Sharing-1.0.json",
1687 "referenceNumber": 135,
1688 "name": "Community Data License Agreement Sharing 1.0",
1689 "licenseId": "CDLA-Sharing-1.0",
1690 "seeAlso": [
1691 "https://cdla.io/sharing-1-0"
1692 ],
1693 "isOsiApproved": false
1694 },
1695 {
1696 "reference": "https://spdx.org/licenses/ClArtistic.html",
1697 "isDeprecatedLicenseId": false,
1698 "detailsUrl": "https://spdx.org/licenses/ClArtistic.json",
1699 "referenceNumber": 136,
1700 "name": "Clarified Artistic License",
1701 "licenseId": "ClArtistic",
1702 "seeAlso": [
1703 "http://gianluca.dellavedova.org/2011/01/03/clarified-artistic-license/",
1704 "http://www.ncftp.com/ncftp/doc/LICENSE.txt"
1705 ],
1706 "isOsiApproved": false,
1707 "isFsfLibre": true
1708 },
1709 {
1710 "reference": "https://spdx.org/licenses/AGPL-1.0-only.html",
1711 "isDeprecatedLicenseId": false,
1712 "detailsUrl": "https://spdx.org/licenses/AGPL-1.0-only.json",
1713 "referenceNumber": 137,
1714 "name": "Affero General Public License v1.0 only",
1715 "licenseId": "AGPL-1.0-only",
1716 "seeAlso": [
1717 "http://www.affero.org/oagpl.html"
1718 ],
1719 "isOsiApproved": false
1720 },
1721 {
1722 "reference": "https://spdx.org/licenses/CC-BY-3.0-DE.html",
1723 "isDeprecatedLicenseId": false,
1724 "detailsUrl": "https://spdx.org/licenses/CC-BY-3.0-DE.json",
1725 "referenceNumber": 138,
1726 "name": "Creative Commons Attribution 3.0 Germany",
1727 "licenseId": "CC-BY-3.0-DE",
1728 "seeAlso": [
1729 "https://creativecommons.org/licenses/by/3.0/de/legalcode"
1730 ],
1731 "isOsiApproved": false
1732 },
1733 {
1734 "reference": "https://spdx.org/licenses/AFL-2.0.html",
1735 "isDeprecatedLicenseId": false,
1736 "detailsUrl": "https://spdx.org/licenses/AFL-2.0.json",
1737 "referenceNumber": 139,
1738 "name": "Academic Free License v2.0",
1739 "licenseId": "AFL-2.0",
1740 "seeAlso": [
1741 "http://wayback.archive.org/web/20060924134533/http://www.opensource.org/licenses/afl-2.0.txt"
1742 ],
1743 "isOsiApproved": true,
1744 "isFsfLibre": true
1745 },
1746 {
1747 "reference": "https://spdx.org/licenses/Intel.html",
1748 "isDeprecatedLicenseId": false,
1749 "detailsUrl": "https://spdx.org/licenses/Intel.json",
1750 "referenceNumber": 140,
1751 "name": "Intel Open Source License",
1752 "licenseId": "Intel",
1753 "seeAlso": [
1754 "https://opensource.org/licenses/Intel"
1755 ],
1756 "isOsiApproved": true,
1757 "isFsfLibre": true
1758 },
1759 {
1760 "reference": "https://spdx.org/licenses/GFDL-1.1-no-invariants-or-later.html",
1761 "isDeprecatedLicenseId": false,
1762 "detailsUrl": "https://spdx.org/licenses/GFDL-1.1-no-invariants-or-later.json",
1763 "referenceNumber": 141,
1764 "name": "GNU Free Documentation License v1.1 or later - no invariants",
1765 "licenseId": "GFDL-1.1-no-invariants-or-later",
1766 "seeAlso": [
1767 "https://www.gnu.org/licenses/old-licenses/fdl-1.1.txt"
1768 ],
1769 "isOsiApproved": false
1770 },
1771 {
1772 "reference": "https://spdx.org/licenses/APAFML.html",
1773 "isDeprecatedLicenseId": false,
1774 "detailsUrl": "https://spdx.org/licenses/APAFML.json",
1775 "referenceNumber": 142,
1776 "name": "Adobe Postscript AFM License",
1777 "licenseId": "APAFML",
1778 "seeAlso": [
1779 "https://fedoraproject.org/wiki/Licensing/AdobePostscriptAFM"
1780 ],
1781 "isOsiApproved": false
1782 },
1783 {
1784 "reference": "https://spdx.org/licenses/GFDL-1.2.html",
1785 "isDeprecatedLicenseId": true,
1786 "detailsUrl": "https://spdx.org/licenses/GFDL-1.2.json",
1787 "referenceNumber": 143,
1788 "name": "GNU Free Documentation License v1.2",
1789 "licenseId": "GFDL-1.2",
1790 "seeAlso": [
1791 "https://www.gnu.org/licenses/old-licenses/fdl-1.2.txt"
1792 ],
1793 "isOsiApproved": false,
1794 "isFsfLibre": true
1795 },
1796 {
1797 "reference": "https://spdx.org/licenses/SISSL.html",
1798 "isDeprecatedLicenseId": false,
1799 "detailsUrl": "https://spdx.org/licenses/SISSL.json",
1800 "referenceNumber": 144,
1801 "name": "Sun Industry Standards Source License v1.1",
1802 "licenseId": "SISSL",
1803 "seeAlso": [
1804 "http://www.openoffice.org/licenses/sissl_license.html",
1805 "https://opensource.org/licenses/SISSL"
1806 ],
1807 "isOsiApproved": true,
1808 "isFsfLibre": true
1809 },
1810 {
1811 "reference": "https://spdx.org/licenses/Naumen.html",
1812 "isDeprecatedLicenseId": false,
1813 "detailsUrl": "https://spdx.org/licenses/Naumen.json",
1814 "referenceNumber": 145,
1815 "name": "Naumen Public License",
1816 "licenseId": "Naumen",
1817 "seeAlso": [
1818 "https://opensource.org/licenses/Naumen"
1819 ],
1820 "isOsiApproved": true
1821 },
1822 {
1823 "reference": "https://spdx.org/licenses/HTMLTIDY.html",
1824 "isDeprecatedLicenseId": false,
1825 "detailsUrl": "https://spdx.org/licenses/HTMLTIDY.json",
1826 "referenceNumber": 146,
1827 "name": "HTML Tidy License",
1828 "licenseId": "HTMLTIDY",
1829 "seeAlso": [
1830 "https://github.com/htacg/tidy-html5/blob/next/README/LICENSE.md"
1831 ],
1832 "isOsiApproved": false
1833 },
1834 {
1835 "reference": "https://spdx.org/licenses/OLDAP-2.8.html",
1836 "isDeprecatedLicenseId": false,
1837 "detailsUrl": "https://spdx.org/licenses/OLDAP-2.8.json",
1838 "referenceNumber": 147,
1839 "name": "Open LDAP Public License v2.8",
1840 "licenseId": "OLDAP-2.8",
1841 "seeAlso": [
1842 "http://www.openldap.org/software/release/license.html"
1843 ],
1844 "isOsiApproved": true
1845 },
1846 {
1847 "reference": "https://spdx.org/licenses/blessing.html",
1848 "isDeprecatedLicenseId": false,
1849 "detailsUrl": "https://spdx.org/licenses/blessing.json",
1850 "referenceNumber": 148,
1851 "name": "SQLite Blessing",
1852 "licenseId": "blessing",
1853 "seeAlso": [
1854 "https://www.sqlite.org/src/artifact/e33a4df7e32d742a?ln\u003d4-9",
1855 "https://sqlite.org/src/artifact/df5091916dbb40e6"
1856 ],
1857 "isOsiApproved": false
1858 },
1859 {
1860 "reference": "https://spdx.org/licenses/CC-BY-ND-2.0.html",
1861 "isDeprecatedLicenseId": false,
1862 "detailsUrl": "https://spdx.org/licenses/CC-BY-ND-2.0.json",
1863 "referenceNumber": 149,
1864 "name": "Creative Commons Attribution No Derivatives 2.0 Generic",
1865 "licenseId": "CC-BY-ND-2.0",
1866 "seeAlso": [
1867 "https://creativecommons.org/licenses/by-nd/2.0/legalcode"
1868 ],
1869 "isOsiApproved": false
1870 },
1871 {
1872 "reference": "https://spdx.org/licenses/OGTSL.html",
1873 "isDeprecatedLicenseId": false,
1874 "detailsUrl": "https://spdx.org/licenses/OGTSL.json",
1875 "referenceNumber": 150,
1876 "name": "Open Group Test Suite License",
1877 "licenseId": "OGTSL",
1878 "seeAlso": [
1879 "http://www.opengroup.org/testing/downloads/The_Open_Group_TSL.txt",
1880 "https://opensource.org/licenses/OGTSL"
1881 ],
1882 "isOsiApproved": true
1883 },
1884 {
1885 "reference": "https://spdx.org/licenses/LGPL-2.0-or-later.html",
1886 "isDeprecatedLicenseId": false,
1887 "detailsUrl": "https://spdx.org/licenses/LGPL-2.0-or-later.json",
1888 "referenceNumber": 151,
1889 "name": "GNU Library General Public License v2 or later",
1890 "licenseId": "LGPL-2.0-or-later",
1891 "seeAlso": [
1892 "https://www.gnu.org/licenses/old-licenses/lgpl-2.0-standalone.html"
1893 ],
1894 "isOsiApproved": true
1895 },
1896 {
1897 "reference": "https://spdx.org/licenses/Parity-7.0.0.html",
1898 "isDeprecatedLicenseId": false,
1899 "detailsUrl": "https://spdx.org/licenses/Parity-7.0.0.json",
1900 "referenceNumber": 152,
1901 "name": "The Parity Public License 7.0.0",
1902 "licenseId": "Parity-7.0.0",
1903 "seeAlso": [
1904 "https://paritylicense.com/versions/7.0.0.html"
1905 ],
1906 "isOsiApproved": false
1907 },
1908 {
1909 "reference": "https://spdx.org/licenses/CC-BY-ND-1.0.html",
1910 "isDeprecatedLicenseId": false,
1911 "detailsUrl": "https://spdx.org/licenses/CC-BY-ND-1.0.json",
1912 "referenceNumber": 153,
1913 "name": "Creative Commons Attribution No Derivatives 1.0 Generic",
1914 "licenseId": "CC-BY-ND-1.0",
1915 "seeAlso": [
1916 "https://creativecommons.org/licenses/by-nd/1.0/legalcode"
1917 ],
1918 "isOsiApproved": false
1919 },
1920 {
1921 "reference": "https://spdx.org/licenses/dvipdfm.html",
1922 "isDeprecatedLicenseId": false,
1923 "detailsUrl": "https://spdx.org/licenses/dvipdfm.json",
1924 "referenceNumber": 154,
1925 "name": "dvipdfm License",
1926 "licenseId": "dvipdfm",
1927 "seeAlso": [
1928 "https://fedoraproject.org/wiki/Licensing/dvipdfm"
1929 ],
1930 "isOsiApproved": false
1931 },
1932 {
1933 "reference": "https://spdx.org/licenses/CNRI-Python.html",
1934 "isDeprecatedLicenseId": false,
1935 "detailsUrl": "https://spdx.org/licenses/CNRI-Python.json",
1936 "referenceNumber": 155,
1937 "name": "CNRI Python License",
1938 "licenseId": "CNRI-Python",
1939 "seeAlso": [
1940 "https://opensource.org/licenses/CNRI-Python"
1941 ],
1942 "isOsiApproved": true
1943 },
1944 {
1945 "reference": "https://spdx.org/licenses/BSD-4-Clause-UC.html",
1946 "isDeprecatedLicenseId": false,
1947 "detailsUrl": "https://spdx.org/licenses/BSD-4-Clause-UC.json",
1948 "referenceNumber": 156,
1949 "name": "BSD-4-Clause (University of California-Specific)",
1950 "licenseId": "BSD-4-Clause-UC",
1951 "seeAlso": [
1952 "http://www.freebsd.org/copyright/license.html"
1953 ],
1954 "isOsiApproved": false
1955 },
1956 {
1957 "reference": "https://spdx.org/licenses/NLOD-1.0.html",
1958 "isDeprecatedLicenseId": false,
1959 "detailsUrl": "https://spdx.org/licenses/NLOD-1.0.json",
1960 "referenceNumber": 157,
1961 "name": "Norwegian Licence for Open Government Data (NLOD) 1.0",
1962 "licenseId": "NLOD-1.0",
1963 "seeAlso": [
1964 "http://data.norge.no/nlod/en/1.0"
1965 ],
1966 "isOsiApproved": false
1967 },
1968 {
1969 "reference": "https://spdx.org/licenses/MS-RL.html",
1970 "isDeprecatedLicenseId": false,
1971 "detailsUrl": "https://spdx.org/licenses/MS-RL.json",
1972 "referenceNumber": 158,
1973 "name": "Microsoft Reciprocal License",
1974 "licenseId": "MS-RL",
1975 "seeAlso": [
1976 "http://www.microsoft.com/opensource/licenses.mspx",
1977 "https://opensource.org/licenses/MS-RL"
1978 ],
1979 "isOsiApproved": true,
1980 "isFsfLibre": true
1981 },
1982 {
1983 "reference": "https://spdx.org/licenses/CC-BY-NC-SA-4.0.html",
1984 "isDeprecatedLicenseId": false,
1985 "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-SA-4.0.json",
1986 "referenceNumber": 159,
1987 "name": "Creative Commons Attribution Non Commercial Share Alike 4.0 International",
1988 "licenseId": "CC-BY-NC-SA-4.0",
1989 "seeAlso": [
1990 "https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode"
1991 ],
1992 "isOsiApproved": false
1993 },
1994 {
1995 "reference": "https://spdx.org/licenses/HaskellReport.html",
1996 "isDeprecatedLicenseId": false,
1997 "detailsUrl": "https://spdx.org/licenses/HaskellReport.json",
1998 "referenceNumber": 160,
1999 "name": "Haskell Language Report License",
2000 "licenseId": "HaskellReport",
2001 "seeAlso": [
2002 "https://fedoraproject.org/wiki/Licensing/Haskell_Language_Report_License"
2003 ],
2004 "isOsiApproved": false
2005 },
2006 {
2007 "reference": "https://spdx.org/licenses/CC-BY-1.0.html",
2008 "isDeprecatedLicenseId": false,
2009 "detailsUrl": "https://spdx.org/licenses/CC-BY-1.0.json",
2010 "referenceNumber": 161,
2011 "name": "Creative Commons Attribution 1.0 Generic",
2012 "licenseId": "CC-BY-1.0",
2013 "seeAlso": [
2014 "https://creativecommons.org/licenses/by/1.0/legalcode"
2015 ],
2016 "isOsiApproved": false
2017 },
2018 {
2019 "reference": "https://spdx.org/licenses/UCL-1.0.html",
2020 "isDeprecatedLicenseId": false,
2021 "detailsUrl": "https://spdx.org/licenses/UCL-1.0.json",
2022 "referenceNumber": 162,
2023 "name": "Upstream Compatibility License v1.0",
2024 "licenseId": "UCL-1.0",
2025 "seeAlso": [
2026 "https://opensource.org/licenses/UCL-1.0"
2027 ],
2028 "isOsiApproved": true
2029 },
2030 {
2031 "reference": "https://spdx.org/licenses/Mup.html",
2032 "isDeprecatedLicenseId": false,
2033 "detailsUrl": "https://spdx.org/licenses/Mup.json",
2034 "referenceNumber": 163,
2035 "name": "Mup License",
2036 "licenseId": "Mup",
2037 "seeAlso": [
2038 "https://fedoraproject.org/wiki/Licensing/Mup"
2039 ],
2040 "isOsiApproved": false
2041 },
2042 {
2043 "reference": "https://spdx.org/licenses/SMPPL.html",
2044 "isDeprecatedLicenseId": false,
2045 "detailsUrl": "https://spdx.org/licenses/SMPPL.json",
2046 "referenceNumber": 164,
2047 "name": "Secure Messaging Protocol Public License",
2048 "licenseId": "SMPPL",
2049 "seeAlso": [
2050 "https://github.com/dcblake/SMP/blob/master/Documentation/License.txt"
2051 ],
2052 "isOsiApproved": false
2053 },
2054 {
2055 "reference": "https://spdx.org/licenses/PHP-3.0.html",
2056 "isDeprecatedLicenseId": false,
2057 "detailsUrl": "https://spdx.org/licenses/PHP-3.0.json",
2058 "referenceNumber": 165,
2059 "name": "PHP License v3.0",
2060 "licenseId": "PHP-3.0",
2061 "seeAlso": [
2062 "http://www.php.net/license/3_0.txt",
2063 "https://opensource.org/licenses/PHP-3.0"
2064 ],
2065 "isOsiApproved": true
2066 },
2067 {
2068 "reference": "https://spdx.org/licenses/GL2PS.html",
2069 "isDeprecatedLicenseId": false,
2070 "detailsUrl": "https://spdx.org/licenses/GL2PS.json",
2071 "referenceNumber": 166,
2072 "name": "GL2PS License",
2073 "licenseId": "GL2PS",
2074 "seeAlso": [
2075 "http://www.geuz.org/gl2ps/COPYING.GL2PS"
2076 ],
2077 "isOsiApproved": false
2078 },
2079 {
2080 "reference": "https://spdx.org/licenses/CrystalStacker.html",
2081 "isDeprecatedLicenseId": false,
2082 "detailsUrl": "https://spdx.org/licenses/CrystalStacker.json",
2083 "referenceNumber": 167,
2084 "name": "CrystalStacker License",
2085 "licenseId": "CrystalStacker",
2086 "seeAlso": [
2087 "https://fedoraproject.org/wiki/Licensing:CrystalStacker?rd\u003dLicensing/CrystalStacker"
2088 ],
2089 "isOsiApproved": false
2090 },
2091 {
2092 "reference": "https://spdx.org/licenses/W3C-20150513.html",
2093 "isDeprecatedLicenseId": false,
2094 "detailsUrl": "https://spdx.org/licenses/W3C-20150513.json",
2095 "referenceNumber": 168,
2096 "name": "W3C Software Notice and Document License (2015-05-13)",
2097 "licenseId": "W3C-20150513",
2098 "seeAlso": [
2099 "https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document"
2100 ],
2101 "isOsiApproved": false
2102 },
2103 {
2104 "reference": "https://spdx.org/licenses/NIST-PD-fallback.html",
2105 "isDeprecatedLicenseId": false,
2106 "detailsUrl": "https://spdx.org/licenses/NIST-PD-fallback.json",
2107 "referenceNumber": 169,
2108 "name": "NIST Public Domain Notice with license fallback",
2109 "licenseId": "NIST-PD-fallback",
2110 "seeAlso": [
2111 "https://github.com/usnistgov/jsip/blob/59700e6926cbe96c5cdae897d9a7d2656b42abe3/LICENSE",
2112 "https://github.com/usnistgov/fipy/blob/86aaa5c2ba2c6f1be19593c5986071cf6568cc34/LICENSE.rst"
2113 ],
2114 "isOsiApproved": false
2115 },
2116 {
2117 "reference": "https://spdx.org/licenses/OGL-UK-1.0.html",
2118 "isDeprecatedLicenseId": false,
2119 "detailsUrl": "https://spdx.org/licenses/OGL-UK-1.0.json",
2120 "referenceNumber": 170,
2121 "name": "Open Government Licence v1.0",
2122 "licenseId": "OGL-UK-1.0",
2123 "seeAlso": [
2124 "http://www.nationalarchives.gov.uk/doc/open-government-licence/version/1/"
2125 ],
2126 "isOsiApproved": false
2127 },
2128 {
2129 "reference": "https://spdx.org/licenses/CPL-1.0.html",
2130 "isDeprecatedLicenseId": false,
2131 "detailsUrl": "https://spdx.org/licenses/CPL-1.0.json",
2132 "referenceNumber": 171,
2133 "name": "Common Public License 1.0",
2134 "licenseId": "CPL-1.0",
2135 "seeAlso": [
2136 "https://opensource.org/licenses/CPL-1.0"
2137 ],
2138 "isOsiApproved": true,
2139 "isFsfLibre": true
2140 },
2141 {
2142 "reference": "https://spdx.org/licenses/LGPL-2.1-only.html",
2143 "isDeprecatedLicenseId": false,
2144 "detailsUrl": "https://spdx.org/licenses/LGPL-2.1-only.json",
2145 "referenceNumber": 172,
2146 "name": "GNU Lesser General Public License v2.1 only",
2147 "licenseId": "LGPL-2.1-only",
2148 "seeAlso": [
2149 "https://www.gnu.org/licenses/old-licenses/lgpl-2.1-standalone.html",
2150 "https://opensource.org/licenses/LGPL-2.1"
2151 ],
2152 "isOsiApproved": true,
2153 "isFsfLibre": true
2154 },
2155 {
2156 "reference": "https://spdx.org/licenses/ZPL-2.0.html",
2157 "isDeprecatedLicenseId": false,
2158 "detailsUrl": "https://spdx.org/licenses/ZPL-2.0.json",
2159 "referenceNumber": 173,
2160 "name": "Zope Public License 2.0",
2161 "licenseId": "ZPL-2.0",
2162 "seeAlso": [
2163 "http://old.zope.org/Resources/License/ZPL-2.0",
2164 "https://opensource.org/licenses/ZPL-2.0"
2165 ],
2166 "isOsiApproved": true,
2167 "isFsfLibre": true
2168 },
2169 {
2170 "reference": "https://spdx.org/licenses/Frameworx-1.0.html",
2171 "isDeprecatedLicenseId": false,
2172 "detailsUrl": "https://spdx.org/licenses/Frameworx-1.0.json",
2173 "referenceNumber": 174,
2174 "name": "Frameworx Open License 1.0",
2175 "licenseId": "Frameworx-1.0",
2176 "seeAlso": [
2177 "https://opensource.org/licenses/Frameworx-1.0"
2178 ],
2179 "isOsiApproved": true
2180 },
2181 {
2182 "reference": "https://spdx.org/licenses/AGPL-3.0-only.html",
2183 "isDeprecatedLicenseId": false,
2184 "detailsUrl": "https://spdx.org/licenses/AGPL-3.0-only.json",
2185 "referenceNumber": 175,
2186 "name": "GNU Affero General Public License v3.0 only",
2187 "licenseId": "AGPL-3.0-only",
2188 "seeAlso": [
2189 "https://www.gnu.org/licenses/agpl.txt",
2190 "https://opensource.org/licenses/AGPL-3.0"
2191 ],
2192 "isOsiApproved": true,
2193 "isFsfLibre": true
2194 },
2195 {
2196 "reference": "https://spdx.org/licenses/DRL-1.0.html",
2197 "isDeprecatedLicenseId": false,
2198 "detailsUrl": "https://spdx.org/licenses/DRL-1.0.json",
2199 "referenceNumber": 176,
2200 "name": "Detection Rule License 1.0",
2201 "licenseId": "DRL-1.0",
2202 "seeAlso": [
2203 "https://github.com/Neo23x0/sigma/blob/master/LICENSE.Detection.Rules.md"
2204 ],
2205 "isOsiApproved": false
2206 },
2207 {
2208 "reference": "https://spdx.org/licenses/EFL-2.0.html",
2209 "isDeprecatedLicenseId": false,
2210 "detailsUrl": "https://spdx.org/licenses/EFL-2.0.json",
2211 "referenceNumber": 177,
2212 "name": "Eiffel Forum License v2.0",
2213 "licenseId": "EFL-2.0",
2214 "seeAlso": [
2215 "http://www.eiffel-nice.org/license/eiffel-forum-license-2.html",
2216 "https://opensource.org/licenses/EFL-2.0"
2217 ],
2218 "isOsiApproved": true,
2219 "isFsfLibre": true
2220 },
2221 {
2222 "reference": "https://spdx.org/licenses/Spencer-99.html",
2223 "isDeprecatedLicenseId": false,
2224 "detailsUrl": "https://spdx.org/licenses/Spencer-99.json",
2225 "referenceNumber": 178,
2226 "name": "Spencer License 99",
2227 "licenseId": "Spencer-99",
2228 "seeAlso": [
2229 "http://www.opensource.apple.com/source/tcl/tcl-5/tcl/generic/regfronts.c"
2230 ],
2231 "isOsiApproved": false
2232 },
2233 {
2234 "reference": "https://spdx.org/licenses/CAL-1.0-Combined-Work-Exception.html",
2235 "isDeprecatedLicenseId": false,
2236 "detailsUrl": "https://spdx.org/licenses/CAL-1.0-Combined-Work-Exception.json",
2237 "referenceNumber": 179,
2238 "name": "Cryptographic Autonomy License 1.0 (Combined Work Exception)",
2239 "licenseId": "CAL-1.0-Combined-Work-Exception",
2240 "seeAlso": [
2241 "http://cryptographicautonomylicense.com/license-text.html",
2242 "https://opensource.org/licenses/CAL-1.0"
2243 ],
2244 "isOsiApproved": true
2245 },
2246 {
2247 "reference": "https://spdx.org/licenses/GFDL-1.1-invariants-only.html",
2248 "isDeprecatedLicenseId": false,
2249 "detailsUrl": "https://spdx.org/licenses/GFDL-1.1-invariants-only.json",
2250 "referenceNumber": 180,
2251 "name": "GNU Free Documentation License v1.1 only - invariants",
2252 "licenseId": "GFDL-1.1-invariants-only",
2253 "seeAlso": [
2254 "https://www.gnu.org/licenses/old-licenses/fdl-1.1.txt"
2255 ],
2256 "isOsiApproved": false
2257 },
2258 {
2259 "reference": "https://spdx.org/licenses/TCL.html",
2260 "isDeprecatedLicenseId": false,
2261 "detailsUrl": "https://spdx.org/licenses/TCL.json",
2262 "referenceNumber": 181,
2263 "name": "TCL/TK License",
2264 "licenseId": "TCL",
2265 "seeAlso": [
2266 "http://www.tcl.tk/software/tcltk/license.html",
2267 "https://fedoraproject.org/wiki/Licensing/TCL"
2268 ],
2269 "isOsiApproved": false
2270 },
2271 {
2272 "reference": "https://spdx.org/licenses/SHL-0.5.html",
2273 "isDeprecatedLicenseId": false,
2274 "detailsUrl": "https://spdx.org/licenses/SHL-0.5.json",
2275 "referenceNumber": 182,
2276 "name": "Solderpad Hardware License v0.5",
2277 "licenseId": "SHL-0.5",
2278 "seeAlso": [
2279 "https://solderpad.org/licenses/SHL-0.5/"
2280 ],
2281 "isOsiApproved": false
2282 },
2283 {
2284 "reference": "https://spdx.org/licenses/OFL-1.0-RFN.html",
2285 "isDeprecatedLicenseId": false,
2286 "detailsUrl": "https://spdx.org/licenses/OFL-1.0-RFN.json",
2287 "referenceNumber": 183,
2288 "name": "SIL Open Font License 1.0 with Reserved Font Name",
2289 "licenseId": "OFL-1.0-RFN",
2290 "seeAlso": [
2291 "http://scripts.sil.org/cms/scripts/page.php?item_id\u003dOFL10_web"
2292 ],
2293 "isOsiApproved": false
2294 },
2295 {
2296 "reference": "https://spdx.org/licenses/LGPL-2.0.html",
2297 "isDeprecatedLicenseId": true,
2298 "detailsUrl": "https://spdx.org/licenses/LGPL-2.0.json",
2299 "referenceNumber": 184,
2300 "name": "GNU Library General Public License v2 only",
2301 "licenseId": "LGPL-2.0",
2302 "seeAlso": [
2303 "https://www.gnu.org/licenses/old-licenses/lgpl-2.0-standalone.html"
2304 ],
2305 "isOsiApproved": true
2306 },
2307 {
2308 "reference": "https://spdx.org/licenses/CERN-OHL-W-2.0.html",
2309 "isDeprecatedLicenseId": false,
2310 "detailsUrl": "https://spdx.org/licenses/CERN-OHL-W-2.0.json",
2311 "referenceNumber": 185,
2312 "name": "CERN Open Hardware Licence Version 2 - Weakly Reciprocal",
2313 "licenseId": "CERN-OHL-W-2.0",
2314 "seeAlso": [
2315 "https://www.ohwr.org/project/cernohl/wikis/Documents/CERN-OHL-version-2"
2316 ],
2317 "isOsiApproved": true
2318 },
2319 {
2320 "reference": "https://spdx.org/licenses/Glide.html",
2321 "isDeprecatedLicenseId": false,
2322 "detailsUrl": "https://spdx.org/licenses/Glide.json",
2323 "referenceNumber": 186,
2324 "name": "3dfx Glide License",
2325 "licenseId": "Glide",
2326 "seeAlso": [
2327 "http://www.users.on.net/~triforce/glidexp/COPYING.txt"
2328 ],
2329 "isOsiApproved": false
2330 },
2331 {
2332 "reference": "https://spdx.org/licenses/mpich2.html",
2333 "isDeprecatedLicenseId": false,
2334 "detailsUrl": "https://spdx.org/licenses/mpich2.json",
2335 "referenceNumber": 187,
2336 "name": "mpich2 License",
2337 "licenseId": "mpich2",
2338 "seeAlso": [
2339 "https://fedoraproject.org/wiki/Licensing/MIT"
2340 ],
2341 "isOsiApproved": false
2342 },
2343 {
2344 "reference": "https://spdx.org/licenses/psutils.html",
2345 "isDeprecatedLicenseId": false,
2346 "detailsUrl": "https://spdx.org/licenses/psutils.json",
2347 "referenceNumber": 188,
2348 "name": "psutils License",
2349 "licenseId": "psutils",
2350 "seeAlso": [
2351 "https://fedoraproject.org/wiki/Licensing/psutils"
2352 ],
2353 "isOsiApproved": false
2354 },
2355 {
2356 "reference": "https://spdx.org/licenses/SPL-1.0.html",
2357 "isDeprecatedLicenseId": false,
2358 "detailsUrl": "https://spdx.org/licenses/SPL-1.0.json",
2359 "referenceNumber": 189,
2360 "name": "Sun Public License v1.0",
2361 "licenseId": "SPL-1.0",
2362 "seeAlso": [
2363 "https://opensource.org/licenses/SPL-1.0"
2364 ],
2365 "isOsiApproved": true,
2366 "isFsfLibre": true
2367 },
2368 {
2369 "reference": "https://spdx.org/licenses/Apache-1.1.html",
2370 "isDeprecatedLicenseId": false,
2371 "detailsUrl": "https://spdx.org/licenses/Apache-1.1.json",
2372 "referenceNumber": 190,
2373 "name": "Apache License 1.1",
2374 "licenseId": "Apache-1.1",
2375 "seeAlso": [
2376 "http://apache.org/licenses/LICENSE-1.1",
2377 "https://opensource.org/licenses/Apache-1.1"
2378 ],
2379 "isOsiApproved": true,
2380 "isFsfLibre": true
2381 },
2382 {
2383 "reference": "https://spdx.org/licenses/CC-BY-ND-4.0.html",
2384 "isDeprecatedLicenseId": false,
2385 "detailsUrl": "https://spdx.org/licenses/CC-BY-ND-4.0.json",
2386 "referenceNumber": 191,
2387 "name": "Creative Commons Attribution No Derivatives 4.0 International",
2388 "licenseId": "CC-BY-ND-4.0",
2389 "seeAlso": [
2390 "https://creativecommons.org/licenses/by-nd/4.0/legalcode"
2391 ],
2392 "isOsiApproved": false
2393 },
2394 {
2395 "reference": "https://spdx.org/licenses/FreeBSD-DOC.html",
2396 "isDeprecatedLicenseId": false,
2397 "detailsUrl": "https://spdx.org/licenses/FreeBSD-DOC.json",
2398 "referenceNumber": 192,
2399 "name": "FreeBSD Documentation License",
2400 "licenseId": "FreeBSD-DOC",
2401 "seeAlso": [
2402 "https://www.freebsd.org/copyright/freebsd-doc-license/"
2403 ],
2404 "isOsiApproved": false
2405 },
2406 {
2407 "reference": "https://spdx.org/licenses/SCEA.html",
2408 "isDeprecatedLicenseId": false,
2409 "detailsUrl": "https://spdx.org/licenses/SCEA.json",
2410 "referenceNumber": 193,
2411 "name": "SCEA Shared Source License",
2412 "licenseId": "SCEA",
2413 "seeAlso": [
2414 "http://research.scea.com/scea_shared_source_license.html"
2415 ],
2416 "isOsiApproved": false
2417 },
2418 {
2419 "reference": "https://spdx.org/licenses/Latex2e.html",
2420 "isDeprecatedLicenseId": false,
2421 "detailsUrl": "https://spdx.org/licenses/Latex2e.json",
2422 "referenceNumber": 194,
2423 "name": "Latex2e License",
2424 "licenseId": "Latex2e",
2425 "seeAlso": [
2426 "https://fedoraproject.org/wiki/Licensing/Latex2e"
2427 ],
2428 "isOsiApproved": false
2429 },
2430 {
2431 "reference": "https://spdx.org/licenses/Artistic-1.0-cl8.html",
2432 "isDeprecatedLicenseId": false,
2433 "detailsUrl": "https://spdx.org/licenses/Artistic-1.0-cl8.json",
2434 "referenceNumber": 195,
2435 "name": "Artistic License 1.0 w/clause 8",
2436 "licenseId": "Artistic-1.0-cl8",
2437 "seeAlso": [
2438 "https://opensource.org/licenses/Artistic-1.0"
2439 ],
2440 "isOsiApproved": true
2441 },
2442 {
2443 "reference": "https://spdx.org/licenses/SGI-B-1.1.html",
2444 "isDeprecatedLicenseId": false,
2445 "detailsUrl": "https://spdx.org/licenses/SGI-B-1.1.json",
2446 "referenceNumber": 196,
2447 "name": "SGI Free Software License B v1.1",
2448 "licenseId": "SGI-B-1.1",
2449 "seeAlso": [
2450 "http://oss.sgi.com/projects/FreeB/"
2451 ],
2452 "isOsiApproved": false
2453 },
2454 {
2455 "reference": "https://spdx.org/licenses/NRL.html",
2456 "isDeprecatedLicenseId": false,
2457 "detailsUrl": "https://spdx.org/licenses/NRL.json",
2458 "referenceNumber": 197,
2459 "name": "NRL License",
2460 "licenseId": "NRL",
2461 "seeAlso": [
2462 "http://web.mit.edu/network/isakmp/nrllicense.html"
2463 ],
2464 "isOsiApproved": false
2465 },
2466 {
2467 "reference": "https://spdx.org/licenses/SWL.html",
2468 "isDeprecatedLicenseId": false,
2469 "detailsUrl": "https://spdx.org/licenses/SWL.json",
2470 "referenceNumber": 198,
2471 "name": "Scheme Widget Library (SWL) Software License Agreement",
2472 "licenseId": "SWL",
2473 "seeAlso": [
2474 "https://fedoraproject.org/wiki/Licensing/SWL"
2475 ],
2476 "isOsiApproved": false
2477 },
2478 {
2479 "reference": "https://spdx.org/licenses/Zed.html",
2480 "isDeprecatedLicenseId": false,
2481 "detailsUrl": "https://spdx.org/licenses/Zed.json",
2482 "referenceNumber": 199,
2483 "name": "Zed License",
2484 "licenseId": "Zed",
2485 "seeAlso": [
2486 "https://fedoraproject.org/wiki/Licensing/Zed"
2487 ],
2488 "isOsiApproved": false
2489 },
2490 {
2491 "reference": "https://spdx.org/licenses/CERN-OHL-1.1.html",
2492 "isDeprecatedLicenseId": false,
2493 "detailsUrl": "https://spdx.org/licenses/CERN-OHL-1.1.json",
2494 "referenceNumber": 200,
2495 "name": "CERN Open Hardware Licence v1.1",
2496 "licenseId": "CERN-OHL-1.1",
2497 "seeAlso": [
2498 "https://www.ohwr.org/project/licenses/wikis/cern-ohl-v1.1"
2499 ],
2500 "isOsiApproved": false
2501 },
2502 {
2503 "reference": "https://spdx.org/licenses/RHeCos-1.1.html",
2504 "isDeprecatedLicenseId": false,
2505 "detailsUrl": "https://spdx.org/licenses/RHeCos-1.1.json",
2506 "referenceNumber": 201,
2507 "name": "Red Hat eCos Public License v1.1",
2508 "licenseId": "RHeCos-1.1",
2509 "seeAlso": [
2510 "http://ecos.sourceware.org/old-license.html"
2511 ],
2512 "isOsiApproved": false
2513 },
2514 {
2515 "reference": "https://spdx.org/licenses/JasPer-2.0.html",
2516 "isDeprecatedLicenseId": false,
2517 "detailsUrl": "https://spdx.org/licenses/JasPer-2.0.json",
2518 "referenceNumber": 202,
2519 "name": "JasPer License",
2520 "licenseId": "JasPer-2.0",
2521 "seeAlso": [
2522 "http://www.ece.uvic.ca/~mdadams/jasper/LICENSE"
2523 ],
2524 "isOsiApproved": false
2525 },
2526 {
2527 "reference": "https://spdx.org/licenses/SSPL-1.0.html",
2528 "isDeprecatedLicenseId": false,
2529 "detailsUrl": "https://spdx.org/licenses/SSPL-1.0.json",
2530 "referenceNumber": 203,
2531 "name": "Server Side Public License, v 1",
2532 "licenseId": "SSPL-1.0",
2533 "seeAlso": [
2534 "https://www.mongodb.com/licensing/server-side-public-license"
2535 ],
2536 "isOsiApproved": false
2537 },
2538 {
2539 "reference": "https://spdx.org/licenses/GPL-2.0+.html",
2540 "isDeprecatedLicenseId": true,
2541 "detailsUrl": "https://spdx.org/licenses/GPL-2.0+.json",
2542 "referenceNumber": 204,
2543 "name": "GNU General Public License v2.0 or later",
2544 "licenseId": "GPL-2.0+",
2545 "seeAlso": [
2546 "https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html",
2547 "https://opensource.org/licenses/GPL-2.0"
2548 ],
2549 "isOsiApproved": true
2550 },
2551 {
2552 "reference": "https://spdx.org/licenses/OLDAP-1.4.html",
2553 "isDeprecatedLicenseId": false,
2554 "detailsUrl": "https://spdx.org/licenses/OLDAP-1.4.json",
2555 "referenceNumber": 205,
2556 "name": "Open LDAP Public License v1.4",
2557 "licenseId": "OLDAP-1.4",
2558 "seeAlso": [
2559 "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003dc9f95c2f3f2ffb5e0ae55fe7388af75547660941"
2560 ],
2561 "isOsiApproved": false
2562 },
2563 {
2564 "reference": "https://spdx.org/licenses/libpng-2.0.html",
2565 "isDeprecatedLicenseId": false,
2566 "detailsUrl": "https://spdx.org/licenses/libpng-2.0.json",
2567 "referenceNumber": 206,
2568 "name": "PNG Reference Library version 2",
2569 "licenseId": "libpng-2.0",
2570 "seeAlso": [
2571 "http://www.libpng.org/pub/png/src/libpng-LICENSE.txt"
2572 ],
2573 "isOsiApproved": false
2574 },
2575 {
2576 "reference": "https://spdx.org/licenses/CNRI-Python-GPL-Compatible.html",
2577 "isDeprecatedLicenseId": false,
2578 "detailsUrl": "https://spdx.org/licenses/CNRI-Python-GPL-Compatible.json",
2579 "referenceNumber": 207,
2580 "name": "CNRI Python Open Source GPL Compatible License Agreement",
2581 "licenseId": "CNRI-Python-GPL-Compatible",
2582 "seeAlso": [
2583 "http://www.python.org/download/releases/1.6.1/download_win/"
2584 ],
2585 "isOsiApproved": false
2586 },
2587 {
2588 "reference": "https://spdx.org/licenses/Aladdin.html",
2589 "isDeprecatedLicenseId": false,
2590 "detailsUrl": "https://spdx.org/licenses/Aladdin.json",
2591 "referenceNumber": 208,
2592 "name": "Aladdin Free Public License",
2593 "licenseId": "Aladdin",
2594 "seeAlso": [
2595 "http://pages.cs.wisc.edu/~ghost/doc/AFPL/6.01/Public.htm"
2596 ],
2597 "isOsiApproved": false
2598 },
2599 {
2600 "reference": "https://spdx.org/licenses/CECILL-1.0.html",
2601 "isDeprecatedLicenseId": false,
2602 "detailsUrl": "https://spdx.org/licenses/CECILL-1.0.json",
2603 "referenceNumber": 209,
2604 "name": "CeCILL Free Software License Agreement v1.0",
2605 "licenseId": "CECILL-1.0",
2606 "seeAlso": [
2607 "http://www.cecill.info/licences/Licence_CeCILL_V1-fr.html"
2608 ],
2609 "isOsiApproved": false
2610 },
2611 {
2612 "reference": "https://spdx.org/licenses/Ruby.html",
2613 "isDeprecatedLicenseId": false,
2614 "detailsUrl": "https://spdx.org/licenses/Ruby.json",
2615 "referenceNumber": 210,
2616 "name": "Ruby License",
2617 "licenseId": "Ruby",
2618 "seeAlso": [
2619 "http://www.ruby-lang.org/en/LICENSE.txt"
2620 ],
2621 "isOsiApproved": false,
2622 "isFsfLibre": true
2623 },
2624 {
2625 "reference": "https://spdx.org/licenses/NPL-1.1.html",
2626 "isDeprecatedLicenseId": false,
2627 "detailsUrl": "https://spdx.org/licenses/NPL-1.1.json",
2628 "referenceNumber": 211,
2629 "name": "Netscape Public License v1.1",
2630 "licenseId": "NPL-1.1",
2631 "seeAlso": [
2632 "http://www.mozilla.org/MPL/NPL/1.1/"
2633 ],
2634 "isOsiApproved": false,
2635 "isFsfLibre": true
2636 },
2637 {
2638 "reference": "https://spdx.org/licenses/ImageMagick.html",
2639 "isDeprecatedLicenseId": false,
2640 "detailsUrl": "https://spdx.org/licenses/ImageMagick.json",
2641 "referenceNumber": 212,
2642 "name": "ImageMagick License",
2643 "licenseId": "ImageMagick",
2644 "seeAlso": [
2645 "http://www.imagemagick.org/script/license.php"
2646 ],
2647 "isOsiApproved": false
2648 },
2649 {
2650 "reference": "https://spdx.org/licenses/Cube.html",
2651 "isDeprecatedLicenseId": false,
2652 "detailsUrl": "https://spdx.org/licenses/Cube.json",
2653 "referenceNumber": 213,
2654 "name": "Cube License",
2655 "licenseId": "Cube",
2656 "seeAlso": [
2657 "https://fedoraproject.org/wiki/Licensing/Cube"
2658 ],
2659 "isOsiApproved": false
2660 },
2661 {
2662 "reference": "https://spdx.org/licenses/GFDL-1.1-only.html",
2663 "isDeprecatedLicenseId": false,
2664 "detailsUrl": "https://spdx.org/licenses/GFDL-1.1-only.json",
2665 "referenceNumber": 214,
2666 "name": "GNU Free Documentation License v1.1 only",
2667 "licenseId": "GFDL-1.1-only",
2668 "seeAlso": [
2669 "https://www.gnu.org/licenses/old-licenses/fdl-1.1.txt"
2670 ],
2671 "isOsiApproved": false,
2672 "isFsfLibre": true
2673 },
2674 {
2675 "reference": "https://spdx.org/licenses/CC-BY-2.0.html",
2676 "isDeprecatedLicenseId": false,
2677 "detailsUrl": "https://spdx.org/licenses/CC-BY-2.0.json",
2678 "referenceNumber": 215,
2679 "name": "Creative Commons Attribution 2.0 Generic",
2680 "licenseId": "CC-BY-2.0",
2681 "seeAlso": [
2682 "https://creativecommons.org/licenses/by/2.0/legalcode"
2683 ],
2684 "isOsiApproved": false
2685 },
2686 {
2687 "reference": "https://spdx.org/licenses/AFL-1.2.html",
2688 "isDeprecatedLicenseId": false,
2689 "detailsUrl": "https://spdx.org/licenses/AFL-1.2.json",
2690 "referenceNumber": 216,
2691 "name": "Academic Free License v1.2",
2692 "licenseId": "AFL-1.2",
2693 "seeAlso": [
2694 "http://opensource.linux-mirror.org/licenses/afl-1.2.txt",
2695 "http://wayback.archive.org/web/20021204204652/http://www.opensource.org/licenses/academic.php"
2696 ],
2697 "isOsiApproved": true,
2698 "isFsfLibre": true
2699 },
2700 {
2701 "reference": "https://spdx.org/licenses/CC-BY-SA-2.0.html",
2702 "isDeprecatedLicenseId": false,
2703 "detailsUrl": "https://spdx.org/licenses/CC-BY-SA-2.0.json",
2704 "referenceNumber": 217,
2705 "name": "Creative Commons Attribution Share Alike 2.0 Generic",
2706 "licenseId": "CC-BY-SA-2.0",
2707 "seeAlso": [
2708 "https://creativecommons.org/licenses/by-sa/2.0/legalcode"
2709 ],
2710 "isOsiApproved": false
2711 },
2712 {
2713 "reference": "https://spdx.org/licenses/CECILL-2.0.html",
2714 "isDeprecatedLicenseId": false,
2715 "detailsUrl": "https://spdx.org/licenses/CECILL-2.0.json",
2716 "referenceNumber": 218,
2717 "name": "CeCILL Free Software License Agreement v2.0",
2718 "licenseId": "CECILL-2.0",
2719 "seeAlso": [
2720 "http://www.cecill.info/licences/Licence_CeCILL_V2-en.html"
2721 ],
2722 "isOsiApproved": false,
2723 "isFsfLibre": true
2724 },
2725 {
2726 "reference": "https://spdx.org/licenses/MIT-advertising.html",
2727 "isDeprecatedLicenseId": false,
2728 "detailsUrl": "https://spdx.org/licenses/MIT-advertising.json",
2729 "referenceNumber": 219,
2730 "name": "Enlightenment License (e16)",
2731 "licenseId": "MIT-advertising",
2732 "seeAlso": [
2733 "https://fedoraproject.org/wiki/Licensing/MIT_With_Advertising"
2734 ],
2735 "isOsiApproved": false
2736 },
2737 {
2738 "reference": "https://spdx.org/licenses/CC-BY-NC-SA-2.5.html",
2739 "isDeprecatedLicenseId": false,
2740 "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-SA-2.5.json",
2741 "referenceNumber": 220,
2742 "name": "Creative Commons Attribution Non Commercial Share Alike 2.5 Generic",
2743 "licenseId": "CC-BY-NC-SA-2.5",
2744 "seeAlso": [
2745 "https://creativecommons.org/licenses/by-nc-sa/2.5/legalcode"
2746 ],
2747 "isOsiApproved": false
2748 },
2749 {
2750 "reference": "https://spdx.org/licenses/Artistic-1.0.html",
2751 "isDeprecatedLicenseId": false,
2752 "detailsUrl": "https://spdx.org/licenses/Artistic-1.0.json",
2753 "referenceNumber": 221,
2754 "name": "Artistic License 1.0",
2755 "licenseId": "Artistic-1.0",
2756 "seeAlso": [
2757 "https://opensource.org/licenses/Artistic-1.0"
2758 ],
2759 "isOsiApproved": true
2760 },
2761 {
2762 "reference": "https://spdx.org/licenses/OSL-3.0.html",
2763 "isDeprecatedLicenseId": false,
2764 "detailsUrl": "https://spdx.org/licenses/OSL-3.0.json",
2765 "referenceNumber": 222,
2766 "name": "Open Software License 3.0",
2767 "licenseId": "OSL-3.0",
2768 "seeAlso": [
2769 "https://web.archive.org/web/20120101081418/http://rosenlaw.com:80/OSL3.0.htm",
2770 "https://opensource.org/licenses/OSL-3.0"
2771 ],
2772 "isOsiApproved": true,
2773 "isFsfLibre": true
2774 },
2775 {
2776 "reference": "https://spdx.org/licenses/X11.html",
2777 "isDeprecatedLicenseId": false,
2778 "detailsUrl": "https://spdx.org/licenses/X11.json",
2779 "referenceNumber": 223,
2780 "name": "X11 License",
2781 "licenseId": "X11",
2782 "seeAlso": [
2783 "http://www.xfree86.org/3.3.6/COPYRIGHT2.html#3"
2784 ],
2785 "isOsiApproved": false,
2786 "isFsfLibre": true
2787 },
2788 {
2789 "reference": "https://spdx.org/licenses/Bahyph.html",
2790 "isDeprecatedLicenseId": false,
2791 "detailsUrl": "https://spdx.org/licenses/Bahyph.json",
2792 "referenceNumber": 224,
2793 "name": "Bahyph License",
2794 "licenseId": "Bahyph",
2795 "seeAlso": [
2796 "https://fedoraproject.org/wiki/Licensing/Bahyph"
2797 ],
2798 "isOsiApproved": false
2799 },
2800 {
2801 "reference": "https://spdx.org/licenses/OLDAP-2.0.1.html",
2802 "isDeprecatedLicenseId": false,
2803 "detailsUrl": "https://spdx.org/licenses/OLDAP-2.0.1.json",
2804 "referenceNumber": 225,
2805 "name": "Open LDAP Public License v2.0.1",
2806 "licenseId": "OLDAP-2.0.1",
2807 "seeAlso": [
2808 "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003db6d68acd14e51ca3aab4428bf26522aa74873f0e"
2809 ],
2810 "isOsiApproved": false
2811 },
2812 {
2813 "reference": "https://spdx.org/licenses/EUDatagrid.html",
2814 "isDeprecatedLicenseId": false,
2815 "detailsUrl": "https://spdx.org/licenses/EUDatagrid.json",
2816 "referenceNumber": 226,
2817 "name": "EU DataGrid Software License",
2818 "licenseId": "EUDatagrid",
2819 "seeAlso": [
2820 "http://eu-datagrid.web.cern.ch/eu-datagrid/license.html",
2821 "https://opensource.org/licenses/EUDatagrid"
2822 ],
2823 "isOsiApproved": true,
2824 "isFsfLibre": true
2825 },
2826 {
2827 "reference": "https://spdx.org/licenses/MTLL.html",
2828 "isDeprecatedLicenseId": false,
2829 "detailsUrl": "https://spdx.org/licenses/MTLL.json",
2830 "referenceNumber": 227,
2831 "name": "Matrix Template Library License",
2832 "licenseId": "MTLL",
2833 "seeAlso": [
2834 "https://fedoraproject.org/wiki/Licensing/Matrix_Template_Library_License"
2835 ],
2836 "isOsiApproved": false
2837 },
2838 {
2839 "reference": "https://spdx.org/licenses/GFDL-1.2-invariants-only.html",
2840 "isDeprecatedLicenseId": false,
2841 "detailsUrl": "https://spdx.org/licenses/GFDL-1.2-invariants-only.json",
2842 "referenceNumber": 228,
2843 "name": "GNU Free Documentation License v1.2 only - invariants",
2844 "licenseId": "GFDL-1.2-invariants-only",
2845 "seeAlso": [
2846 "https://www.gnu.org/licenses/old-licenses/fdl-1.2.txt"
2847 ],
2848 "isOsiApproved": false
2849 },
2850 {
2851 "reference": "https://spdx.org/licenses/GFDL-1.3-no-invariants-or-later.html",
2852 "isDeprecatedLicenseId": false,
2853 "detailsUrl": "https://spdx.org/licenses/GFDL-1.3-no-invariants-or-later.json",
2854 "referenceNumber": 229,
2855 "name": "GNU Free Documentation License v1.3 or later - no invariants",
2856 "licenseId": "GFDL-1.3-no-invariants-or-later",
2857 "seeAlso": [
2858 "https://www.gnu.org/licenses/fdl-1.3.txt"
2859 ],
2860 "isOsiApproved": false
2861 },
2862 {
2863 "reference": "https://spdx.org/licenses/curl.html",
2864 "isDeprecatedLicenseId": false,
2865 "detailsUrl": "https://spdx.org/licenses/curl.json",
2866 "referenceNumber": 230,
2867 "name": "curl License",
2868 "licenseId": "curl",
2869 "seeAlso": [
2870 "https://github.com/bagder/curl/blob/master/COPYING"
2871 ],
2872 "isOsiApproved": false
2873 },
2874 {
2875 "reference": "https://spdx.org/licenses/LAL-1.3.html",
2876 "isDeprecatedLicenseId": false,
2877 "detailsUrl": "https://spdx.org/licenses/LAL-1.3.json",
2878 "referenceNumber": 231,
2879 "name": "Licence Art Libre 1.3",
2880 "licenseId": "LAL-1.3",
2881 "seeAlso": [
2882 "https://artlibre.org/"
2883 ],
2884 "isOsiApproved": false
2885 },
2886 {
2887 "reference": "https://spdx.org/licenses/DSDP.html",
2888 "isDeprecatedLicenseId": false,
2889 "detailsUrl": "https://spdx.org/licenses/DSDP.json",
2890 "referenceNumber": 232,
2891 "name": "DSDP License",
2892 "licenseId": "DSDP",
2893 "seeAlso": [
2894 "https://fedoraproject.org/wiki/Licensing/DSDP"
2895 ],
2896 "isOsiApproved": false
2897 },
2898 {
2899 "reference": "https://spdx.org/licenses/CERN-OHL-1.2.html",
2900 "isDeprecatedLicenseId": false,
2901 "detailsUrl": "https://spdx.org/licenses/CERN-OHL-1.2.json",
2902 "referenceNumber": 233,
2903 "name": "CERN Open Hardware Licence v1.2",
2904 "licenseId": "CERN-OHL-1.2",
2905 "seeAlso": [
2906 "https://www.ohwr.org/project/licenses/wikis/cern-ohl-v1.2"
2907 ],
2908 "isOsiApproved": false
2909 },
2910 {
2911 "reference": "https://spdx.org/licenses/TOSL.html",
2912 "isDeprecatedLicenseId": false,
2913 "detailsUrl": "https://spdx.org/licenses/TOSL.json",
2914 "referenceNumber": 234,
2915 "name": "Trusster Open Source License",
2916 "licenseId": "TOSL",
2917 "seeAlso": [
2918 "https://fedoraproject.org/wiki/Licensing/TOSL"
2919 ],
2920 "isOsiApproved": false
2921 },
2922 {
2923 "reference": "https://spdx.org/licenses/GPL-3.0-with-autoconf-exception.html",
2924 "isDeprecatedLicenseId": true,
2925 "detailsUrl": "https://spdx.org/licenses/GPL-3.0-with-autoconf-exception.json",
2926 "referenceNumber": 235,
2927 "name": "GNU General Public License v3.0 w/Autoconf exception",
2928 "licenseId": "GPL-3.0-with-autoconf-exception",
2929 "seeAlso": [
2930 "https://www.gnu.org/licenses/autoconf-exception-3.0.html"
2931 ],
2932 "isOsiApproved": false
2933 },
2934 {
2935 "reference": "https://spdx.org/licenses/CC-BY-3.0.html",
2936 "isDeprecatedLicenseId": false,
2937 "detailsUrl": "https://spdx.org/licenses/CC-BY-3.0.json",
2938 "referenceNumber": 236,
2939 "name": "Creative Commons Attribution 3.0 Unported",
2940 "licenseId": "CC-BY-3.0",
2941 "seeAlso": [
2942 "https://creativecommons.org/licenses/by/3.0/legalcode"
2943 ],
2944 "isOsiApproved": false
2945 },
2946 {
2947 "reference": "https://spdx.org/licenses/Qhull.html",
2948 "isDeprecatedLicenseId": false,
2949 "detailsUrl": "https://spdx.org/licenses/Qhull.json",
2950 "referenceNumber": 237,
2951 "name": "Qhull License",
2952 "licenseId": "Qhull",
2953 "seeAlso": [
2954 "https://fedoraproject.org/wiki/Licensing/Qhull"
2955 ],
2956 "isOsiApproved": false
2957 },
2958 {
2959 "reference": "https://spdx.org/licenses/GFDL-1.3-no-invariants-only.html",
2960 "isDeprecatedLicenseId": false,
2961 "detailsUrl": "https://spdx.org/licenses/GFDL-1.3-no-invariants-only.json",
2962 "referenceNumber": 238,
2963 "name": "GNU Free Documentation License v1.3 only - no invariants",
2964 "licenseId": "GFDL-1.3-no-invariants-only",
2965 "seeAlso": [
2966 "https://www.gnu.org/licenses/fdl-1.3.txt"
2967 ],
2968 "isOsiApproved": false
2969 },
2970 {
2971 "reference": "https://spdx.org/licenses/TORQUE-1.1.html",
2972 "isDeprecatedLicenseId": false,
2973 "detailsUrl": "https://spdx.org/licenses/TORQUE-1.1.json",
2974 "referenceNumber": 239,
2975 "name": "TORQUE v2.5+ Software License v1.1",
2976 "licenseId": "TORQUE-1.1",
2977 "seeAlso": [
2978 "https://fedoraproject.org/wiki/Licensing/TORQUEv1.1"
2979 ],
2980 "isOsiApproved": false
2981 },
2982 {
2983 "reference": "https://spdx.org/licenses/MS-PL.html",
2984 "isDeprecatedLicenseId": false,
2985 "detailsUrl": "https://spdx.org/licenses/MS-PL.json",
2986 "referenceNumber": 240,
2987 "name": "Microsoft Public License",
2988 "licenseId": "MS-PL",
2989 "seeAlso": [
2990 "http://www.microsoft.com/opensource/licenses.mspx",
2991 "https://opensource.org/licenses/MS-PL"
2992 ],
2993 "isOsiApproved": true,
2994 "isFsfLibre": true
2995 },
2996 {
2997 "reference": "https://spdx.org/licenses/Apache-1.0.html",
2998 "isDeprecatedLicenseId": false,
2999 "detailsUrl": "https://spdx.org/licenses/Apache-1.0.json",
3000 "referenceNumber": 241,
3001 "name": "Apache License 1.0",
3002 "licenseId": "Apache-1.0",
3003 "seeAlso": [
3004 "http://www.apache.org/licenses/LICENSE-1.0"
3005 ],
3006 "isOsiApproved": false,
3007 "isFsfLibre": true
3008 },
3009 {
3010 "reference": "https://spdx.org/licenses/copyleft-next-0.3.1.html",
3011 "isDeprecatedLicenseId": false,
3012 "detailsUrl": "https://spdx.org/licenses/copyleft-next-0.3.1.json",
3013 "referenceNumber": 242,
3014 "name": "copyleft-next 0.3.1",
3015 "licenseId": "copyleft-next-0.3.1",
3016 "seeAlso": [
3017 "https://github.com/copyleft-next/copyleft-next/blob/master/Releases/copyleft-next-0.3.1"
3018 ],
3019 "isOsiApproved": false
3020 },
3021 {
3022 "reference": "https://spdx.org/licenses/GFDL-1.2-or-later.html",
3023 "isDeprecatedLicenseId": false,
3024 "detailsUrl": "https://spdx.org/licenses/GFDL-1.2-or-later.json",
3025 "referenceNumber": 243,
3026 "name": "GNU Free Documentation License v1.2 or later",
3027 "licenseId": "GFDL-1.2-or-later",
3028 "seeAlso": [
3029 "https://www.gnu.org/licenses/old-licenses/fdl-1.2.txt"
3030 ],
3031 "isOsiApproved": false,
3032 "isFsfLibre": true
3033 },
3034 {
3035 "reference": "https://spdx.org/licenses/GPL-3.0+.html",
3036 "isDeprecatedLicenseId": true,
3037 "detailsUrl": "https://spdx.org/licenses/GPL-3.0+.json",
3038 "referenceNumber": 244,
3039 "name": "GNU General Public License v3.0 or later",
3040 "licenseId": "GPL-3.0+",
3041 "seeAlso": [
3042 "https://www.gnu.org/licenses/gpl-3.0-standalone.html",
3043 "https://opensource.org/licenses/GPL-3.0"
3044 ],
3045 "isOsiApproved": true
3046 },
3047 {
3048 "reference": "https://spdx.org/licenses/MulanPSL-2.0.html",
3049 "isDeprecatedLicenseId": false,
3050 "detailsUrl": "https://spdx.org/licenses/MulanPSL-2.0.json",
3051 "referenceNumber": 245,
3052 "name": "Mulan Permissive Software License, Version 2",
3053 "licenseId": "MulanPSL-2.0",
3054 "seeAlso": [
3055 "https://license.coscl.org.cn/MulanPSL2/"
3056 ],
3057 "isOsiApproved": true
3058 },
3059 {
3060 "reference": "https://spdx.org/licenses/FSFAP.html",
3061 "isDeprecatedLicenseId": false,
3062 "detailsUrl": "https://spdx.org/licenses/FSFAP.json",
3063 "referenceNumber": 246,
3064 "name": "FSF All Permissive License",
3065 "licenseId": "FSFAP",
3066 "seeAlso": [
3067 "https://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html"
3068 ],
3069 "isOsiApproved": false,
3070 "isFsfLibre": true
3071 },
3072 {
3073 "reference": "https://spdx.org/licenses/Xerox.html",
3074 "isDeprecatedLicenseId": false,
3075 "detailsUrl": "https://spdx.org/licenses/Xerox.json",
3076 "referenceNumber": 247,
3077 "name": "Xerox License",
3078 "licenseId": "Xerox",
3079 "seeAlso": [
3080 "https://fedoraproject.org/wiki/Licensing/Xerox"
3081 ],
3082 "isOsiApproved": false
3083 },
3084 {
3085 "reference": "https://spdx.org/licenses/CDDL-1.0.html",
3086 "isDeprecatedLicenseId": false,
3087 "detailsUrl": "https://spdx.org/licenses/CDDL-1.0.json",
3088 "referenceNumber": 248,
3089 "name": "Common Development and Distribution License 1.0",
3090 "licenseId": "CDDL-1.0",
3091 "seeAlso": [
3092 "https://opensource.org/licenses/cddl1"
3093 ],
3094 "isOsiApproved": true,
3095 "isFsfLibre": true
3096 },
3097 {
3098 "reference": "https://spdx.org/licenses/GFDL-1.3-invariants-only.html",
3099 "isDeprecatedLicenseId": false,
3100 "detailsUrl": "https://spdx.org/licenses/GFDL-1.3-invariants-only.json",
3101 "referenceNumber": 249,
3102 "name": "GNU Free Documentation License v1.3 only - invariants",
3103 "licenseId": "GFDL-1.3-invariants-only",
3104 "seeAlso": [
3105 "https://www.gnu.org/licenses/fdl-1.3.txt"
3106 ],
3107 "isOsiApproved": false
3108 },
3109 {
3110 "reference": "https://spdx.org/licenses/etalab-2.0.html",
3111 "isDeprecatedLicenseId": false,
3112 "detailsUrl": "https://spdx.org/licenses/etalab-2.0.json",
3113 "referenceNumber": 250,
3114 "name": "Etalab Open License 2.0",
3115 "licenseId": "etalab-2.0",
3116 "seeAlso": [
3117 "https://github.com/DISIC/politique-de-contribution-open-source/blob/master/LICENSE.pdf",
3118 "https://raw.githubusercontent.com/DISIC/politique-de-contribution-open-source/master/LICENSE"
3119 ],
3120 "isOsiApproved": false
3121 },
3122 {
3123 "reference": "https://spdx.org/licenses/XFree86-1.1.html",
3124 "isDeprecatedLicenseId": false,
3125 "detailsUrl": "https://spdx.org/licenses/XFree86-1.1.json",
3126 "referenceNumber": 251,
3127 "name": "XFree86 License 1.1",
3128 "licenseId": "XFree86-1.1",
3129 "seeAlso": [
3130 "http://www.xfree86.org/current/LICENSE4.html"
3131 ],
3132 "isOsiApproved": false,
3133 "isFsfLibre": true
3134 },
3135 {
3136 "reference": "https://spdx.org/licenses/SNIA.html",
3137 "isDeprecatedLicenseId": false,
3138 "detailsUrl": "https://spdx.org/licenses/SNIA.json",
3139 "referenceNumber": 252,
3140 "name": "SNIA Public License 1.1",
3141 "licenseId": "SNIA",
3142 "seeAlso": [
3143 "https://fedoraproject.org/wiki/Licensing/SNIA_Public_License"
3144 ],
3145 "isOsiApproved": false
3146 },
3147 {
3148 "reference": "https://spdx.org/licenses/LPPL-1.1.html",
3149 "isDeprecatedLicenseId": false,
3150 "detailsUrl": "https://spdx.org/licenses/LPPL-1.1.json",
3151 "referenceNumber": 253,
3152 "name": "LaTeX Project Public License v1.1",
3153 "licenseId": "LPPL-1.1",
3154 "seeAlso": [
3155 "http://www.latex-project.org/lppl/lppl-1-1.txt"
3156 ],
3157 "isOsiApproved": false
3158 },
3159 {
3160 "reference": "https://spdx.org/licenses/CATOSL-1.1.html",
3161 "isDeprecatedLicenseId": false,
3162 "detailsUrl": "https://spdx.org/licenses/CATOSL-1.1.json",
3163 "referenceNumber": 254,
3164 "name": "Computer Associates Trusted Open Source License 1.1",
3165 "licenseId": "CATOSL-1.1",
3166 "seeAlso": [
3167 "https://opensource.org/licenses/CATOSL-1.1"
3168 ],
3169 "isOsiApproved": true
3170 },
3171 {
3172 "reference": "https://spdx.org/licenses/TU-Berlin-2.0.html",
3173 "isDeprecatedLicenseId": false,
3174 "detailsUrl": "https://spdx.org/licenses/TU-Berlin-2.0.json",
3175 "referenceNumber": 255,
3176 "name": "Technische Universitaet Berlin License 2.0",
3177 "licenseId": "TU-Berlin-2.0",
3178 "seeAlso": [
3179 "https://github.com/CorsixTH/deps/blob/fd339a9f526d1d9c9f01ccf39e438a015da50035/licences/libgsm.txt"
3180 ],
3181 "isOsiApproved": false
3182 },
3183 {
3184 "reference": "https://spdx.org/licenses/GFDL-1.3.html",
3185 "isDeprecatedLicenseId": true,
3186 "detailsUrl": "https://spdx.org/licenses/GFDL-1.3.json",
3187 "referenceNumber": 256,
3188 "name": "GNU Free Documentation License v1.3",
3189 "licenseId": "GFDL-1.3",
3190 "seeAlso": [
3191 "https://www.gnu.org/licenses/fdl-1.3.txt"
3192 ],
3193 "isOsiApproved": false,
3194 "isFsfLibre": true
3195 },
3196 {
3197 "reference": "https://spdx.org/licenses/GFDL-1.3-or-later.html",
3198 "isDeprecatedLicenseId": false,
3199 "detailsUrl": "https://spdx.org/licenses/GFDL-1.3-or-later.json",
3200 "referenceNumber": 257,
3201 "name": "GNU Free Documentation License v1.3 or later",
3202 "licenseId": "GFDL-1.3-or-later",
3203 "seeAlso": [
3204 "https://www.gnu.org/licenses/fdl-1.3.txt"
3205 ],
3206 "isOsiApproved": false,
3207 "isFsfLibre": true
3208 },
3209 {
3210 "reference": "https://spdx.org/licenses/LAL-1.2.html",
3211 "isDeprecatedLicenseId": false,
3212 "detailsUrl": "https://spdx.org/licenses/LAL-1.2.json",
3213 "referenceNumber": 258,
3214 "name": "Licence Art Libre 1.2",
3215 "licenseId": "LAL-1.2",
3216 "seeAlso": [
3217 "http://artlibre.org/licence/lal/licence-art-libre-12/"
3218 ],
3219 "isOsiApproved": false
3220 },
3221 {
3222 "reference": "https://spdx.org/licenses/ICU.html",
3223 "isDeprecatedLicenseId": false,
3224 "detailsUrl": "https://spdx.org/licenses/ICU.json",
3225 "referenceNumber": 259,
3226 "name": "ICU License",
3227 "licenseId": "ICU",
3228 "seeAlso": [
3229 "http://source.icu-project.org/repos/icu/icu/trunk/license.html"
3230 ],
3231 "isOsiApproved": false
3232 },
3233 {
3234 "reference": "https://spdx.org/licenses/FTL.html",
3235 "isDeprecatedLicenseId": false,
3236 "detailsUrl": "https://spdx.org/licenses/FTL.json",
3237 "referenceNumber": 260,
3238 "name": "Freetype Project License",
3239 "licenseId": "FTL",
3240 "seeAlso": [
3241 "http://freetype.fis.uniroma2.it/FTL.TXT",
3242 "http://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/docs/FTL.TXT",
3243 "http://gitlab.freedesktop.org/freetype/freetype/-/raw/master/docs/FTL.TXT"
3244 ],
3245 "isOsiApproved": false,
3246 "isFsfLibre": true
3247 },
3248 {
3249 "reference": "https://spdx.org/licenses/MirOS.html",
3250 "isDeprecatedLicenseId": false,
3251 "detailsUrl": "https://spdx.org/licenses/MirOS.json",
3252 "referenceNumber": 261,
3253 "name": "The MirOS Licence",
3254 "licenseId": "MirOS",
3255 "seeAlso": [
3256 "https://opensource.org/licenses/MirOS"
3257 ],
3258 "isOsiApproved": true
3259 },
3260 {
3261 "reference": "https://spdx.org/licenses/BSD-2-Clause-NetBSD.html",
3262 "isDeprecatedLicenseId": true,
3263 "detailsUrl": "https://spdx.org/licenses/BSD-2-Clause-NetBSD.json",
3264 "referenceNumber": 262,
3265 "name": "BSD 2-Clause NetBSD License",
3266 "licenseId": "BSD-2-Clause-NetBSD",
3267 "seeAlso": [
3268 "http://www.netbsd.org/about/redistribution.html#default"
3269 ],
3270 "isOsiApproved": false
3271 },
3272 {
3273 "reference": "https://spdx.org/licenses/CC-BY-NC-ND-3.0.html",
3274 "isDeprecatedLicenseId": false,
3275 "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-ND-3.0.json",
3276 "referenceNumber": 263,
3277 "name": "Creative Commons Attribution Non Commercial No Derivatives 3.0 Unported",
3278 "licenseId": "CC-BY-NC-ND-3.0",
3279 "seeAlso": [
3280 "https://creativecommons.org/licenses/by-nc-nd/3.0/legalcode"
3281 ],
3282 "isOsiApproved": false
3283 },
3284 {
3285 "reference": "https://spdx.org/licenses/OSET-PL-2.1.html",
3286 "isDeprecatedLicenseId": false,
3287 "detailsUrl": "https://spdx.org/licenses/OSET-PL-2.1.json",
3288 "referenceNumber": 264,
3289 "name": "OSET Public License version 2.1",
3290 "licenseId": "OSET-PL-2.1",
3291 "seeAlso": [
3292 "http://www.osetfoundation.org/public-license",
3293 "https://opensource.org/licenses/OPL-2.1"
3294 ],
3295 "isOsiApproved": true
3296 },
3297 {
3298 "reference": "https://spdx.org/licenses/CC-BY-NC-ND-2.0.html",
3299 "isDeprecatedLicenseId": false,
3300 "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-ND-2.0.json",
3301 "referenceNumber": 265,
3302 "name": "Creative Commons Attribution Non Commercial No Derivatives 2.0 Generic",
3303 "licenseId": "CC-BY-NC-ND-2.0",
3304 "seeAlso": [
3305 "https://creativecommons.org/licenses/by-nc-nd/2.0/legalcode"
3306 ],
3307 "isOsiApproved": false
3308 },
3309 {
3310 "reference": "https://spdx.org/licenses/SISSL-1.2.html",
3311 "isDeprecatedLicenseId": false,
3312 "detailsUrl": "https://spdx.org/licenses/SISSL-1.2.json",
3313 "referenceNumber": 266,
3314 "name": "Sun Industry Standards Source License v1.2",
3315 "licenseId": "SISSL-1.2",
3316 "seeAlso": [
3317 "http://gridscheduler.sourceforge.net/Gridengine_SISSL_license.html"
3318 ],
3319 "isOsiApproved": false
3320 },
3321 {
3322 "reference": "https://spdx.org/licenses/Wsuipa.html",
3323 "isDeprecatedLicenseId": false,
3324 "detailsUrl": "https://spdx.org/licenses/Wsuipa.json",
3325 "referenceNumber": 267,
3326 "name": "Wsuipa License",
3327 "licenseId": "Wsuipa",
3328 "seeAlso": [
3329 "https://fedoraproject.org/wiki/Licensing/Wsuipa"
3330 ],
3331 "isOsiApproved": false
3332 },
3333 {
3334 "reference": "https://spdx.org/licenses/Zimbra-1.4.html",
3335 "isDeprecatedLicenseId": false,
3336 "detailsUrl": "https://spdx.org/licenses/Zimbra-1.4.json",
3337 "referenceNumber": 268,
3338 "name": "Zimbra Public License v1.4",
3339 "licenseId": "Zimbra-1.4",
3340 "seeAlso": [
3341 "http://www.zimbra.com/legal/zimbra-public-license-1-4"
3342 ],
3343 "isOsiApproved": false
3344 },
3345 {
3346 "reference": "https://spdx.org/licenses/Linux-OpenIB.html",
3347 "isDeprecatedLicenseId": false,
3348 "detailsUrl": "https://spdx.org/licenses/Linux-OpenIB.json",
3349 "referenceNumber": 269,
3350 "name": "Linux Kernel Variant of OpenIB.org license",
3351 "licenseId": "Linux-OpenIB",
3352 "seeAlso": [
3353 "https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/infiniband/core/sa.h"
3354 ],
3355 "isOsiApproved": false
3356 },
3357 {
3358 "reference": "https://spdx.org/licenses/LGPL-3.0.html",
3359 "isDeprecatedLicenseId": true,
3360 "detailsUrl": "https://spdx.org/licenses/LGPL-3.0.json",
3361 "referenceNumber": 270,
3362 "name": "GNU Lesser General Public License v3.0 only",
3363 "licenseId": "LGPL-3.0",
3364 "seeAlso": [
3365 "https://www.gnu.org/licenses/lgpl-3.0-standalone.html",
3366 "https://opensource.org/licenses/LGPL-3.0"
3367 ],
3368 "isOsiApproved": true,
3369 "isFsfLibre": true
3370 },
3371 {
3372 "reference": "https://spdx.org/licenses/OLDAP-2.5.html",
3373 "isDeprecatedLicenseId": false,
3374 "detailsUrl": "https://spdx.org/licenses/OLDAP-2.5.json",
3375 "referenceNumber": 271,
3376 "name": "Open LDAP Public License v2.5",
3377 "licenseId": "OLDAP-2.5",
3378 "seeAlso": [
3379 "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003d6852b9d90022e8593c98205413380536b1b5a7cf"
3380 ],
3381 "isOsiApproved": false
3382 },
3383 {
3384 "reference": "https://spdx.org/licenses/AMPAS.html",
3385 "isDeprecatedLicenseId": false,
3386 "detailsUrl": "https://spdx.org/licenses/AMPAS.json",
3387 "referenceNumber": 272,
3388 "name": "Academy of Motion Picture Arts and Sciences BSD",
3389 "licenseId": "AMPAS",
3390 "seeAlso": [
3391 "https://fedoraproject.org/wiki/Licensing/BSD#AMPASBSD"
3392 ],
3393 "isOsiApproved": false
3394 },
3395 {
3396 "reference": "https://spdx.org/licenses/GPL-1.0-or-later.html",
3397 "isDeprecatedLicenseId": false,
3398 "detailsUrl": "https://spdx.org/licenses/GPL-1.0-or-later.json",
3399 "referenceNumber": 273,
3400 "name": "GNU General Public License v1.0 or later",
3401 "licenseId": "GPL-1.0-or-later",
3402 "seeAlso": [
3403 "https://www.gnu.org/licenses/old-licenses/gpl-1.0-standalone.html"
3404 ],
3405 "isOsiApproved": false
3406 },
3407 {
3408 "reference": "https://spdx.org/licenses/BUSL-1.1.html",
3409 "isDeprecatedLicenseId": false,
3410 "detailsUrl": "https://spdx.org/licenses/BUSL-1.1.json",
3411 "referenceNumber": 274,
3412 "name": "Business Source License 1.1",
3413 "licenseId": "BUSL-1.1",
3414 "seeAlso": [
3415 "https://mariadb.com/bsl11/"
3416 ],
3417 "isOsiApproved": false
3418 },
3419 {
3420 "reference": "https://spdx.org/licenses/Adobe-Glyph.html",
3421 "isDeprecatedLicenseId": false,
3422 "detailsUrl": "https://spdx.org/licenses/Adobe-Glyph.json",
3423 "referenceNumber": 275,
3424 "name": "Adobe Glyph List License",
3425 "licenseId": "Adobe-Glyph",
3426 "seeAlso": [
3427 "https://fedoraproject.org/wiki/Licensing/MIT#AdobeGlyph"
3428 ],
3429 "isOsiApproved": false
3430 },
3431 {
3432 "reference": "https://spdx.org/licenses/0BSD.html",
3433 "isDeprecatedLicenseId": false,
3434 "detailsUrl": "https://spdx.org/licenses/0BSD.json",
3435 "referenceNumber": 276,
3436 "name": "BSD Zero Clause License",
3437 "licenseId": "0BSD",
3438 "seeAlso": [
3439 "http://landley.net/toybox/license.html"
3440 ],
3441 "isOsiApproved": true
3442 },
3443 {
3444 "reference": "https://spdx.org/licenses/W3C-19980720.html",
3445 "isDeprecatedLicenseId": false,
3446 "detailsUrl": "https://spdx.org/licenses/W3C-19980720.json",
3447 "referenceNumber": 277,
3448 "name": "W3C Software Notice and License (1998-07-20)",
3449 "licenseId": "W3C-19980720",
3450 "seeAlso": [
3451 "http://www.w3.org/Consortium/Legal/copyright-software-19980720.html"
3452 ],
3453 "isOsiApproved": false
3454 },
3455 {
3456 "reference": "https://spdx.org/licenses/FSFUL.html",
3457 "isDeprecatedLicenseId": false,
3458 "detailsUrl": "https://spdx.org/licenses/FSFUL.json",
3459 "referenceNumber": 278,
3460 "name": "FSF Unlimited License",
3461 "licenseId": "FSFUL",
3462 "seeAlso": [
3463 "https://fedoraproject.org/wiki/Licensing/FSF_Unlimited_License"
3464 ],
3465 "isOsiApproved": false
3466 },
3467 {
3468 "reference": "https://spdx.org/licenses/CC-BY-NC-SA-3.0.html",
3469 "isDeprecatedLicenseId": false,
3470 "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-SA-3.0.json",
3471 "referenceNumber": 279,
3472 "name": "Creative Commons Attribution Non Commercial Share Alike 3.0 Unported",
3473 "licenseId": "CC-BY-NC-SA-3.0",
3474 "seeAlso": [
3475 "https://creativecommons.org/licenses/by-nc-sa/3.0/legalcode"
3476 ],
3477 "isOsiApproved": false
3478 },
3479 {
3480 "reference": "https://spdx.org/licenses/DOC.html",
3481 "isDeprecatedLicenseId": false,
3482 "detailsUrl": "https://spdx.org/licenses/DOC.json",
3483 "referenceNumber": 280,
3484 "name": "DOC License",
3485 "licenseId": "DOC",
3486 "seeAlso": [
3487 "http://www.cs.wustl.edu/~schmidt/ACE-copying.html",
3488 "https://www.dre.vanderbilt.edu/~schmidt/ACE-copying.html"
3489 ],
3490 "isOsiApproved": false
3491 },
3492 {
3493 "reference": "https://spdx.org/licenses/TMate.html",
3494 "isDeprecatedLicenseId": false,
3495 "detailsUrl": "https://spdx.org/licenses/TMate.json",
3496 "referenceNumber": 281,
3497 "name": "TMate Open Source License",
3498 "licenseId": "TMate",
3499 "seeAlso": [
3500 "http://svnkit.com/license.html"
3501 ],
3502 "isOsiApproved": false
3503 },
3504 {
3505 "reference": "https://spdx.org/licenses/MIT-open-group.html",
3506 "isDeprecatedLicenseId": false,
3507 "detailsUrl": "https://spdx.org/licenses/MIT-open-group.json",
3508 "referenceNumber": 282,
3509 "name": "MIT Open Group variant",
3510 "licenseId": "MIT-open-group",
3511 "seeAlso": [
3512 "https://gitlab.freedesktop.org/xorg/app/iceauth/-/blob/master/COPYING",
3513 "https://gitlab.freedesktop.org/xorg/app/xvinfo/-/blob/master/COPYING",
3514 "https://gitlab.freedesktop.org/xorg/app/xsetroot/-/blob/master/COPYING",
3515 "https://gitlab.freedesktop.org/xorg/app/xauth/-/blob/master/COPYING"
3516 ],
3517 "isOsiApproved": false
3518 },
3519 {
3520 "reference": "https://spdx.org/licenses/AMDPLPA.html",
3521 "isDeprecatedLicenseId": false,
3522 "detailsUrl": "https://spdx.org/licenses/AMDPLPA.json",
3523 "referenceNumber": 283,
3524 "name": "AMD\u0027s plpa_map.c License",
3525 "licenseId": "AMDPLPA",
3526 "seeAlso": [
3527 "https://fedoraproject.org/wiki/Licensing/AMD_plpa_map_License"
3528 ],
3529 "isOsiApproved": false
3530 },
3531 {
3532 "reference": "https://spdx.org/licenses/Condor-1.1.html",
3533 "isDeprecatedLicenseId": false,
3534 "detailsUrl": "https://spdx.org/licenses/Condor-1.1.json",
3535 "referenceNumber": 284,
3536 "name": "Condor Public License v1.1",
3537 "licenseId": "Condor-1.1",
3538 "seeAlso": [
3539 "http://research.cs.wisc.edu/condor/license.html#condor",
3540 "http://web.archive.org/web/20111123062036/http://research.cs.wisc.edu/condor/license.html#condor"
3541 ],
3542 "isOsiApproved": false,
3543 "isFsfLibre": true
3544 },
3545 {
3546 "reference": "https://spdx.org/licenses/PolyForm-Noncommercial-1.0.0.html",
3547 "isDeprecatedLicenseId": false,
3548 "detailsUrl": "https://spdx.org/licenses/PolyForm-Noncommercial-1.0.0.json",
3549 "referenceNumber": 285,
3550 "name": "PolyForm Noncommercial License 1.0.0",
3551 "licenseId": "PolyForm-Noncommercial-1.0.0",
3552 "seeAlso": [
3553 "https://polyformproject.org/licenses/noncommercial/1.0.0"
3554 ],
3555 "isOsiApproved": false
3556 },
3557 {
3558 "reference": "https://spdx.org/licenses/BSD-3-Clause-No-Military-License.html",
3559 "isDeprecatedLicenseId": false,
3560 "detailsUrl": "https://spdx.org/licenses/BSD-3-Clause-No-Military-License.json",
3561 "referenceNumber": 286,
3562 "name": "BSD 3-Clause No Military License",
3563 "licenseId": "BSD-3-Clause-No-Military-License",
3564 "seeAlso": [
3565 "https://gitlab.syncad.com/hive/dhive/-/blob/master/LICENSE",
3566 "https://github.com/greymass/swift-eosio/blob/master/LICENSE"
3567 ],
3568 "isOsiApproved": false
3569 },
3570 {
3571 "reference": "https://spdx.org/licenses/CC-BY-4.0.html",
3572 "isDeprecatedLicenseId": false,
3573 "detailsUrl": "https://spdx.org/licenses/CC-BY-4.0.json",
3574 "referenceNumber": 287,
3575 "name": "Creative Commons Attribution 4.0 International",
3576 "licenseId": "CC-BY-4.0",
3577 "seeAlso": [
3578 "https://creativecommons.org/licenses/by/4.0/legalcode"
3579 ],
3580 "isOsiApproved": false,
3581 "isFsfLibre": true
3582 },
3583 {
3584 "reference": "https://spdx.org/licenses/OGL-Canada-2.0.html",
3585 "isDeprecatedLicenseId": false,
3586 "detailsUrl": "https://spdx.org/licenses/OGL-Canada-2.0.json",
3587 "referenceNumber": 288,
3588 "name": "Open Government Licence - Canada",
3589 "licenseId": "OGL-Canada-2.0",
3590 "seeAlso": [
3591 "https://open.canada.ca/en/open-government-licence-canada"
3592 ],
3593 "isOsiApproved": false
3594 },
3595 {
3596 "reference": "https://spdx.org/licenses/CC-BY-NC-SA-3.0-IGO.html",
3597 "isDeprecatedLicenseId": false,
3598 "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-SA-3.0-IGO.json",
3599 "referenceNumber": 289,
3600 "name": "Creative Commons Attribution Non Commercial Share Alike 3.0 IGO",
3601 "licenseId": "CC-BY-NC-SA-3.0-IGO",
3602 "seeAlso": [
3603 "https://creativecommons.org/licenses/by-nc-sa/3.0/igo/legalcode"
3604 ],
3605 "isOsiApproved": false
3606 },
3607 {
3608 "reference": "https://spdx.org/licenses/EFL-1.0.html",
3609 "isDeprecatedLicenseId": false,
3610 "detailsUrl": "https://spdx.org/licenses/EFL-1.0.json",
3611 "referenceNumber": 290,
3612 "name": "Eiffel Forum License v1.0",
3613 "licenseId": "EFL-1.0",
3614 "seeAlso": [
3615 "http://www.eiffel-nice.org/license/forum.txt",
3616 "https://opensource.org/licenses/EFL-1.0"
3617 ],
3618 "isOsiApproved": true
3619 },
3620 {
3621 "reference": "https://spdx.org/licenses/Newsletr.html",
3622 "isDeprecatedLicenseId": false,
3623 "detailsUrl": "https://spdx.org/licenses/Newsletr.json",
3624 "referenceNumber": 291,
3625 "name": "Newsletr License",
3626 "licenseId": "Newsletr",
3627 "seeAlso": [
3628 "https://fedoraproject.org/wiki/Licensing/Newsletr"
3629 ],
3630 "isOsiApproved": false
3631 },
3632 {
3633 "reference": "https://spdx.org/licenses/copyleft-next-0.3.0.html",
3634 "isDeprecatedLicenseId": false,
3635 "detailsUrl": "https://spdx.org/licenses/copyleft-next-0.3.0.json",
3636 "referenceNumber": 292,
3637 "name": "copyleft-next 0.3.0",
3638 "licenseId": "copyleft-next-0.3.0",
3639 "seeAlso": [
3640 "https://github.com/copyleft-next/copyleft-next/blob/master/Releases/copyleft-next-0.3.0"
3641 ],
3642 "isOsiApproved": false
3643 },
3644 {
3645 "reference": "https://spdx.org/licenses/GPL-3.0-or-later.html",
3646 "isDeprecatedLicenseId": false,
3647 "detailsUrl": "https://spdx.org/licenses/GPL-3.0-or-later.json",
3648 "referenceNumber": 293,
3649 "name": "GNU General Public License v3.0 or later",
3650 "licenseId": "GPL-3.0-or-later",
3651 "seeAlso": [
3652 "https://www.gnu.org/licenses/gpl-3.0-standalone.html",
3653 "https://opensource.org/licenses/GPL-3.0"
3654 ],
3655 "isOsiApproved": true,
3656 "isFsfLibre": true
3657 },
3658 {
3659 "reference": "https://spdx.org/licenses/CDLA-Permissive-2.0.html",
3660 "isDeprecatedLicenseId": false,
3661 "detailsUrl": "https://spdx.org/licenses/CDLA-Permissive-2.0.json",
3662 "referenceNumber": 294,
3663 "name": "Community Data License Agreement Permissive 2.0",
3664 "licenseId": "CDLA-Permissive-2.0",
3665 "seeAlso": [
3666 "https://cdla.dev/permissive-2-0"
3667 ],
3668 "isOsiApproved": false
3669 },
3670 {
3671 "reference": "https://spdx.org/licenses/CC-BY-ND-3.0.html",
3672 "isDeprecatedLicenseId": false,
3673 "detailsUrl": "https://spdx.org/licenses/CC-BY-ND-3.0.json",
3674 "referenceNumber": 295,
3675 "name": "Creative Commons Attribution No Derivatives 3.0 Unported",
3676 "licenseId": "CC-BY-ND-3.0",
3677 "seeAlso": [
3678 "https://creativecommons.org/licenses/by-nd/3.0/legalcode"
3679 ],
3680 "isOsiApproved": false
3681 },
3682 {
3683 "reference": "https://spdx.org/licenses/C-UDA-1.0.html",
3684 "isDeprecatedLicenseId": false,
3685 "detailsUrl": "https://spdx.org/licenses/C-UDA-1.0.json",
3686 "referenceNumber": 296,
3687 "name": "Computational Use of Data Agreement v1.0",
3688 "licenseId": "C-UDA-1.0",
3689 "seeAlso": [
3690 "https://github.com/microsoft/Computational-Use-of-Data-Agreement/blob/master/C-UDA-1.0.md",
3691 "https://cdla.dev/computational-use-of-data-agreement-v1-0/"
3692 ],
3693 "isOsiApproved": false
3694 },
3695 {
3696 "reference": "https://spdx.org/licenses/Barr.html",
3697 "isDeprecatedLicenseId": false,
3698 "detailsUrl": "https://spdx.org/licenses/Barr.json",
3699 "referenceNumber": 297,
3700 "name": "Barr License",
3701 "licenseId": "Barr",
3702 "seeAlso": [
3703 "https://fedoraproject.org/wiki/Licensing/Barr"
3704 ],
3705 "isOsiApproved": false
3706 },
3707 {
3708 "reference": "https://spdx.org/licenses/Vim.html",
3709 "isDeprecatedLicenseId": false,
3710 "detailsUrl": "https://spdx.org/licenses/Vim.json",
3711 "referenceNumber": 298,
3712 "name": "Vim License",
3713 "licenseId": "Vim",
3714 "seeAlso": [
3715 "http://vimdoc.sourceforge.net/htmldoc/uganda.html"
3716 ],
3717 "isOsiApproved": false,
3718 "isFsfLibre": true
3719 },
3720 {
3721 "reference": "https://spdx.org/licenses/GPL-2.0-with-classpath-exception.html",
3722 "isDeprecatedLicenseId": true,
3723 "detailsUrl": "https://spdx.org/licenses/GPL-2.0-with-classpath-exception.json",
3724 "referenceNumber": 299,
3725 "name": "GNU General Public License v2.0 w/Classpath exception",
3726 "licenseId": "GPL-2.0-with-classpath-exception",
3727 "seeAlso": [
3728 "https://www.gnu.org/software/classpath/license.html"
3729 ],
3730 "isOsiApproved": false
3731 },
3732 {
3733 "reference": "https://spdx.org/licenses/BitTorrent-1.1.html",
3734 "isDeprecatedLicenseId": false,
3735 "detailsUrl": "https://spdx.org/licenses/BitTorrent-1.1.json",
3736 "referenceNumber": 300,
3737 "name": "BitTorrent Open Source License v1.1",
3738 "licenseId": "BitTorrent-1.1",
3739 "seeAlso": [
3740 "http://directory.fsf.org/wiki/License:BitTorrentOSL1.1"
3741 ],
3742 "isOsiApproved": false,
3743 "isFsfLibre": true
3744 },
3745 {
3746 "reference": "https://spdx.org/licenses/CDL-1.0.html",
3747 "isDeprecatedLicenseId": false,
3748 "detailsUrl": "https://spdx.org/licenses/CDL-1.0.json",
3749 "referenceNumber": 301,
3750 "name": "Common Documentation License 1.0",
3751 "licenseId": "CDL-1.0",
3752 "seeAlso": [
3753 "http://www.opensource.apple.com/cdl/",
3754 "https://fedoraproject.org/wiki/Licensing/Common_Documentation_License",
3755 "https://www.gnu.org/licenses/license-list.html#ACDL"
3756 ],
3757 "isOsiApproved": false
3758 },
3759 {
3760 "reference": "https://spdx.org/licenses/CC-BY-SA-1.0.html",
3761 "isDeprecatedLicenseId": false,
3762 "detailsUrl": "https://spdx.org/licenses/CC-BY-SA-1.0.json",
3763 "referenceNumber": 302,
3764 "name": "Creative Commons Attribution Share Alike 1.0 Generic",
3765 "licenseId": "CC-BY-SA-1.0",
3766 "seeAlso": [
3767 "https://creativecommons.org/licenses/by-sa/1.0/legalcode"
3768 ],
3769 "isOsiApproved": false
3770 },
3771 {
3772 "reference": "https://spdx.org/licenses/ADSL.html",
3773 "isDeprecatedLicenseId": false,
3774 "detailsUrl": "https://spdx.org/licenses/ADSL.json",
3775 "referenceNumber": 303,
3776 "name": "Amazon Digital Services License",
3777 "licenseId": "ADSL",
3778 "seeAlso": [
3779 "https://fedoraproject.org/wiki/Licensing/AmazonDigitalServicesLicense"
3780 ],
3781 "isOsiApproved": false
3782 },
3783 {
3784 "reference": "https://spdx.org/licenses/PostgreSQL.html",
3785 "isDeprecatedLicenseId": false,
3786 "detailsUrl": "https://spdx.org/licenses/PostgreSQL.json",
3787 "referenceNumber": 304,
3788 "name": "PostgreSQL License",
3789 "licenseId": "PostgreSQL",
3790 "seeAlso": [
3791 "http://www.postgresql.org/about/licence",
3792 "https://opensource.org/licenses/PostgreSQL"
3793 ],
3794 "isOsiApproved": true
3795 },
3796 {
3797 "reference": "https://spdx.org/licenses/OFL-1.1.html",
3798 "isDeprecatedLicenseId": false,
3799 "detailsUrl": "https://spdx.org/licenses/OFL-1.1.json",
3800 "referenceNumber": 305,
3801 "name": "SIL Open Font License 1.1",
3802 "licenseId": "OFL-1.1",
3803 "seeAlso": [
3804 "http://scripts.sil.org/cms/scripts/page.php?item_id\u003dOFL_web",
3805 "https://opensource.org/licenses/OFL-1.1"
3806 ],
3807 "isOsiApproved": true,
3808 "isFsfLibre": true
3809 },
3810 {
3811 "reference": "https://spdx.org/licenses/NPL-1.0.html",
3812 "isDeprecatedLicenseId": false,
3813 "detailsUrl": "https://spdx.org/licenses/NPL-1.0.json",
3814 "referenceNumber": 306,
3815 "name": "Netscape Public License v1.0",
3816 "licenseId": "NPL-1.0",
3817 "seeAlso": [
3818 "http://www.mozilla.org/MPL/NPL/1.0/"
3819 ],
3820 "isOsiApproved": false,
3821 "isFsfLibre": true
3822 },
3823 {
3824 "reference": "https://spdx.org/licenses/xinetd.html",
3825 "isDeprecatedLicenseId": false,
3826 "detailsUrl": "https://spdx.org/licenses/xinetd.json",
3827 "referenceNumber": 307,
3828 "name": "xinetd License",
3829 "licenseId": "xinetd",
3830 "seeAlso": [
3831 "https://fedoraproject.org/wiki/Licensing/Xinetd_License"
3832 ],
3833 "isOsiApproved": false,
3834 "isFsfLibre": true
3835 },
3836 {
3837 "reference": "https://spdx.org/licenses/LGPL-2.0-only.html",
3838 "isDeprecatedLicenseId": false,
3839 "detailsUrl": "https://spdx.org/licenses/LGPL-2.0-only.json",
3840 "referenceNumber": 308,
3841 "name": "GNU Library General Public License v2 only",
3842 "licenseId": "LGPL-2.0-only",
3843 "seeAlso": [
3844 "https://www.gnu.org/licenses/old-licenses/lgpl-2.0-standalone.html"
3845 ],
3846 "isOsiApproved": true
3847 },
3848 {
3849 "reference": "https://spdx.org/licenses/zlib-acknowledgement.html",
3850 "isDeprecatedLicenseId": false,
3851 "detailsUrl": "https://spdx.org/licenses/zlib-acknowledgement.json",
3852 "referenceNumber": 309,
3853 "name": "zlib/libpng License with Acknowledgement",
3854 "licenseId": "zlib-acknowledgement",
3855 "seeAlso": [
3856 "https://fedoraproject.org/wiki/Licensing/ZlibWithAcknowledgement"
3857 ],
3858 "isOsiApproved": false
3859 },
3860 {
3861 "reference": "https://spdx.org/licenses/OLDAP-2.2.1.html",
3862 "isDeprecatedLicenseId": false,
3863 "detailsUrl": "https://spdx.org/licenses/OLDAP-2.2.1.json",
3864 "referenceNumber": 310,
3865 "name": "Open LDAP Public License v2.2.1",
3866 "licenseId": "OLDAP-2.2.1",
3867 "seeAlso": [
3868 "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003d4bc786f34b50aa301be6f5600f58a980070f481e"
3869 ],
3870 "isOsiApproved": false
3871 },
3872 {
3873 "reference": "https://spdx.org/licenses/APSL-1.0.html",
3874 "isDeprecatedLicenseId": false,
3875 "detailsUrl": "https://spdx.org/licenses/APSL-1.0.json",
3876 "referenceNumber": 311,
3877 "name": "Apple Public Source License 1.0",
3878 "licenseId": "APSL-1.0",
3879 "seeAlso": [
3880 "https://fedoraproject.org/wiki/Licensing/Apple_Public_Source_License_1.0"
3881 ],
3882 "isOsiApproved": true
3883 },
3884 {
3885 "reference": "https://spdx.org/licenses/BSD-3-Clause-LBNL.html",
3886 "isDeprecatedLicenseId": false,
3887 "detailsUrl": "https://spdx.org/licenses/BSD-3-Clause-LBNL.json",
3888 "referenceNumber": 312,
3889 "name": "Lawrence Berkeley National Labs BSD variant license",
3890 "licenseId": "BSD-3-Clause-LBNL",
3891 "seeAlso": [
3892 "https://fedoraproject.org/wiki/Licensing/LBNLBSD"
3893 ],
3894 "isOsiApproved": true
3895 },
3896 {
3897 "reference": "https://spdx.org/licenses/GLWTPL.html",
3898 "isDeprecatedLicenseId": false,
3899 "detailsUrl": "https://spdx.org/licenses/GLWTPL.json",
3900 "referenceNumber": 313,
3901 "name": "Good Luck With That Public License",
3902 "licenseId": "GLWTPL",
3903 "seeAlso": [
3904 "https://github.com/me-shaon/GLWTPL/commit/da5f6bc734095efbacb442c0b31e33a65b9d6e85"
3905 ],
3906 "isOsiApproved": false
3907 },
3908 {
3909 "reference": "https://spdx.org/licenses/LGPL-3.0-only.html",
3910 "isDeprecatedLicenseId": false,
3911 "detailsUrl": "https://spdx.org/licenses/LGPL-3.0-only.json",
3912 "referenceNumber": 314,
3913 "name": "GNU Lesser General Public License v3.0 only",
3914 "licenseId": "LGPL-3.0-only",
3915 "seeAlso": [
3916 "https://www.gnu.org/licenses/lgpl-3.0-standalone.html",
3917 "https://opensource.org/licenses/LGPL-3.0"
3918 ],
3919 "isOsiApproved": true,
3920 "isFsfLibre": true
3921 },
3922 {
3923 "reference": "https://spdx.org/licenses/OGC-1.0.html",
3924 "isDeprecatedLicenseId": false,
3925 "detailsUrl": "https://spdx.org/licenses/OGC-1.0.json",
3926 "referenceNumber": 315,
3927 "name": "OGC Software License, Version 1.0",
3928 "licenseId": "OGC-1.0",
3929 "seeAlso": [
3930 "https://www.ogc.org/ogc/software/1.0"
3931 ],
3932 "isOsiApproved": false
3933 },
3934 {
3935 "reference": "https://spdx.org/licenses/Dotseqn.html",
3936 "isDeprecatedLicenseId": false,
3937 "detailsUrl": "https://spdx.org/licenses/Dotseqn.json",
3938 "referenceNumber": 316,
3939 "name": "Dotseqn License",
3940 "licenseId": "Dotseqn",
3941 "seeAlso": [
3942 "https://fedoraproject.org/wiki/Licensing/Dotseqn"
3943 ],
3944 "isOsiApproved": false
3945 },
3946 {
3947 "reference": "https://spdx.org/licenses/MakeIndex.html",
3948 "isDeprecatedLicenseId": false,
3949 "detailsUrl": "https://spdx.org/licenses/MakeIndex.json",
3950 "referenceNumber": 317,
3951 "name": "MakeIndex License",
3952 "licenseId": "MakeIndex",
3953 "seeAlso": [
3954 "https://fedoraproject.org/wiki/Licensing/MakeIndex"
3955 ],
3956 "isOsiApproved": false
3957 },
3958 {
3959 "reference": "https://spdx.org/licenses/GPL-3.0-only.html",
3960 "isDeprecatedLicenseId": false,
3961 "detailsUrl": "https://spdx.org/licenses/GPL-3.0-only.json",
3962 "referenceNumber": 318,
3963 "name": "GNU General Public License v3.0 only",
3964 "licenseId": "GPL-3.0-only",
3965 "seeAlso": [
3966 "https://www.gnu.org/licenses/gpl-3.0-standalone.html",
3967 "https://opensource.org/licenses/GPL-3.0"
3968 ],
3969 "isOsiApproved": true,
3970 "isFsfLibre": true
3971 },
3972 {
3973 "reference": "https://spdx.org/licenses/BSD-3-Clause-No-Nuclear-License-2014.html",
3974 "isDeprecatedLicenseId": false,
3975 "detailsUrl": "https://spdx.org/licenses/BSD-3-Clause-No-Nuclear-License-2014.json",
3976 "referenceNumber": 319,
3977 "name": "BSD 3-Clause No Nuclear License 2014",
3978 "licenseId": "BSD-3-Clause-No-Nuclear-License-2014",
3979 "seeAlso": [
3980 "https://java.net/projects/javaeetutorial/pages/BerkeleyLicense"
3981 ],
3982 "isOsiApproved": false
3983 },
3984 {
3985 "reference": "https://spdx.org/licenses/GPL-1.0-only.html",
3986 "isDeprecatedLicenseId": false,
3987 "detailsUrl": "https://spdx.org/licenses/GPL-1.0-only.json",
3988 "referenceNumber": 320,
3989 "name": "GNU General Public License v1.0 only",
3990 "licenseId": "GPL-1.0-only",
3991 "seeAlso": [
3992 "https://www.gnu.org/licenses/old-licenses/gpl-1.0-standalone.html"
3993 ],
3994 "isOsiApproved": false
3995 },
3996 {
3997 "reference": "https://spdx.org/licenses/IJG.html",
3998 "isDeprecatedLicenseId": false,
3999 "detailsUrl": "https://spdx.org/licenses/IJG.json",
4000 "referenceNumber": 321,
4001 "name": "Independent JPEG Group License",
4002 "licenseId": "IJG",
4003 "seeAlso": [
4004 "http://dev.w3.org/cvsweb/Amaya/libjpeg/Attic/README?rev\u003d1.2"
4005 ],
4006 "isOsiApproved": false,
4007 "isFsfLibre": true
4008 },
4009 {
4010 "reference": "https://spdx.org/licenses/AGPL-1.0-or-later.html",
4011 "isDeprecatedLicenseId": false,
4012 "detailsUrl": "https://spdx.org/licenses/AGPL-1.0-or-later.json",
4013 "referenceNumber": 322,
4014 "name": "Affero General Public License v1.0 or later",
4015 "licenseId": "AGPL-1.0-or-later",
4016 "seeAlso": [
4017 "http://www.affero.org/oagpl.html"
4018 ],
4019 "isOsiApproved": false
4020 },
4021 {
4022 "reference": "https://spdx.org/licenses/OFL-1.1-no-RFN.html",
4023 "isDeprecatedLicenseId": false,
4024 "detailsUrl": "https://spdx.org/licenses/OFL-1.1-no-RFN.json",
4025 "referenceNumber": 323,
4026 "name": "SIL Open Font License 1.1 with no Reserved Font Name",
4027 "licenseId": "OFL-1.1-no-RFN",
4028 "seeAlso": [
4029 "http://scripts.sil.org/cms/scripts/page.php?item_id\u003dOFL_web",
4030 "https://opensource.org/licenses/OFL-1.1"
4031 ],
4032 "isOsiApproved": true
4033 },
4034 {
4035 "reference": "https://spdx.org/licenses/BSL-1.0.html",
4036 "isDeprecatedLicenseId": false,
4037 "detailsUrl": "https://spdx.org/licenses/BSL-1.0.json",
4038 "referenceNumber": 324,
4039 "name": "Boost Software License 1.0",
4040 "licenseId": "BSL-1.0",
4041 "seeAlso": [
4042 "http://www.boost.org/LICENSE_1_0.txt",
4043 "https://opensource.org/licenses/BSL-1.0"
4044 ],
4045 "isOsiApproved": true,
4046 "isFsfLibre": true
4047 },
4048 {
4049 "reference": "https://spdx.org/licenses/Libpng.html",
4050 "isDeprecatedLicenseId": false,
4051 "detailsUrl": "https://spdx.org/licenses/Libpng.json",
4052 "referenceNumber": 325,
4053 "name": "libpng License",
4054 "licenseId": "Libpng",
4055 "seeAlso": [
4056 "http://www.libpng.org/pub/png/src/libpng-LICENSE.txt"
4057 ],
4058 "isOsiApproved": false
4059 },
4060 {
4061 "reference": "https://spdx.org/licenses/CC-BY-NC-3.0.html",
4062 "isDeprecatedLicenseId": false,
4063 "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-3.0.json",
4064 "referenceNumber": 326,
4065 "name": "Creative Commons Attribution Non Commercial 3.0 Unported",
4066 "licenseId": "CC-BY-NC-3.0",
4067 "seeAlso": [
4068 "https://creativecommons.org/licenses/by-nc/3.0/legalcode"
4069 ],
4070 "isOsiApproved": false
4071 },
4072 {
4073 "reference": "https://spdx.org/licenses/CC-BY-NC-2.0.html",
4074 "isDeprecatedLicenseId": false,
4075 "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-2.0.json",
4076 "referenceNumber": 327,
4077 "name": "Creative Commons Attribution Non Commercial 2.0 Generic",
4078 "licenseId": "CC-BY-NC-2.0",
4079 "seeAlso": [
4080 "https://creativecommons.org/licenses/by-nc/2.0/legalcode"
4081 ],
4082 "isOsiApproved": false
4083 },
4084 {
4085 "reference": "https://spdx.org/licenses/Unlicense.html",
4086 "isDeprecatedLicenseId": false,
4087 "detailsUrl": "https://spdx.org/licenses/Unlicense.json",
4088 "referenceNumber": 328,
4089 "name": "The Unlicense",
4090 "licenseId": "Unlicense",
4091 "seeAlso": [
4092 "https://unlicense.org/"
4093 ],
4094 "isOsiApproved": true,
4095 "isFsfLibre": true
4096 },
4097 {
4098 "reference": "https://spdx.org/licenses/LPL-1.0.html",
4099 "isDeprecatedLicenseId": false,
4100 "detailsUrl": "https://spdx.org/licenses/LPL-1.0.json",
4101 "referenceNumber": 329,
4102 "name": "Lucent Public License Version 1.0",
4103 "licenseId": "LPL-1.0",
4104 "seeAlso": [
4105 "https://opensource.org/licenses/LPL-1.0"
4106 ],
4107 "isOsiApproved": true
4108 },
4109 {
4110 "reference": "https://spdx.org/licenses/bzip2-1.0.5.html",
4111 "isDeprecatedLicenseId": false,
4112 "detailsUrl": "https://spdx.org/licenses/bzip2-1.0.5.json",
4113 "referenceNumber": 330,
4114 "name": "bzip2 and libbzip2 License v1.0.5",
4115 "licenseId": "bzip2-1.0.5",
4116 "seeAlso": [
4117 "https://sourceware.org/bzip2/1.0.5/bzip2-manual-1.0.5.html",
4118 "http://bzip.org/1.0.5/bzip2-manual-1.0.5.html"
4119 ],
4120 "isOsiApproved": false
4121 },
4122 {
4123 "reference": "https://spdx.org/licenses/Entessa.html",
4124 "isDeprecatedLicenseId": false,
4125 "detailsUrl": "https://spdx.org/licenses/Entessa.json",
4126 "referenceNumber": 331,
4127 "name": "Entessa Public License v1.0",
4128 "licenseId": "Entessa",
4129 "seeAlso": [
4130 "https://opensource.org/licenses/Entessa"
4131 ],
4132 "isOsiApproved": true
4133 },
4134 {
4135 "reference": "https://spdx.org/licenses/BSD-2-Clause-Patent.html",
4136 "isDeprecatedLicenseId": false,
4137 "detailsUrl": "https://spdx.org/licenses/BSD-2-Clause-Patent.json",
4138 "referenceNumber": 332,
4139 "name": "BSD-2-Clause Plus Patent License",
4140 "licenseId": "BSD-2-Clause-Patent",
4141 "seeAlso": [
4142 "https://opensource.org/licenses/BSDplusPatent"
4143 ],
4144 "isOsiApproved": true
4145 },
4146 {
4147 "reference": "https://spdx.org/licenses/ECL-2.0.html",
4148 "isDeprecatedLicenseId": false,
4149 "detailsUrl": "https://spdx.org/licenses/ECL-2.0.json",
4150 "referenceNumber": 333,
4151 "name": "Educational Community License v2.0",
4152 "licenseId": "ECL-2.0",
4153 "seeAlso": [
4154 "https://opensource.org/licenses/ECL-2.0"
4155 ],
4156 "isOsiApproved": true,
4157 "isFsfLibre": true
4158 },
4159 {
4160 "reference": "https://spdx.org/licenses/Crossword.html",
4161 "isDeprecatedLicenseId": false,
4162 "detailsUrl": "https://spdx.org/licenses/Crossword.json",
4163 "referenceNumber": 334,
4164 "name": "Crossword License",
4165 "licenseId": "Crossword",
4166 "seeAlso": [
4167 "https://fedoraproject.org/wiki/Licensing/Crossword"
4168 ],
4169 "isOsiApproved": false
4170 },
4171 {
4172 "reference": "https://spdx.org/licenses/CC-BY-NC-ND-1.0.html",
4173 "isDeprecatedLicenseId": false,
4174 "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-ND-1.0.json",
4175 "referenceNumber": 335,
4176 "name": "Creative Commons Attribution Non Commercial No Derivatives 1.0 Generic",
4177 "licenseId": "CC-BY-NC-ND-1.0",
4178 "seeAlso": [
4179 "https://creativecommons.org/licenses/by-nd-nc/1.0/legalcode"
4180 ],
4181 "isOsiApproved": false
4182 },
4183 {
4184 "reference": "https://spdx.org/licenses/OCLC-2.0.html",
4185 "isDeprecatedLicenseId": false,
4186 "detailsUrl": "https://spdx.org/licenses/OCLC-2.0.json",
4187 "referenceNumber": 336,
4188 "name": "OCLC Research Public License 2.0",
4189 "licenseId": "OCLC-2.0",
4190 "seeAlso": [
4191 "http://www.oclc.org/research/activities/software/license/v2final.htm",
4192 "https://opensource.org/licenses/OCLC-2.0"
4193 ],
4194 "isOsiApproved": true
4195 },
4196 {
4197 "reference": "https://spdx.org/licenses/CECILL-1.1.html",
4198 "isDeprecatedLicenseId": false,
4199 "detailsUrl": "https://spdx.org/licenses/CECILL-1.1.json",
4200 "referenceNumber": 337,
4201 "name": "CeCILL Free Software License Agreement v1.1",
4202 "licenseId": "CECILL-1.1",
4203 "seeAlso": [
4204 "http://www.cecill.info/licences/Licence_CeCILL_V1.1-US.html"
4205 ],
4206 "isOsiApproved": false
4207 },
4208 {
4209 "reference": "https://spdx.org/licenses/CECILL-2.1.html",
4210 "isDeprecatedLicenseId": false,
4211 "detailsUrl": "https://spdx.org/licenses/CECILL-2.1.json",
4212 "referenceNumber": 338,
4213 "name": "CeCILL Free Software License Agreement v2.1",
4214 "licenseId": "CECILL-2.1",
4215 "seeAlso": [
4216 "http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.html"
4217 ],
4218 "isOsiApproved": true
4219 },
4220 {
4221 "reference": "https://spdx.org/licenses/OGDL-Taiwan-1.0.html",
4222 "isDeprecatedLicenseId": false,
4223 "detailsUrl": "https://spdx.org/licenses/OGDL-Taiwan-1.0.json",
4224 "referenceNumber": 339,
4225 "name": "Taiwan Open Government Data License, version 1.0",
4226 "licenseId": "OGDL-Taiwan-1.0",
4227 "seeAlso": [
4228 "https://data.gov.tw/license"
4229 ],
4230 "isOsiApproved": false
4231 },
4232 {
4233 "reference": "https://spdx.org/licenses/Abstyles.html",
4234 "isDeprecatedLicenseId": false,
4235 "detailsUrl": "https://spdx.org/licenses/Abstyles.json",
4236 "referenceNumber": 340,
4237 "name": "Abstyles License",
4238 "licenseId": "Abstyles",
4239 "seeAlso": [
4240 "https://fedoraproject.org/wiki/Licensing/Abstyles"
4241 ],
4242 "isOsiApproved": false
4243 },
4244 {
4245 "reference": "https://spdx.org/licenses/libselinux-1.0.html",
4246 "isDeprecatedLicenseId": false,
4247 "detailsUrl": "https://spdx.org/licenses/libselinux-1.0.json",
4248 "referenceNumber": 341,
4249 "name": "libselinux public domain notice",
4250 "licenseId": "libselinux-1.0",
4251 "seeAlso": [
4252 "https://github.com/SELinuxProject/selinux/blob/master/libselinux/LICENSE"
4253 ],
4254 "isOsiApproved": false
4255 },
4256 {
4257 "reference": "https://spdx.org/licenses/ANTLR-PD.html",
4258 "isDeprecatedLicenseId": false,
4259 "detailsUrl": "https://spdx.org/licenses/ANTLR-PD.json",
4260 "referenceNumber": 342,
4261 "name": "ANTLR Software Rights Notice",
4262 "licenseId": "ANTLR-PD",
4263 "seeAlso": [
4264 "http://www.antlr2.org/license.html"
4265 ],
4266 "isOsiApproved": false
4267 },
4268 {
4269 "reference": "https://spdx.org/licenses/GPL-2.0-or-later.html",
4270 "isDeprecatedLicenseId": false,
4271 "detailsUrl": "https://spdx.org/licenses/GPL-2.0-or-later.json",
4272 "referenceNumber": 343,
4273 "name": "GNU General Public License v2.0 or later",
4274 "licenseId": "GPL-2.0-or-later",
4275 "seeAlso": [
4276 "https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html",
4277 "https://opensource.org/licenses/GPL-2.0"
4278 ],
4279 "isOsiApproved": true,
4280 "isFsfLibre": true
4281 },
4282 {
4283 "reference": "https://spdx.org/licenses/IPL-1.0.html",
4284 "isDeprecatedLicenseId": false,
4285 "detailsUrl": "https://spdx.org/licenses/IPL-1.0.json",
4286 "referenceNumber": 344,
4287 "name": "IBM Public License v1.0",
4288 "licenseId": "IPL-1.0",
4289 "seeAlso": [
4290 "https://opensource.org/licenses/IPL-1.0"
4291 ],
4292 "isOsiApproved": true,
4293 "isFsfLibre": true
4294 },
4295 {
4296 "reference": "https://spdx.org/licenses/MIT-enna.html",
4297 "isDeprecatedLicenseId": false,
4298 "detailsUrl": "https://spdx.org/licenses/MIT-enna.json",
4299 "referenceNumber": 345,
4300 "name": "enna License",
4301 "licenseId": "MIT-enna",
4302 "seeAlso": [
4303 "https://fedoraproject.org/wiki/Licensing/MIT#enna"
4304 ],
4305 "isOsiApproved": false
4306 },
4307 {
4308 "reference": "https://spdx.org/licenses/CPOL-1.02.html",
4309 "isDeprecatedLicenseId": false,
4310 "detailsUrl": "https://spdx.org/licenses/CPOL-1.02.json",
4311 "referenceNumber": 346,
4312 "name": "Code Project Open License 1.02",
4313 "licenseId": "CPOL-1.02",
4314 "seeAlso": [
4315 "http://www.codeproject.com/info/cpol10.aspx"
4316 ],
4317 "isOsiApproved": false
4318 },
4319 {
4320 "reference": "https://spdx.org/licenses/CC-BY-SA-3.0-AT.html",
4321 "isDeprecatedLicenseId": false,
4322 "detailsUrl": "https://spdx.org/licenses/CC-BY-SA-3.0-AT.json",
4323 "referenceNumber": 347,
4324 "name": "Creative Commons Attribution Share Alike 3.0 Austria",
4325 "licenseId": "CC-BY-SA-3.0-AT",
4326 "seeAlso": [
4327 "https://creativecommons.org/licenses/by-sa/3.0/at/legalcode"
4328 ],
4329 "isOsiApproved": false
4330 },
4331 {
4332 "reference": "https://spdx.org/licenses/GPL-3.0-with-GCC-exception.html",
4333 "isDeprecatedLicenseId": true,
4334 "detailsUrl": "https://spdx.org/licenses/GPL-3.0-with-GCC-exception.json",
4335 "referenceNumber": 348,
4336 "name": "GNU General Public License v3.0 w/GCC Runtime Library exception",
4337 "licenseId": "GPL-3.0-with-GCC-exception",
4338 "seeAlso": [
4339 "https://www.gnu.org/licenses/gcc-exception-3.1.html"
4340 ],
4341 "isOsiApproved": true
4342 },
4343 {
4344 "reference": "https://spdx.org/licenses/BSD-1-Clause.html",
4345 "isDeprecatedLicenseId": false,
4346 "detailsUrl": "https://spdx.org/licenses/BSD-1-Clause.json",
4347 "referenceNumber": 349,
4348 "name": "BSD 1-Clause License",
4349 "licenseId": "BSD-1-Clause",
4350 "seeAlso": [
4351 "https://svnweb.freebsd.org/base/head/include/ifaddrs.h?revision\u003d326823"
4352 ],
4353 "isOsiApproved": true
4354 },
4355 {
4356 "reference": "https://spdx.org/licenses/NTP-0.html",
4357 "isDeprecatedLicenseId": false,
4358 "detailsUrl": "https://spdx.org/licenses/NTP-0.json",
4359 "referenceNumber": 350,
4360 "name": "NTP No Attribution",
4361 "licenseId": "NTP-0",
4362 "seeAlso": [
4363 "https://github.com/tytso/e2fsprogs/blob/master/lib/et/et_name.c"
4364 ],
4365 "isOsiApproved": false
4366 },
4367 {
4368 "reference": "https://spdx.org/licenses/SugarCRM-1.1.3.html",
4369 "isDeprecatedLicenseId": false,
4370 "detailsUrl": "https://spdx.org/licenses/SugarCRM-1.1.3.json",
4371 "referenceNumber": 351,
4372 "name": "SugarCRM Public License v1.1.3",
4373 "licenseId": "SugarCRM-1.1.3",
4374 "seeAlso": [
4375 "http://www.sugarcrm.com/crm/SPL"
4376 ],
4377 "isOsiApproved": false
4378 },
4379 {
4380 "reference": "https://spdx.org/licenses/MIT.html",
4381 "isDeprecatedLicenseId": false,
4382 "detailsUrl": "https://spdx.org/licenses/MIT.json",
4383 "referenceNumber": 352,
4384 "name": "MIT License",
4385 "licenseId": "MIT",
4386 "seeAlso": [
4387 "https://opensource.org/licenses/MIT"
4388 ],
4389 "isOsiApproved": true,
4390 "isFsfLibre": true
4391 },
4392 {
4393 "reference": "https://spdx.org/licenses/OFL-1.1-RFN.html",
4394 "isDeprecatedLicenseId": false,
4395 "detailsUrl": "https://spdx.org/licenses/OFL-1.1-RFN.json",
4396 "referenceNumber": 353,
4397 "name": "SIL Open Font License 1.1 with Reserved Font Name",
4398 "licenseId": "OFL-1.1-RFN",
4399 "seeAlso": [
4400 "http://scripts.sil.org/cms/scripts/page.php?item_id\u003dOFL_web",
4401 "https://opensource.org/licenses/OFL-1.1"
4402 ],
4403 "isOsiApproved": true
4404 },
4405 {
4406 "reference": "https://spdx.org/licenses/Watcom-1.0.html",
4407 "isDeprecatedLicenseId": false,
4408 "detailsUrl": "https://spdx.org/licenses/Watcom-1.0.json",
4409 "referenceNumber": 354,
4410 "name": "Sybase Open Watcom Public License 1.0",
4411 "licenseId": "Watcom-1.0",
4412 "seeAlso": [
4413 "https://opensource.org/licenses/Watcom-1.0"
4414 ],
4415 "isOsiApproved": true
4416 },
4417 {
4418 "reference": "https://spdx.org/licenses/CC-BY-NC-SA-2.0-FR.html",
4419 "isDeprecatedLicenseId": false,
4420 "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-SA-2.0-FR.json",
4421 "referenceNumber": 355,
4422 "name": "Creative Commons Attribution-NonCommercial-ShareAlike 2.0 France",
4423 "licenseId": "CC-BY-NC-SA-2.0-FR",
4424 "seeAlso": [
4425 "https://creativecommons.org/licenses/by-nc-sa/2.0/fr/legalcode"
4426 ],
4427 "isOsiApproved": false
4428 },
4429 {
4430 "reference": "https://spdx.org/licenses/ODbL-1.0.html",
4431 "isDeprecatedLicenseId": false,
4432 "detailsUrl": "https://spdx.org/licenses/ODbL-1.0.json",
4433 "referenceNumber": 356,
4434 "name": "Open Data Commons Open Database License v1.0",
4435 "licenseId": "ODbL-1.0",
4436 "seeAlso": [
4437 "http://www.opendatacommons.org/licenses/odbl/1.0/",
4438 "https://opendatacommons.org/licenses/odbl/1-0/"
4439 ],
4440 "isOsiApproved": false,
4441 "isFsfLibre": true
4442 },
4443 {
4444 "reference": "https://spdx.org/licenses/FSFULLR.html",
4445 "isDeprecatedLicenseId": false,
4446 "detailsUrl": "https://spdx.org/licenses/FSFULLR.json",
4447 "referenceNumber": 357,
4448 "name": "FSF Unlimited License (with License Retention)",
4449 "licenseId": "FSFULLR",
4450 "seeAlso": [
4451 "https://fedoraproject.org/wiki/Licensing/FSF_Unlimited_License#License_Retention_Variant"
4452 ],
4453 "isOsiApproved": false
4454 },
4455 {
4456 "reference": "https://spdx.org/licenses/OLDAP-1.3.html",
4457 "isDeprecatedLicenseId": false,
4458 "detailsUrl": "https://spdx.org/licenses/OLDAP-1.3.json",
4459 "referenceNumber": 358,
4460 "name": "Open LDAP Public License v1.3",
4461 "licenseId": "OLDAP-1.3",
4462 "seeAlso": [
4463 "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003de5f8117f0ce088d0bd7a8e18ddf37eaa40eb09b1"
4464 ],
4465 "isOsiApproved": false
4466 },
4467 {
4468 "reference": "https://spdx.org/licenses/SSH-OpenSSH.html",
4469 "isDeprecatedLicenseId": false,
4470 "detailsUrl": "https://spdx.org/licenses/SSH-OpenSSH.json",
4471 "referenceNumber": 359,
4472 "name": "SSH OpenSSH license",
4473 "licenseId": "SSH-OpenSSH",
4474 "seeAlso": [
4475 "https://github.com/openssh/openssh-portable/blob/1b11ea7c58cd5c59838b5fa574cd456d6047b2d4/LICENCE#L10"
4476 ],
4477 "isOsiApproved": false
4478 },
4479 {
4480 "reference": "https://spdx.org/licenses/BSD-2-Clause.html",
4481 "isDeprecatedLicenseId": false,
4482 "detailsUrl": "https://spdx.org/licenses/BSD-2-Clause.json",
4483 "referenceNumber": 360,
4484 "name": "BSD 2-Clause \"Simplified\" License",
4485 "licenseId": "BSD-2-Clause",
4486 "seeAlso": [
4487 "https://opensource.org/licenses/BSD-2-Clause"
4488 ],
4489 "isOsiApproved": true
4490 },
4491 {
4492 "reference": "https://spdx.org/licenses/HPND.html",
4493 "isDeprecatedLicenseId": false,
4494 "detailsUrl": "https://spdx.org/licenses/HPND.json",
4495 "referenceNumber": 361,
4496 "name": "Historical Permission Notice and Disclaimer",
4497 "licenseId": "HPND",
4498 "seeAlso": [
4499 "https://opensource.org/licenses/HPND"
4500 ],
4501 "isOsiApproved": true,
4502 "isFsfLibre": true
4503 },
4504 {
4505 "reference": "https://spdx.org/licenses/Zimbra-1.3.html",
4506 "isDeprecatedLicenseId": false,
4507 "detailsUrl": "https://spdx.org/licenses/Zimbra-1.3.json",
4508 "referenceNumber": 362,
4509 "name": "Zimbra Public License v1.3",
4510 "licenseId": "Zimbra-1.3",
4511 "seeAlso": [
4512 "http://web.archive.org/web/20100302225219/http://www.zimbra.com/license/zimbra-public-license-1-3.html"
4513 ],
4514 "isOsiApproved": false,
4515 "isFsfLibre": true
4516 },
4517 {
4518 "reference": "https://spdx.org/licenses/Borceux.html",
4519 "isDeprecatedLicenseId": false,
4520 "detailsUrl": "https://spdx.org/licenses/Borceux.json",
4521 "referenceNumber": 363,
4522 "name": "Borceux license",
4523 "licenseId": "Borceux",
4524 "seeAlso": [
4525 "https://fedoraproject.org/wiki/Licensing/Borceux"
4526 ],
4527 "isOsiApproved": false
4528 },
4529 {
4530 "reference": "https://spdx.org/licenses/OLDAP-1.1.html",
4531 "isDeprecatedLicenseId": false,
4532 "detailsUrl": "https://spdx.org/licenses/OLDAP-1.1.json",
4533 "referenceNumber": 364,
4534 "name": "Open LDAP Public License v1.1",
4535 "licenseId": "OLDAP-1.1",
4536 "seeAlso": [
4537 "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003d806557a5ad59804ef3a44d5abfbe91d706b0791f"
4538 ],
4539 "isOsiApproved": false
4540 },
4541 {
4542 "reference": "https://spdx.org/licenses/OFL-1.0.html",
4543 "isDeprecatedLicenseId": false,
4544 "detailsUrl": "https://spdx.org/licenses/OFL-1.0.json",
4545 "referenceNumber": 365,
4546 "name": "SIL Open Font License 1.0",
4547 "licenseId": "OFL-1.0",
4548 "seeAlso": [
4549 "http://scripts.sil.org/cms/scripts/page.php?item_id\u003dOFL10_web"
4550 ],
4551 "isOsiApproved": false
4552 },
4553 {
4554 "reference": "https://spdx.org/licenses/NASA-1.3.html",
4555 "isDeprecatedLicenseId": false,
4556 "detailsUrl": "https://spdx.org/licenses/NASA-1.3.json",
4557 "referenceNumber": 366,
4558 "name": "NASA Open Source Agreement 1.3",
4559 "licenseId": "NASA-1.3",
4560 "seeAlso": [
4561 "http://ti.arc.nasa.gov/opensource/nosa/",
4562 "https://opensource.org/licenses/NASA-1.3"
4563 ],
4564 "isOsiApproved": true
4565 },
4566 {
4567 "reference": "https://spdx.org/licenses/VOSTROM.html",
4568 "isDeprecatedLicenseId": false,
4569 "detailsUrl": "https://spdx.org/licenses/VOSTROM.json",
4570 "referenceNumber": 367,
4571 "name": "VOSTROM Public License for Open Source",
4572 "licenseId": "VOSTROM",
4573 "seeAlso": [
4574 "https://fedoraproject.org/wiki/Licensing/VOSTROM"
4575 ],
4576 "isOsiApproved": false
4577 },
4578 {
4579 "reference": "https://spdx.org/licenses/MIT-0.html",
4580 "isDeprecatedLicenseId": false,
4581 "detailsUrl": "https://spdx.org/licenses/MIT-0.json",
4582 "referenceNumber": 368,
4583 "name": "MIT No Attribution",
4584 "licenseId": "MIT-0",
4585 "seeAlso": [
4586 "https://github.com/aws/mit-0",
4587 "https://romanrm.net/mit-zero",
4588 "https://github.com/awsdocs/aws-cloud9-user-guide/blob/master/LICENSE-SAMPLECODE"
4589 ],
4590 "isOsiApproved": true
4591 },
4592 {
4593 "reference": "https://spdx.org/licenses/ISC.html",
4594 "isDeprecatedLicenseId": false,
4595 "detailsUrl": "https://spdx.org/licenses/ISC.json",
4596 "referenceNumber": 369,
4597 "name": "ISC License",
4598 "licenseId": "ISC",
4599 "seeAlso": [
4600 "https://www.isc.org/licenses/",
4601 "https://www.isc.org/downloads/software-support-policy/isc-license/",
4602 "https://opensource.org/licenses/ISC"
4603 ],
4604 "isOsiApproved": true,
4605 "isFsfLibre": true
4606 },
4607 {
4608 "reference": "https://spdx.org/licenses/Unicode-DFS-2016.html",
4609 "isDeprecatedLicenseId": false,
4610 "detailsUrl": "https://spdx.org/licenses/Unicode-DFS-2016.json",
4611 "referenceNumber": 370,
4612 "name": "Unicode License Agreement - Data Files and Software (2016)",
4613 "licenseId": "Unicode-DFS-2016",
4614 "seeAlso": [
4615 "http://www.unicode.org/copyright.html"
4616 ],
4617 "isOsiApproved": true
4618 },
4619 {
4620 "reference": "https://spdx.org/licenses/BlueOak-1.0.0.html",
4621 "isDeprecatedLicenseId": false,
4622 "detailsUrl": "https://spdx.org/licenses/BlueOak-1.0.0.json",
4623 "referenceNumber": 371,
4624 "name": "Blue Oak Model License 1.0.0",
4625 "licenseId": "BlueOak-1.0.0",
4626 "seeAlso": [
4627 "https://blueoakcouncil.org/license/1.0.0"
4628 ],
4629 "isOsiApproved": false
4630 },
4631 {
4632 "reference": "https://spdx.org/licenses/LiLiQ-Rplus-1.1.html",
4633 "isDeprecatedLicenseId": false,
4634 "detailsUrl": "https://spdx.org/licenses/LiLiQ-Rplus-1.1.json",
4635 "referenceNumber": 372,
4636 "name": "Licence Libre du Québec – Réciprocité forte version 1.1",
4637 "licenseId": "LiLiQ-Rplus-1.1",
4638 "seeAlso": [
4639 "https://www.forge.gouv.qc.ca/participez/licence-logicielle/licence-libre-du-quebec-liliq-en-francais/licence-libre-du-quebec-reciprocite-forte-liliq-r-v1-1/",
4640 "http://opensource.org/licenses/LiLiQ-Rplus-1.1"
4641 ],
4642 "isOsiApproved": true
4643 },
4644 {
4645 "reference": "https://spdx.org/licenses/NOSL.html",
4646 "isDeprecatedLicenseId": false,
4647 "detailsUrl": "https://spdx.org/licenses/NOSL.json",
4648 "referenceNumber": 373,
4649 "name": "Netizen Open Source License",
4650 "licenseId": "NOSL",
4651 "seeAlso": [
4652 "http://bits.netizen.com.au/licenses/NOSL/nosl.txt"
4653 ],
4654 "isOsiApproved": false,
4655 "isFsfLibre": true
4656 },
4657 {
4658 "reference": "https://spdx.org/licenses/SMLNJ.html",
4659 "isDeprecatedLicenseId": false,
4660 "detailsUrl": "https://spdx.org/licenses/SMLNJ.json",
4661 "referenceNumber": 374,
4662 "name": "Standard ML of New Jersey License",
4663 "licenseId": "SMLNJ",
4664 "seeAlso": [
4665 "https://www.smlnj.org/license.html"
4666 ],
4667 "isOsiApproved": false,
4668 "isFsfLibre": true
4669 },
4670 {
4671 "reference": "https://spdx.org/licenses/LGPL-3.0+.html",
4672 "isDeprecatedLicenseId": true,
4673 "detailsUrl": "https://spdx.org/licenses/LGPL-3.0+.json",
4674 "referenceNumber": 375,
4675 "name": "GNU Lesser General Public License v3.0 or later",
4676 "licenseId": "LGPL-3.0+",
4677 "seeAlso": [
4678 "https://www.gnu.org/licenses/lgpl-3.0-standalone.html",
4679 "https://opensource.org/licenses/LGPL-3.0"
4680 ],
4681 "isOsiApproved": true
4682 },
4683 {
4684 "reference": "https://spdx.org/licenses/CPAL-1.0.html",
4685 "isDeprecatedLicenseId": false,
4686 "detailsUrl": "https://spdx.org/licenses/CPAL-1.0.json",
4687 "referenceNumber": 376,
4688 "name": "Common Public Attribution License 1.0",
4689 "licenseId": "CPAL-1.0",
4690 "seeAlso": [
4691 "https://opensource.org/licenses/CPAL-1.0"
4692 ],
4693 "isOsiApproved": true,
4694 "isFsfLibre": true
4695 },
4696 {
4697 "reference": "https://spdx.org/licenses/PSF-2.0.html",
4698 "isDeprecatedLicenseId": false,
4699 "detailsUrl": "https://spdx.org/licenses/PSF-2.0.json",
4700 "referenceNumber": 377,
4701 "name": "Python Software Foundation License 2.0",
4702 "licenseId": "PSF-2.0",
4703 "seeAlso": [
4704 "https://opensource.org/licenses/Python-2.0"
4705 ],
4706 "isOsiApproved": false
4707 },
4708 {
4709 "reference": "https://spdx.org/licenses/RPL-1.5.html",
4710 "isDeprecatedLicenseId": false,
4711 "detailsUrl": "https://spdx.org/licenses/RPL-1.5.json",
4712 "referenceNumber": 378,
4713 "name": "Reciprocal Public License 1.5",
4714 "licenseId": "RPL-1.5",
4715 "seeAlso": [
4716 "https://opensource.org/licenses/RPL-1.5"
4717 ],
4718 "isOsiApproved": true
4719 },
4720 {
4721 "reference": "https://spdx.org/licenses/BSD-2-Clause-FreeBSD.html",
4722 "isDeprecatedLicenseId": true,
4723 "detailsUrl": "https://spdx.org/licenses/BSD-2-Clause-FreeBSD.json",
4724 "referenceNumber": 379,
4725 "name": "BSD 2-Clause FreeBSD License",
4726 "licenseId": "BSD-2-Clause-FreeBSD",
4727 "seeAlso": [
4728 "http://www.freebsd.org/copyright/freebsd-license.html"
4729 ],
4730 "isOsiApproved": false,
4731 "isFsfLibre": true
4732 },
4733 {
4734 "reference": "https://spdx.org/licenses/MIT-Modern-Variant.html",
4735 "isDeprecatedLicenseId": false,
4736 "detailsUrl": "https://spdx.org/licenses/MIT-Modern-Variant.json",
4737 "referenceNumber": 380,
4738 "name": "MIT License Modern Variant",
4739 "licenseId": "MIT-Modern-Variant",
4740 "seeAlso": [
4741 "https://fedoraproject.org/wiki/Licensing:MIT#Modern_Variants",
4742 "https://ptolemy.berkeley.edu/copyright.htm",
4743 "https://pirlwww.lpl.arizona.edu/resources/guide/software/PerlTk/Tixlic.html"
4744 ],
4745 "isOsiApproved": true
4746 },
4747 {
4748 "reference": "https://spdx.org/licenses/Nokia.html",
4749 "isDeprecatedLicenseId": false,
4750 "detailsUrl": "https://spdx.org/licenses/Nokia.json",
4751 "referenceNumber": 381,
4752 "name": "Nokia Open Source License",
4753 "licenseId": "Nokia",
4754 "seeAlso": [
4755 "https://opensource.org/licenses/nokia"
4756 ],
4757 "isOsiApproved": true,
4758 "isFsfLibre": true
4759 },
4760 {
4761 "reference": "https://spdx.org/licenses/GFDL-1.1-no-invariants-only.html",
4762 "isDeprecatedLicenseId": false,
4763 "detailsUrl": "https://spdx.org/licenses/GFDL-1.1-no-invariants-only.json",
4764 "referenceNumber": 382,
4765 "name": "GNU Free Documentation License v1.1 only - no invariants",
4766 "licenseId": "GFDL-1.1-no-invariants-only",
4767 "seeAlso": [
4768 "https://www.gnu.org/licenses/old-licenses/fdl-1.1.txt"
4769 ],
4770 "isOsiApproved": false
4771 },
4772 {
4773 "reference": "https://spdx.org/licenses/PDDL-1.0.html",
4774 "isDeprecatedLicenseId": false,
4775 "detailsUrl": "https://spdx.org/licenses/PDDL-1.0.json",
4776 "referenceNumber": 383,
4777 "name": "Open Data Commons Public Domain Dedication \u0026 License 1.0",
4778 "licenseId": "PDDL-1.0",
4779 "seeAlso": [
4780 "http://opendatacommons.org/licenses/pddl/1.0/",
4781 "https://opendatacommons.org/licenses/pddl/"
4782 ],
4783 "isOsiApproved": false
4784 },
4785 {
4786 "reference": "https://spdx.org/licenses/EUPL-1.0.html",
4787 "isDeprecatedLicenseId": false,
4788 "detailsUrl": "https://spdx.org/licenses/EUPL-1.0.json",
4789 "referenceNumber": 384,
4790 "name": "European Union Public License 1.0",
4791 "licenseId": "EUPL-1.0",
4792 "seeAlso": [
4793 "http://ec.europa.eu/idabc/en/document/7330.html",
4794 "http://ec.europa.eu/idabc/servlets/Doc027f.pdf?id\u003d31096"
4795 ],
4796 "isOsiApproved": false
4797 },
4798 {
4799 "reference": "https://spdx.org/licenses/CDDL-1.1.html",
4800 "isDeprecatedLicenseId": false,
4801 "detailsUrl": "https://spdx.org/licenses/CDDL-1.1.json",
4802 "referenceNumber": 385,
4803 "name": "Common Development and Distribution License 1.1",
4804 "licenseId": "CDDL-1.1",
4805 "seeAlso": [
4806 "http://glassfish.java.net/public/CDDL+GPL_1_1.html",
4807 "https://javaee.github.io/glassfish/LICENSE"
4808 ],
4809 "isOsiApproved": false
4810 },
4811 {
4812 "reference": "https://spdx.org/licenses/GFDL-1.3-only.html",
4813 "isDeprecatedLicenseId": false,
4814 "detailsUrl": "https://spdx.org/licenses/GFDL-1.3-only.json",
4815 "referenceNumber": 386,
4816 "name": "GNU Free Documentation License v1.3 only",
4817 "licenseId": "GFDL-1.3-only",
4818 "seeAlso": [
4819 "https://www.gnu.org/licenses/fdl-1.3.txt"
4820 ],
4821 "isOsiApproved": false,
4822 "isFsfLibre": true
4823 },
4824 {
4825 "reference": "https://spdx.org/licenses/OLDAP-2.6.html",
4826 "isDeprecatedLicenseId": false,
4827 "detailsUrl": "https://spdx.org/licenses/OLDAP-2.6.json",
4828 "referenceNumber": 387,
4829 "name": "Open LDAP Public License v2.6",
4830 "licenseId": "OLDAP-2.6",
4831 "seeAlso": [
4832 "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003d1cae062821881f41b73012ba816434897abf4205"
4833 ],
4834 "isOsiApproved": false
4835 },
4836 {
4837 "reference": "https://spdx.org/licenses/JSON.html",
4838 "isDeprecatedLicenseId": false,
4839 "detailsUrl": "https://spdx.org/licenses/JSON.json",
4840 "referenceNumber": 388,
4841 "name": "JSON License",
4842 "licenseId": "JSON",
4843 "seeAlso": [
4844 "http://www.json.org/license.html"
4845 ],
4846 "isOsiApproved": false
4847 },
4848 {
4849 "reference": "https://spdx.org/licenses/LGPL-3.0-or-later.html",
4850 "isDeprecatedLicenseId": false,
4851 "detailsUrl": "https://spdx.org/licenses/LGPL-3.0-or-later.json",
4852 "referenceNumber": 389,
4853 "name": "GNU Lesser General Public License v3.0 or later",
4854 "licenseId": "LGPL-3.0-or-later",
4855 "seeAlso": [
4856 "https://www.gnu.org/licenses/lgpl-3.0-standalone.html",
4857 "https://opensource.org/licenses/LGPL-3.0"
4858 ],
4859 "isOsiApproved": true,
4860 "isFsfLibre": true
4861 },
4862 {
4863 "reference": "https://spdx.org/licenses/GPL-3.0.html",
4864 "isDeprecatedLicenseId": true,
4865 "detailsUrl": "https://spdx.org/licenses/GPL-3.0.json",
4866 "referenceNumber": 390,
4867 "name": "GNU General Public License v3.0 only",
4868 "licenseId": "GPL-3.0",
4869 "seeAlso": [
4870 "https://www.gnu.org/licenses/gpl-3.0-standalone.html",
4871 "https://opensource.org/licenses/GPL-3.0"
4872 ],
4873 "isOsiApproved": true,
4874 "isFsfLibre": true
4875 },
4876 {
4877 "reference": "https://spdx.org/licenses/Fair.html",
4878 "isDeprecatedLicenseId": false,
4879 "detailsUrl": "https://spdx.org/licenses/Fair.json",
4880 "referenceNumber": 391,
4881 "name": "Fair License",
4882 "licenseId": "Fair",
4883 "seeAlso": [
4884 "http://fairlicense.org/",
4885 "https://opensource.org/licenses/Fair"
4886 ],
4887 "isOsiApproved": true
4888 },
4889 {
4890 "reference": "https://spdx.org/licenses/GPL-2.0-with-font-exception.html",
4891 "isDeprecatedLicenseId": true,
4892 "detailsUrl": "https://spdx.org/licenses/GPL-2.0-with-font-exception.json",
4893 "referenceNumber": 392,
4894 "name": "GNU General Public License v2.0 w/Font exception",
4895 "licenseId": "GPL-2.0-with-font-exception",
4896 "seeAlso": [
4897 "https://www.gnu.org/licenses/gpl-faq.html#FontException"
4898 ],
4899 "isOsiApproved": false
4900 },
4901 {
4902 "reference": "https://spdx.org/licenses/OSL-2.1.html",
4903 "isDeprecatedLicenseId": false,
4904 "detailsUrl": "https://spdx.org/licenses/OSL-2.1.json",
4905 "referenceNumber": 393,
4906 "name": "Open Software License 2.1",
4907 "licenseId": "OSL-2.1",
4908 "seeAlso": [
4909 "http://web.archive.org/web/20050212003940/http://www.rosenlaw.com/osl21.htm",
4910 "https://opensource.org/licenses/OSL-2.1"
4911 ],
4912 "isOsiApproved": true,
4913 "isFsfLibre": true
4914 },
4915 {
4916 "reference": "https://spdx.org/licenses/LPPL-1.3a.html",
4917 "isDeprecatedLicenseId": false,
4918 "detailsUrl": "https://spdx.org/licenses/LPPL-1.3a.json",
4919 "referenceNumber": 394,
4920 "name": "LaTeX Project Public License v1.3a",
4921 "licenseId": "LPPL-1.3a",
4922 "seeAlso": [
4923 "http://www.latex-project.org/lppl/lppl-1-3a.txt"
4924 ],
4925 "isOsiApproved": false,
4926 "isFsfLibre": true
4927 },
4928 {
4929 "reference": "https://spdx.org/licenses/NAIST-2003.html",
4930 "isDeprecatedLicenseId": false,
4931 "detailsUrl": "https://spdx.org/licenses/NAIST-2003.json",
4932 "referenceNumber": 395,
4933 "name": "Nara Institute of Science and Technology License (2003)",
4934 "licenseId": "NAIST-2003",
4935 "seeAlso": [
4936 "https://enterprise.dejacode.com/licenses/public/naist-2003/#license-text",
4937 "https://github.com/nodejs/node/blob/4a19cc8947b1bba2b2d27816ec3d0edf9b28e503/LICENSE#L343"
4938 ],
4939 "isOsiApproved": false
4940 },
4941 {
4942 "reference": "https://spdx.org/licenses/CC-BY-NC-ND-4.0.html",
4943 "isDeprecatedLicenseId": false,
4944 "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-ND-4.0.json",
4945 "referenceNumber": 396,
4946 "name": "Creative Commons Attribution Non Commercial No Derivatives 4.0 International",
4947 "licenseId": "CC-BY-NC-ND-4.0",
4948 "seeAlso": [
4949 "https://creativecommons.org/licenses/by-nc-nd/4.0/legalcode"
4950 ],
4951 "isOsiApproved": false
4952 },
4953 {
4954 "reference": "https://spdx.org/licenses/CC-BY-NC-3.0-DE.html",
4955 "isDeprecatedLicenseId": false,
4956 "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-3.0-DE.json",
4957 "referenceNumber": 397,
4958 "name": "Creative Commons Attribution Non Commercial 3.0 Germany",
4959 "licenseId": "CC-BY-NC-3.0-DE",
4960 "seeAlso": [
4961 "https://creativecommons.org/licenses/by-nc/3.0/de/legalcode"
4962 ],
4963 "isOsiApproved": false
4964 },
4965 {
4966 "reference": "https://spdx.org/licenses/LGPL-2.1+.html",
4967 "isDeprecatedLicenseId": true,
4968 "detailsUrl": "https://spdx.org/licenses/LGPL-2.1+.json",
4969 "referenceNumber": 398,
4970 "name": "GNU Library General Public License v2.1 or later",
4971 "licenseId": "LGPL-2.1+",
4972 "seeAlso": [
4973 "https://www.gnu.org/licenses/old-licenses/lgpl-2.1-standalone.html",
4974 "https://opensource.org/licenses/LGPL-2.1"
4975 ],
4976 "isOsiApproved": true
4977 },
4978 {
4979 "reference": "https://spdx.org/licenses/OPL-1.0.html",
4980 "isDeprecatedLicenseId": false,
4981 "detailsUrl": "https://spdx.org/licenses/OPL-1.0.json",
4982 "referenceNumber": 399,
4983 "name": "Open Public License v1.0",
4984 "licenseId": "OPL-1.0",
4985 "seeAlso": [
4986 "http://old.koalateam.com/jackaroo/OPL_1_0.TXT",
4987 "https://fedoraproject.org/wiki/Licensing/Open_Public_License"
4988 ],
4989 "isOsiApproved": false
4990 },
4991 {
4992 "reference": "https://spdx.org/licenses/HPND-sell-variant.html",
4993 "isDeprecatedLicenseId": false,
4994 "detailsUrl": "https://spdx.org/licenses/HPND-sell-variant.json",
4995 "referenceNumber": 400,
4996 "name": "Historical Permission Notice and Disclaimer - sell variant",
4997 "licenseId": "HPND-sell-variant",
4998 "seeAlso": [
4999 "https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/net/sunrpc/auth_gss/gss_generic_token.c?h\u003dv4.19"
5000 ],
5001 "isOsiApproved": false
5002 },
5003 {
5004 "reference": "https://spdx.org/licenses/QPL-1.0.html",
5005 "isDeprecatedLicenseId": false,
5006 "detailsUrl": "https://spdx.org/licenses/QPL-1.0.json",
5007 "referenceNumber": 401,
5008 "name": "Q Public License 1.0",
5009 "licenseId": "QPL-1.0",
5010 "seeAlso": [
5011 "http://doc.qt.nokia.com/3.3/license.html",
5012 "https://opensource.org/licenses/QPL-1.0"
5013 ],
5014 "isOsiApproved": true,
5015 "isFsfLibre": true
5016 },
5017 {
5018 "reference": "https://spdx.org/licenses/EUPL-1.2.html",
5019 "isDeprecatedLicenseId": false,
5020 "detailsUrl": "https://spdx.org/licenses/EUPL-1.2.json",
5021 "referenceNumber": 402,
5022 "name": "European Union Public License 1.2",
5023 "licenseId": "EUPL-1.2",
5024 "seeAlso": [
5025 "https://joinup.ec.europa.eu/page/eupl-text-11-12",
5026 "https://joinup.ec.europa.eu/sites/default/files/custom-page/attachment/eupl_v1.2_en.pdf",
5027 "https://joinup.ec.europa.eu/sites/default/files/custom-page/attachment/2020-03/EUPL-1.2%20EN.txt",
5028 "https://joinup.ec.europa.eu/sites/default/files/inline-files/EUPL%20v1_2%20EN(1).txt",
5029 "http://eur-lex.europa.eu/legal-content/EN/TXT/HTML/?uri\u003dCELEX:32017D0863",
5030 "https://opensource.org/licenses/EUPL-1.2"
5031 ],
5032 "isOsiApproved": true
5033 },
5034 {
5035 "reference": "https://spdx.org/licenses/GFDL-1.2-no-invariants-or-later.html",
5036 "isDeprecatedLicenseId": false,
5037 "detailsUrl": "https://spdx.org/licenses/GFDL-1.2-no-invariants-or-later.json",
5038 "referenceNumber": 403,
5039 "name": "GNU Free Documentation License v1.2 or later - no invariants",
5040 "licenseId": "GFDL-1.2-no-invariants-or-later",
5041 "seeAlso": [
5042 "https://www.gnu.org/licenses/old-licenses/fdl-1.2.txt"
5043 ],
5044 "isOsiApproved": false
5045 },
5046 {
5047 "reference": "https://spdx.org/licenses/eCos-2.0.html",
5048 "isDeprecatedLicenseId": true,
5049 "detailsUrl": "https://spdx.org/licenses/eCos-2.0.json",
5050 "referenceNumber": 404,
5051 "name": "eCos license version 2.0",
5052 "licenseId": "eCos-2.0",
5053 "seeAlso": [
5054 "https://www.gnu.org/licenses/ecos-license.html"
5055 ],
5056 "isOsiApproved": false
5057 },
5058 {
5059 "reference": "https://spdx.org/licenses/NCGL-UK-2.0.html",
5060 "isDeprecatedLicenseId": false,
5061 "detailsUrl": "https://spdx.org/licenses/NCGL-UK-2.0.json",
5062 "referenceNumber": 405,
5063 "name": "Non-Commercial Government Licence",
5064 "licenseId": "NCGL-UK-2.0",
5065 "seeAlso": [
5066 "http://www.nationalarchives.gov.uk/doc/non-commercial-government-licence/version/2/"
5067 ],
5068 "isOsiApproved": false
5069 },
5070 {
5071 "reference": "https://spdx.org/licenses/Beerware.html",
5072 "isDeprecatedLicenseId": false,
5073 "detailsUrl": "https://spdx.org/licenses/Beerware.json",
5074 "referenceNumber": 406,
5075 "name": "Beerware License",
5076 "licenseId": "Beerware",
5077 "seeAlso": [
5078 "https://fedoraproject.org/wiki/Licensing/Beerware",
5079 "https://people.freebsd.org/~phk/"
5080 ],
5081 "isOsiApproved": false
5082 },
5083 {
5084 "reference": "https://spdx.org/licenses/BSD-3-Clause-Open-MPI.html",
5085 "isDeprecatedLicenseId": false,
5086 "detailsUrl": "https://spdx.org/licenses/BSD-3-Clause-Open-MPI.json",
5087 "referenceNumber": 407,
5088 "name": "BSD 3-Clause Open MPI variant",
5089 "licenseId": "BSD-3-Clause-Open-MPI",
5090 "seeAlso": [
5091 "https://www.open-mpi.org/community/license.php",
5092 "http://www.netlib.org/lapack/LICENSE.txt"
5093 ],
5094 "isOsiApproved": false
5095 },
5096 {
5097 "reference": "https://spdx.org/licenses/GPL-2.0-with-bison-exception.html",
5098 "isDeprecatedLicenseId": true,
5099 "detailsUrl": "https://spdx.org/licenses/GPL-2.0-with-bison-exception.json",
5100 "referenceNumber": 408,
5101 "name": "GNU General Public License v2.0 w/Bison exception",
5102 "licenseId": "GPL-2.0-with-bison-exception",
5103 "seeAlso": [
5104 "http://git.savannah.gnu.org/cgit/bison.git/tree/data/yacc.c?id\u003d193d7c7054ba7197b0789e14965b739162319b5e#n141"
5105 ],
5106 "isOsiApproved": false
5107 },
5108 {
5109 "reference": "https://spdx.org/licenses/CECILL-B.html",
5110 "isDeprecatedLicenseId": false,
5111 "detailsUrl": "https://spdx.org/licenses/CECILL-B.json",
5112 "referenceNumber": 409,
5113 "name": "CeCILL-B Free Software License Agreement",
5114 "licenseId": "CECILL-B",
5115 "seeAlso": [
5116 "http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html"
5117 ],
5118 "isOsiApproved": false,
5119 "isFsfLibre": true
5120 },
5121 {
5122 "reference": "https://spdx.org/licenses/GPL-2.0-with-autoconf-exception.html",
5123 "isDeprecatedLicenseId": true,
5124 "detailsUrl": "https://spdx.org/licenses/GPL-2.0-with-autoconf-exception.json",
5125 "referenceNumber": 410,
5126 "name": "GNU General Public License v2.0 w/Autoconf exception",
5127 "licenseId": "GPL-2.0-with-autoconf-exception",
5128 "seeAlso": [
5129 "http://ac-archive.sourceforge.net/doc/copyright.html"
5130 ],
5131 "isOsiApproved": false
5132 },
5133 {
5134 "reference": "https://spdx.org/licenses/EPL-2.0.html",
5135 "isDeprecatedLicenseId": false,
5136 "detailsUrl": "https://spdx.org/licenses/EPL-2.0.json",
5137 "referenceNumber": 411,
5138 "name": "Eclipse Public License 2.0",
5139 "licenseId": "EPL-2.0",
5140 "seeAlso": [
5141 "https://www.eclipse.org/legal/epl-2.0",
5142 "https://www.opensource.org/licenses/EPL-2.0"
5143 ],
5144 "isOsiApproved": true,
5145 "isFsfLibre": true
5146 },
5147 {
5148 "reference": "https://spdx.org/licenses/MIT-feh.html",
5149 "isDeprecatedLicenseId": false,
5150 "detailsUrl": "https://spdx.org/licenses/MIT-feh.json",
5151 "referenceNumber": 412,
5152 "name": "feh License",
5153 "licenseId": "MIT-feh",
5154 "seeAlso": [
5155 "https://fedoraproject.org/wiki/Licensing/MIT#feh"
5156 ],
5157 "isOsiApproved": false
5158 },
5159 {
5160 "reference": "https://spdx.org/licenses/RPL-1.1.html",
5161 "isDeprecatedLicenseId": false,
5162 "detailsUrl": "https://spdx.org/licenses/RPL-1.1.json",
5163 "referenceNumber": 413,
5164 "name": "Reciprocal Public License 1.1",
5165 "licenseId": "RPL-1.1",
5166 "seeAlso": [
5167 "https://opensource.org/licenses/RPL-1.1"
5168 ],
5169 "isOsiApproved": true
5170 },
5171 {
5172 "reference": "https://spdx.org/licenses/CDLA-Permissive-1.0.html",
5173 "isDeprecatedLicenseId": false,
5174 "detailsUrl": "https://spdx.org/licenses/CDLA-Permissive-1.0.json",
5175 "referenceNumber": 414,
5176 "name": "Community Data License Agreement Permissive 1.0",
5177 "licenseId": "CDLA-Permissive-1.0",
5178 "seeAlso": [
5179 "https://cdla.io/permissive-1-0"
5180 ],
5181 "isOsiApproved": false
5182 },
5183 {
5184 "reference": "https://spdx.org/licenses/Python-2.0.html",
5185 "isDeprecatedLicenseId": false,
5186 "detailsUrl": "https://spdx.org/licenses/Python-2.0.json",
5187 "referenceNumber": 415,
5188 "name": "Python License 2.0",
5189 "licenseId": "Python-2.0",
5190 "seeAlso": [
5191 "https://opensource.org/licenses/Python-2.0"
5192 ],
5193 "isOsiApproved": true,
5194 "isFsfLibre": true
5195 },
5196 {
5197 "reference": "https://spdx.org/licenses/MPL-1.0.html",
5198 "isDeprecatedLicenseId": false,
5199 "detailsUrl": "https://spdx.org/licenses/MPL-1.0.json",
5200 "referenceNumber": 416,
5201 "name": "Mozilla Public License 1.0",
5202 "licenseId": "MPL-1.0",
5203 "seeAlso": [
5204 "http://www.mozilla.org/MPL/MPL-1.0.html",
5205 "https://opensource.org/licenses/MPL-1.0"
5206 ],
5207 "isOsiApproved": true
5208 },
5209 {
5210 "reference": "https://spdx.org/licenses/GFDL-1.1-or-later.html",
5211 "isDeprecatedLicenseId": false,
5212 "detailsUrl": "https://spdx.org/licenses/GFDL-1.1-or-later.json",
5213 "referenceNumber": 417,
5214 "name": "GNU Free Documentation License v1.1 or later",
5215 "licenseId": "GFDL-1.1-or-later",
5216 "seeAlso": [
5217 "https://www.gnu.org/licenses/old-licenses/fdl-1.1.txt"
5218 ],
5219 "isOsiApproved": false,
5220 "isFsfLibre": true
5221 },
5222 {
5223 "reference": "https://spdx.org/licenses/diffmark.html",
5224 "isDeprecatedLicenseId": false,
5225 "detailsUrl": "https://spdx.org/licenses/diffmark.json",
5226 "referenceNumber": 418,
5227 "name": "diffmark license",
5228 "licenseId": "diffmark",
5229 "seeAlso": [
5230 "https://fedoraproject.org/wiki/Licensing/diffmark"
5231 ],
5232 "isOsiApproved": false
5233 },
5234 {
5235 "reference": "https://spdx.org/licenses/GPL-1.0+.html",
5236 "isDeprecatedLicenseId": true,
5237 "detailsUrl": "https://spdx.org/licenses/GPL-1.0+.json",
5238 "referenceNumber": 419,
5239 "name": "GNU General Public License v1.0 or later",
5240 "licenseId": "GPL-1.0+",
5241 "seeAlso": [
5242 "https://www.gnu.org/licenses/old-licenses/gpl-1.0-standalone.html"
5243 ],
5244 "isOsiApproved": false
5245 },
5246 {
5247 "reference": "https://spdx.org/licenses/OpenSSL.html",
5248 "isDeprecatedLicenseId": false,
5249 "detailsUrl": "https://spdx.org/licenses/OpenSSL.json",
5250 "referenceNumber": 420,
5251 "name": "OpenSSL License",
5252 "licenseId": "OpenSSL",
5253 "seeAlso": [
5254 "http://www.openssl.org/source/license.html"
5255 ],
5256 "isOsiApproved": false,
5257 "isFsfLibre": true
5258 },
5259 {
5260 "reference": "https://spdx.org/licenses/OSL-1.0.html",
5261 "isDeprecatedLicenseId": false,
5262 "detailsUrl": "https://spdx.org/licenses/OSL-1.0.json",
5263 "referenceNumber": 421,
5264 "name": "Open Software License 1.0",
5265 "licenseId": "OSL-1.0",
5266 "seeAlso": [
5267 "https://opensource.org/licenses/OSL-1.0"
5268 ],
5269 "isOsiApproved": true,
5270 "isFsfLibre": true
5271 },
5272 {
5273 "reference": "https://spdx.org/licenses/Parity-6.0.0.html",
5274 "isDeprecatedLicenseId": false,
5275 "detailsUrl": "https://spdx.org/licenses/Parity-6.0.0.json",
5276 "referenceNumber": 422,
5277 "name": "The Parity Public License 6.0.0",
5278 "licenseId": "Parity-6.0.0",
5279 "seeAlso": [
5280 "https://paritylicense.com/versions/6.0.0.html"
5281 ],
5282 "isOsiApproved": false
5283 },
5284 {
5285 "reference": "https://spdx.org/licenses/AGPL-1.0.html",
5286 "isDeprecatedLicenseId": true,
5287 "detailsUrl": "https://spdx.org/licenses/AGPL-1.0.json",
5288 "referenceNumber": 423,
5289 "name": "Affero General Public License v1.0",
5290 "licenseId": "AGPL-1.0",
5291 "seeAlso": [
5292 "http://www.affero.org/oagpl.html"
5293 ],
5294 "isOsiApproved": false,
5295 "isFsfLibre": true
5296 },
5297 {
5298 "reference": "https://spdx.org/licenses/YPL-1.1.html",
5299 "isDeprecatedLicenseId": false,
5300 "detailsUrl": "https://spdx.org/licenses/YPL-1.1.json",
5301 "referenceNumber": 424,
5302 "name": "Yahoo! Public License v1.1",
5303 "licenseId": "YPL-1.1",
5304 "seeAlso": [
5305 "http://www.zimbra.com/license/yahoo_public_license_1.1.html"
5306 ],
5307 "isOsiApproved": false,
5308 "isFsfLibre": true
5309 },
5310 {
5311 "reference": "https://spdx.org/licenses/SSH-short.html",
5312 "isDeprecatedLicenseId": false,
5313 "detailsUrl": "https://spdx.org/licenses/SSH-short.json",
5314 "referenceNumber": 425,
5315 "name": "SSH short notice",
5316 "licenseId": "SSH-short",
5317 "seeAlso": [
5318 "https://github.com/openssh/openssh-portable/blob/1b11ea7c58cd5c59838b5fa574cd456d6047b2d4/pathnames.h",
5319 "http://web.mit.edu/kolya/.f/root/athena.mit.edu/sipb.mit.edu/project/openssh/OldFiles/src/openssh-2.9.9p2/ssh-add.1",
5320 "https://joinup.ec.europa.eu/svn/lesoll/trunk/italc/lib/src/dsa_key.cpp"
5321 ],
5322 "isOsiApproved": false
5323 },
5324 {
5325 "reference": "https://spdx.org/licenses/IBM-pibs.html",
5326 "isDeprecatedLicenseId": false,
5327 "detailsUrl": "https://spdx.org/licenses/IBM-pibs.json",
5328 "referenceNumber": 426,
5329 "name": "IBM PowerPC Initialization and Boot Software",
5330 "licenseId": "IBM-pibs",
5331 "seeAlso": [
5332 "http://git.denx.de/?p\u003du-boot.git;a\u003dblob;f\u003darch/powerpc/cpu/ppc4xx/miiphy.c;h\u003d297155fdafa064b955e53e9832de93bfb0cfb85b;hb\u003d9fab4bf4cc077c21e43941866f3f2c196f28670d"
5333 ],
5334 "isOsiApproved": false
5335 },
5336 {
5337 "reference": "https://spdx.org/licenses/Xnet.html",
5338 "isDeprecatedLicenseId": false,
5339 "detailsUrl": "https://spdx.org/licenses/Xnet.json",
5340 "referenceNumber": 427,
5341 "name": "X.Net License",
5342 "licenseId": "Xnet",
5343 "seeAlso": [
5344 "https://opensource.org/licenses/Xnet"
5345 ],
5346 "isOsiApproved": true
5347 },
5348 {
5349 "reference": "https://spdx.org/licenses/TU-Berlin-1.0.html",
5350 "isDeprecatedLicenseId": false,
5351 "detailsUrl": "https://spdx.org/licenses/TU-Berlin-1.0.json",
5352 "referenceNumber": 428,
5353 "name": "Technische Universitaet Berlin License 1.0",
5354 "licenseId": "TU-Berlin-1.0",
5355 "seeAlso": [
5356 "https://github.com/swh/ladspa/blob/7bf6f3799fdba70fda297c2d8fd9f526803d9680/gsm/COPYRIGHT"
5357 ],
5358 "isOsiApproved": false
5359 },
5360 {
5361 "reference": "https://spdx.org/licenses/AGPL-3.0.html",
5362 "isDeprecatedLicenseId": true,
5363 "detailsUrl": "https://spdx.org/licenses/AGPL-3.0.json",
5364 "referenceNumber": 429,
5365 "name": "GNU Affero General Public License v3.0",
5366 "licenseId": "AGPL-3.0",
5367 "seeAlso": [
5368 "https://www.gnu.org/licenses/agpl.txt",
5369 "https://opensource.org/licenses/AGPL-3.0"
5370 ],
5371 "isOsiApproved": true,
5372 "isFsfLibre": true
5373 },
5374 {
5375 "reference": "https://spdx.org/licenses/CAL-1.0.html",
5376 "isDeprecatedLicenseId": false,
5377 "detailsUrl": "https://spdx.org/licenses/CAL-1.0.json",
5378 "referenceNumber": 430,
5379 "name": "Cryptographic Autonomy License 1.0",
5380 "licenseId": "CAL-1.0",
5381 "seeAlso": [
5382 "http://cryptographicautonomylicense.com/license-text.html",
5383 "https://opensource.org/licenses/CAL-1.0"
5384 ],
5385 "isOsiApproved": true
5386 },
5387 {
5388 "reference": "https://spdx.org/licenses/AFL-3.0.html",
5389 "isDeprecatedLicenseId": false,
5390 "detailsUrl": "https://spdx.org/licenses/AFL-3.0.json",
5391 "referenceNumber": 431,
5392 "name": "Academic Free License v3.0",
5393 "licenseId": "AFL-3.0",
5394 "seeAlso": [
5395 "http://www.rosenlaw.com/AFL3.0.htm",
5396 "https://opensource.org/licenses/afl-3.0"
5397 ],
5398 "isOsiApproved": true,
5399 "isFsfLibre": true
5400 },
5401 {
5402 "reference": "https://spdx.org/licenses/CECILL-C.html",
5403 "isDeprecatedLicenseId": false,
5404 "detailsUrl": "https://spdx.org/licenses/CECILL-C.json",
5405 "referenceNumber": 432,
5406 "name": "CeCILL-C Free Software License Agreement",
5407 "licenseId": "CECILL-C",
5408 "seeAlso": [
5409 "http://www.cecill.info/licences/Licence_CeCILL-C_V1-en.html"
5410 ],
5411 "isOsiApproved": false,
5412 "isFsfLibre": true
5413 },
5414 {
5415 "reference": "https://spdx.org/licenses/OGL-UK-3.0.html",
5416 "isDeprecatedLicenseId": false,
5417 "detailsUrl": "https://spdx.org/licenses/OGL-UK-3.0.json",
5418 "referenceNumber": 433,
5419 "name": "Open Government Licence v3.0",
5420 "licenseId": "OGL-UK-3.0",
5421 "seeAlso": [
5422 "http://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/"
5423 ],
5424 "isOsiApproved": false
5425 },
5426 {
5427 "reference": "https://spdx.org/licenses/BSD-3-Clause-Clear.html",
5428 "isDeprecatedLicenseId": false,
5429 "detailsUrl": "https://spdx.org/licenses/BSD-3-Clause-Clear.json",
5430 "referenceNumber": 434,
5431 "name": "BSD 3-Clause Clear License",
5432 "licenseId": "BSD-3-Clause-Clear",
5433 "seeAlso": [
5434 "http://labs.metacarta.com/license-explanation.html#license"
5435 ],
5436 "isOsiApproved": false,
5437 "isFsfLibre": true
5438 },
5439 {
5440 "reference": "https://spdx.org/licenses/BSD-3-Clause-Modification.html",
5441 "isDeprecatedLicenseId": false,
5442 "detailsUrl": "https://spdx.org/licenses/BSD-3-Clause-Modification.json",
5443 "referenceNumber": 435,
5444 "name": "BSD 3-Clause Modification",
5445 "licenseId": "BSD-3-Clause-Modification",
5446 "seeAlso": [
5447 "https://fedoraproject.org/wiki/Licensing:BSD#Modification_Variant"
5448 ],
5449 "isOsiApproved": false
5450 },
5451 {
5452 "reference": "https://spdx.org/licenses/CC-BY-SA-2.0-UK.html",
5453 "isDeprecatedLicenseId": false,
5454 "detailsUrl": "https://spdx.org/licenses/CC-BY-SA-2.0-UK.json",
5455 "referenceNumber": 436,
5456 "name": "Creative Commons Attribution Share Alike 2.0 England and Wales",
5457 "licenseId": "CC-BY-SA-2.0-UK",
5458 "seeAlso": [
5459 "https://creativecommons.org/licenses/by-sa/2.0/uk/legalcode"
5460 ],
5461 "isOsiApproved": false
5462 },
5463 {
5464 "reference": "https://spdx.org/licenses/Saxpath.html",
5465 "isDeprecatedLicenseId": false,
5466 "detailsUrl": "https://spdx.org/licenses/Saxpath.json",
5467 "referenceNumber": 437,
5468 "name": "Saxpath License",
5469 "licenseId": "Saxpath",
5470 "seeAlso": [
5471 "https://fedoraproject.org/wiki/Licensing/Saxpath_License"
5472 ],
5473 "isOsiApproved": false
5474 },
5475 {
5476 "reference": "https://spdx.org/licenses/NLPL.html",
5477 "isDeprecatedLicenseId": false,
5478 "detailsUrl": "https://spdx.org/licenses/NLPL.json",
5479 "referenceNumber": 438,
5480 "name": "No Limit Public License",
5481 "licenseId": "NLPL",
5482 "seeAlso": [
5483 "https://fedoraproject.org/wiki/Licensing/NLPL"
5484 ],
5485 "isOsiApproved": false
5486 },
5487 {
5488 "reference": "https://spdx.org/licenses/SimPL-2.0.html",
5489 "isDeprecatedLicenseId": false,
5490 "detailsUrl": "https://spdx.org/licenses/SimPL-2.0.json",
5491 "referenceNumber": 439,
5492 "name": "Simple Public License 2.0",
5493 "licenseId": "SimPL-2.0",
5494 "seeAlso": [
5495 "https://opensource.org/licenses/SimPL-2.0"
5496 ],
5497 "isOsiApproved": true
5498 },
5499 {
5500 "reference": "https://spdx.org/licenses/psfrag.html",
5501 "isDeprecatedLicenseId": false,
5502 "detailsUrl": "https://spdx.org/licenses/psfrag.json",
5503 "referenceNumber": 440,
5504 "name": "psfrag License",
5505 "licenseId": "psfrag",
5506 "seeAlso": [
5507 "https://fedoraproject.org/wiki/Licensing/psfrag"
5508 ],
5509 "isOsiApproved": false
5510 },
5511 {
5512 "reference": "https://spdx.org/licenses/Spencer-86.html",
5513 "isDeprecatedLicenseId": false,
5514 "detailsUrl": "https://spdx.org/licenses/Spencer-86.json",
5515 "referenceNumber": 441,
5516 "name": "Spencer License 86",
5517 "licenseId": "Spencer-86",
5518 "seeAlso": [
5519 "https://fedoraproject.org/wiki/Licensing/Henry_Spencer_Reg-Ex_Library_License"
5520 ],
5521 "isOsiApproved": false
5522 },
5523 {
5524 "reference": "https://spdx.org/licenses/OCCT-PL.html",
5525 "isDeprecatedLicenseId": false,
5526 "detailsUrl": "https://spdx.org/licenses/OCCT-PL.json",
5527 "referenceNumber": 442,
5528 "name": "Open CASCADE Technology Public License",
5529 "licenseId": "OCCT-PL",
5530 "seeAlso": [
5531 "http://www.opencascade.com/content/occt-public-license"
5532 ],
5533 "isOsiApproved": false
5534 },
5535 {
5536 "reference": "https://spdx.org/licenses/CERN-OHL-S-2.0.html",
5537 "isDeprecatedLicenseId": false,
5538 "detailsUrl": "https://spdx.org/licenses/CERN-OHL-S-2.0.json",
5539 "referenceNumber": 443,
5540 "name": "CERN Open Hardware Licence Version 2 - Strongly Reciprocal",
5541 "licenseId": "CERN-OHL-S-2.0",
5542 "seeAlso": [
5543 "https://www.ohwr.org/project/cernohl/wikis/Documents/CERN-OHL-version-2"
5544 ],
5545 "isOsiApproved": true
5546 },
5547 {
5548 "reference": "https://spdx.org/licenses/ErlPL-1.1.html",
5549 "isDeprecatedLicenseId": false,
5550 "detailsUrl": "https://spdx.org/licenses/ErlPL-1.1.json",
5551 "referenceNumber": 444,
5552 "name": "Erlang Public License v1.1",
5553 "licenseId": "ErlPL-1.1",
5554 "seeAlso": [
5555 "http://www.erlang.org/EPLICENSE"
5556 ],
5557 "isOsiApproved": false
5558 },
5559 {
5560 "reference": "https://spdx.org/licenses/MIT-CMU.html",
5561 "isDeprecatedLicenseId": false,
5562 "detailsUrl": "https://spdx.org/licenses/MIT-CMU.json",
5563 "referenceNumber": 445,
5564 "name": "CMU License",
5565 "licenseId": "MIT-CMU",
5566 "seeAlso": [
5567 "https://fedoraproject.org/wiki/Licensing:MIT?rd\u003dLicensing/MIT#CMU_Style",
5568 "https://github.com/python-pillow/Pillow/blob/fffb426092c8db24a5f4b6df243a8a3c01fb63cd/LICENSE"
5569 ],
5570 "isOsiApproved": false
5571 },
5572 {
5573 "reference": "https://spdx.org/licenses/NIST-PD.html",
5574 "isDeprecatedLicenseId": false,
5575 "detailsUrl": "https://spdx.org/licenses/NIST-PD.json",
5576 "referenceNumber": 446,
5577 "name": "NIST Public Domain Notice",
5578 "licenseId": "NIST-PD",
5579 "seeAlso": [
5580 "https://github.com/tcheneau/simpleRPL/blob/e645e69e38dd4e3ccfeceb2db8cba05b7c2e0cd3/LICENSE.txt",
5581 "https://github.com/tcheneau/Routing/blob/f09f46fcfe636107f22f2c98348188a65a135d98/README.md"
5582 ],
5583 "isOsiApproved": false
5584 },
5585 {
5586 "reference": "https://spdx.org/licenses/OSL-2.0.html",
5587 "isDeprecatedLicenseId": false,
5588 "detailsUrl": "https://spdx.org/licenses/OSL-2.0.json",
5589 "referenceNumber": 447,
5590 "name": "Open Software License 2.0",
5591 "licenseId": "OSL-2.0",
5592 "seeAlso": [
5593 "http://web.archive.org/web/20041020171434/http://www.rosenlaw.com/osl2.0.html"
5594 ],
5595 "isOsiApproved": true,
5596 "isFsfLibre": true
5597 },
5598 {
5599 "reference": "https://spdx.org/licenses/APSL-2.0.html",
5600 "isDeprecatedLicenseId": false,
5601 "detailsUrl": "https://spdx.org/licenses/APSL-2.0.json",
5602 "referenceNumber": 448,
5603 "name": "Apple Public Source License 2.0",
5604 "licenseId": "APSL-2.0",
5605 "seeAlso": [
5606 "http://www.opensource.apple.com/license/apsl/"
5607 ],
5608 "isOsiApproved": true,
5609 "isFsfLibre": true
5610 },
5611 {
5612 "reference": "https://spdx.org/licenses/Leptonica.html",
5613 "isDeprecatedLicenseId": false,
5614 "detailsUrl": "https://spdx.org/licenses/Leptonica.json",
5615 "referenceNumber": 449,
5616 "name": "Leptonica License",
5617 "licenseId": "Leptonica",
5618 "seeAlso": [
5619 "https://fedoraproject.org/wiki/Licensing/Leptonica"
5620 ],
5621 "isOsiApproved": false
5622 },
5623 {
5624 "reference": "https://spdx.org/licenses/PolyForm-Small-Business-1.0.0.html",
5625 "isDeprecatedLicenseId": false,
5626 "detailsUrl": "https://spdx.org/licenses/PolyForm-Small-Business-1.0.0.json",
5627 "referenceNumber": 450,
5628 "name": "PolyForm Small Business License 1.0.0",
5629 "licenseId": "PolyForm-Small-Business-1.0.0",
5630 "seeAlso": [
5631 "https://polyformproject.org/licenses/small-business/1.0.0"
5632 ],
5633 "isOsiApproved": false
5634 },
5635 {
5636 "reference": "https://spdx.org/licenses/LiLiQ-P-1.1.html",
5637 "isDeprecatedLicenseId": false,
5638 "detailsUrl": "https://spdx.org/licenses/LiLiQ-P-1.1.json",
5639 "referenceNumber": 451,
5640 "name": "Licence Libre du Québec – Permissive version 1.1",
5641 "licenseId": "LiLiQ-P-1.1",
5642 "seeAlso": [
5643 "https://forge.gouv.qc.ca/licence/fr/liliq-v1-1/",
5644 "http://opensource.org/licenses/LiLiQ-P-1.1"
5645 ],
5646 "isOsiApproved": true
5647 },
5648 {
5649 "reference": "https://spdx.org/licenses/NetCDF.html",
5650 "isDeprecatedLicenseId": false,
5651 "detailsUrl": "https://spdx.org/licenses/NetCDF.json",
5652 "referenceNumber": 452,
5653 "name": "NetCDF license",
5654 "licenseId": "NetCDF",
5655 "seeAlso": [
5656 "http://www.unidata.ucar.edu/software/netcdf/copyright.html"
5657 ],
5658 "isOsiApproved": false
5659 },
5660 {
5661 "reference": "https://spdx.org/licenses/OML.html",
5662 "isDeprecatedLicenseId": false,
5663 "detailsUrl": "https://spdx.org/licenses/OML.json",
5664 "referenceNumber": 453,
5665 "name": "Open Market License",
5666 "licenseId": "OML",
5667 "seeAlso": [
5668 "https://fedoraproject.org/wiki/Licensing/Open_Market_License"
5669 ],
5670 "isOsiApproved": false
5671 },
5672 {
5673 "reference": "https://spdx.org/licenses/AGPL-3.0-or-later.html",
5674 "isDeprecatedLicenseId": false,
5675 "detailsUrl": "https://spdx.org/licenses/AGPL-3.0-or-later.json",
5676 "referenceNumber": 454,
5677 "name": "GNU Affero General Public License v3.0 or later",
5678 "licenseId": "AGPL-3.0-or-later",
5679 "seeAlso": [
5680 "https://www.gnu.org/licenses/agpl.txt",
5681 "https://opensource.org/licenses/AGPL-3.0"
5682 ],
5683 "isOsiApproved": true,
5684 "isFsfLibre": true
5685 },
5686 {
5687 "reference": "https://spdx.org/licenses/OLDAP-2.2.html",
5688 "isDeprecatedLicenseId": false,
5689 "detailsUrl": "https://spdx.org/licenses/OLDAP-2.2.json",
5690 "referenceNumber": 455,
5691 "name": "Open LDAP Public License v2.2",
5692 "licenseId": "OLDAP-2.2",
5693 "seeAlso": [
5694 "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003d470b0c18ec67621c85881b2733057fecf4a1acc3"
5695 ],
5696 "isOsiApproved": false
5697 },
5698 {
5699 "reference": "https://spdx.org/licenses/BSD-3-Clause.html",
5700 "isDeprecatedLicenseId": false,
5701 "detailsUrl": "https://spdx.org/licenses/BSD-3-Clause.json",
5702 "referenceNumber": 456,
5703 "name": "BSD 3-Clause \"New\" or \"Revised\" License",
5704 "licenseId": "BSD-3-Clause",
5705 "seeAlso": [
5706 "https://opensource.org/licenses/BSD-3-Clause"
5707 ],
5708 "isOsiApproved": true,
5709 "isFsfLibre": true
5710 },
5711 {
5712 "reference": "https://spdx.org/licenses/WTFPL.html",
5713 "isDeprecatedLicenseId": false,
5714 "detailsUrl": "https://spdx.org/licenses/WTFPL.json",
5715 "referenceNumber": 457,
5716 "name": "Do What The F*ck You Want To Public License",
5717 "licenseId": "WTFPL",
5718 "seeAlso": [
5719 "http://www.wtfpl.net/about/",
5720 "http://sam.zoy.org/wtfpl/COPYING"
5721 ],
5722 "isOsiApproved": false,
5723 "isFsfLibre": true
5724 },
5725 {
5726 "reference": "https://spdx.org/licenses/OGL-UK-2.0.html",
5727 "isDeprecatedLicenseId": false,
5728 "detailsUrl": "https://spdx.org/licenses/OGL-UK-2.0.json",
5729 "referenceNumber": 458,
5730 "name": "Open Government Licence v2.0",
5731 "licenseId": "OGL-UK-2.0",
5732 "seeAlso": [
5733 "http://www.nationalarchives.gov.uk/doc/open-government-licence/version/2/"
5734 ],
5735 "isOsiApproved": false
5736 },
5737 {
5738 "reference": "https://spdx.org/licenses/BSD-3-Clause-Attribution.html",
5739 "isDeprecatedLicenseId": false,
5740 "detailsUrl": "https://spdx.org/licenses/BSD-3-Clause-Attribution.json",
5741 "referenceNumber": 459,
5742 "name": "BSD with attribution",
5743 "licenseId": "BSD-3-Clause-Attribution",
5744 "seeAlso": [
5745 "https://fedoraproject.org/wiki/Licensing/BSD_with_Attribution"
5746 ],
5747 "isOsiApproved": false
5748 },
5749 {
5750 "reference": "https://spdx.org/licenses/RPSL-1.0.html",
5751 "isDeprecatedLicenseId": false,
5752 "detailsUrl": "https://spdx.org/licenses/RPSL-1.0.json",
5753 "referenceNumber": 460,
5754 "name": "RealNetworks Public Source License v1.0",
5755 "licenseId": "RPSL-1.0",
5756 "seeAlso": [
5757 "https://helixcommunity.org/content/rpsl",
5758 "https://opensource.org/licenses/RPSL-1.0"
5759 ],
5760 "isOsiApproved": true,
5761 "isFsfLibre": true
5762 },
5763 {
5764 "reference": "https://spdx.org/licenses/CC-BY-NC-ND-3.0-DE.html",
5765 "isDeprecatedLicenseId": false,
5766 "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-ND-3.0-DE.json",
5767 "referenceNumber": 461,
5768 "name": "Creative Commons Attribution Non Commercial No Derivatives 3.0 Germany",
5769 "licenseId": "CC-BY-NC-ND-3.0-DE",
5770 "seeAlso": [
5771 "https://creativecommons.org/licenses/by-nc-nd/3.0/de/legalcode"
5772 ],
5773 "isOsiApproved": false
5774 },
5775 {
5776 "reference": "https://spdx.org/licenses/EUPL-1.1.html",
5777 "isDeprecatedLicenseId": false,
5778 "detailsUrl": "https://spdx.org/licenses/EUPL-1.1.json",
5779 "referenceNumber": 462,
5780 "name": "European Union Public License 1.1",
5781 "licenseId": "EUPL-1.1",
5782 "seeAlso": [
5783 "https://joinup.ec.europa.eu/software/page/eupl/licence-eupl",
5784 "https://joinup.ec.europa.eu/sites/default/files/custom-page/attachment/eupl1.1.-licence-en_0.pdf",
5785 "https://opensource.org/licenses/EUPL-1.1"
5786 ],
5787 "isOsiApproved": true,
5788 "isFsfLibre": true
5789 },
5790 {
5791 "reference": "https://spdx.org/licenses/Sendmail-8.23.html",
5792 "isDeprecatedLicenseId": false,
5793 "detailsUrl": "https://spdx.org/licenses/Sendmail-8.23.json",
5794 "referenceNumber": 463,
5795 "name": "Sendmail License 8.23",
5796 "licenseId": "Sendmail-8.23",
5797 "seeAlso": [
5798 "https://www.proofpoint.com/sites/default/files/sendmail-license.pdf",
5799 "https://web.archive.org/web/20181003101040/https://www.proofpoint.com/sites/default/files/sendmail-license.pdf"
5800 ],
5801 "isOsiApproved": false
5802 },
5803 {
5804 "reference": "https://spdx.org/licenses/ODC-By-1.0.html",
5805 "isDeprecatedLicenseId": false,
5806 "detailsUrl": "https://spdx.org/licenses/ODC-By-1.0.json",
5807 "referenceNumber": 464,
5808 "name": "Open Data Commons Attribution License v1.0",
5809 "licenseId": "ODC-By-1.0",
5810 "seeAlso": [
5811 "https://opendatacommons.org/licenses/by/1.0/"
5812 ],
5813 "isOsiApproved": false
5814 },
5815 {
5816 "reference": "https://spdx.org/licenses/D-FSL-1.0.html",
5817 "isDeprecatedLicenseId": false,
5818 "detailsUrl": "https://spdx.org/licenses/D-FSL-1.0.json",
5819 "referenceNumber": 465,
5820 "name": "Deutsche Freie Software Lizenz",
5821 "licenseId": "D-FSL-1.0",
5822 "seeAlso": [
5823 "http://www.dipp.nrw.de/d-fsl/lizenzen/",
5824 "http://www.dipp.nrw.de/d-fsl/index_html/lizenzen/de/D-FSL-1_0_de.txt",
5825 "http://www.dipp.nrw.de/d-fsl/index_html/lizenzen/en/D-FSL-1_0_en.txt",
5826 "https://www.hbz-nrw.de/produkte/open-access/lizenzen/dfsl",
5827 "https://www.hbz-nrw.de/produkte/open-access/lizenzen/dfsl/deutsche-freie-software-lizenz",
5828 "https://www.hbz-nrw.de/produkte/open-access/lizenzen/dfsl/german-free-software-license",
5829 "https://www.hbz-nrw.de/produkte/open-access/lizenzen/dfsl/D-FSL-1_0_de.txt/at_download/file",
5830 "https://www.hbz-nrw.de/produkte/open-access/lizenzen/dfsl/D-FSL-1_0_en.txt/at_download/file"
5831 ],
5832 "isOsiApproved": false
5833 },
5834 {
5835 "reference": "https://spdx.org/licenses/BSD-4-Clause.html",
5836 "isDeprecatedLicenseId": false,
5837 "detailsUrl": "https://spdx.org/licenses/BSD-4-Clause.json",
5838 "referenceNumber": 466,
5839 "name": "BSD 4-Clause \"Original\" or \"Old\" License",
5840 "licenseId": "BSD-4-Clause",
5841 "seeAlso": [
5842 "http://directory.fsf.org/wiki/License:BSD_4Clause"
5843 ],
5844 "isOsiApproved": false,
5845 "isFsfLibre": true
5846 },
5847 {
5848 "reference": "https://spdx.org/licenses/LGPL-2.1.html",
5849 "isDeprecatedLicenseId": true,
5850 "detailsUrl": "https://spdx.org/licenses/LGPL-2.1.json",
5851 "referenceNumber": 467,
5852 "name": "GNU Lesser General Public License v2.1 only",
5853 "licenseId": "LGPL-2.1",
5854 "seeAlso": [
5855 "https://www.gnu.org/licenses/old-licenses/lgpl-2.1-standalone.html",
5856 "https://opensource.org/licenses/LGPL-2.1"
5857 ],
5858 "isOsiApproved": true,
5859 "isFsfLibre": true
5860 },
5861 {
5862 "reference": "https://spdx.org/licenses/BSD-2-Clause-Views.html",
5863 "isDeprecatedLicenseId": false,
5864 "detailsUrl": "https://spdx.org/licenses/BSD-2-Clause-Views.json",
5865 "referenceNumber": 468,
5866 "name": "BSD 2-Clause with views sentence",
5867 "licenseId": "BSD-2-Clause-Views",
5868 "seeAlso": [
5869 "http://www.freebsd.org/copyright/freebsd-license.html",
5870 "https://people.freebsd.org/~ivoras/wine/patch-wine-nvidia.sh",
5871 "https://github.com/protegeproject/protege/blob/master/license.txt"
5872 ],
5873 "isOsiApproved": false
5874 },
5875 {
5876 "reference": "https://spdx.org/licenses/Artistic-1.0-Perl.html",
5877 "isDeprecatedLicenseId": false,
5878 "detailsUrl": "https://spdx.org/licenses/Artistic-1.0-Perl.json",
5879 "referenceNumber": 469,
5880 "name": "Artistic License 1.0 (Perl)",
5881 "licenseId": "Artistic-1.0-Perl",
5882 "seeAlso": [
5883 "http://dev.perl.org/licenses/artistic.html"
5884 ],
5885 "isOsiApproved": true
5886 },
5887 {
5888 "reference": "https://spdx.org/licenses/NPOSL-3.0.html",
5889 "isDeprecatedLicenseId": false,
5890 "detailsUrl": "https://spdx.org/licenses/NPOSL-3.0.json",
5891 "referenceNumber": 470,
5892 "name": "Non-Profit Open Software License 3.0",
5893 "licenseId": "NPOSL-3.0",
5894 "seeAlso": [
5895 "https://opensource.org/licenses/NOSL3.0"
5896 ],
5897 "isOsiApproved": true
5898 },
5899 {
5900 "reference": "https://spdx.org/licenses/gSOAP-1.3b.html",
5901 "isDeprecatedLicenseId": false,
5902 "detailsUrl": "https://spdx.org/licenses/gSOAP-1.3b.json",
5903 "referenceNumber": 471,
5904 "name": "gSOAP Public License v1.3b",
5905 "licenseId": "gSOAP-1.3b",
5906 "seeAlso": [
5907 "http://www.cs.fsu.edu/~engelen/license.html"
5908 ],
5909 "isOsiApproved": false
5910 },
5911 {
5912 "reference": "https://spdx.org/licenses/Interbase-1.0.html",
5913 "isDeprecatedLicenseId": false,
5914 "detailsUrl": "https://spdx.org/licenses/Interbase-1.0.json",
5915 "referenceNumber": 472,
5916 "name": "Interbase Public License v1.0",
5917 "licenseId": "Interbase-1.0",
5918 "seeAlso": [
5919 "https://web.archive.org/web/20060319014854/http://info.borland.com/devsupport/interbase/opensource/IPL.html"
5920 ],
5921 "isOsiApproved": false
5922 },
5923 {
5924 "reference": "https://spdx.org/licenses/StandardML-NJ.html",
5925 "isDeprecatedLicenseId": true,
5926 "detailsUrl": "https://spdx.org/licenses/StandardML-NJ.json",
5927 "referenceNumber": 473,
5928 "name": "Standard ML of New Jersey License",
5929 "licenseId": "StandardML-NJ",
5930 "seeAlso": [
5931 "http://www.smlnj.org//license.html"
5932 ],
5933 "isOsiApproved": false
5934 }
5935 ],
5936 "releaseDate": "2021-08-08"
5937} \ No newline at end of file
diff --git a/meta/lib/oe/sbom.py b/meta/lib/oe/sbom.py
new file mode 100644
index 0000000000..22ed5070ea
--- /dev/null
+++ b/meta/lib/oe/sbom.py
@@ -0,0 +1,84 @@
1#
2# Copyright OpenEmbedded Contributors
3#
4# SPDX-License-Identifier: GPL-2.0-only
5#
6
7import collections
8
9DepRecipe = collections.namedtuple("DepRecipe", ("doc", "doc_sha1", "recipe"))
10DepSource = collections.namedtuple("DepSource", ("doc", "doc_sha1", "recipe", "file"))
11
12
13def get_recipe_spdxid(d):
14 return "SPDXRef-%s-%s" % ("Recipe", d.getVar("PN"))
15
16
17def get_download_spdxid(d, idx):
18 return "SPDXRef-Download-%s-%d" % (d.getVar("PN"), idx)
19
20
21def get_package_spdxid(pkg):
22 return "SPDXRef-Package-%s" % pkg
23
24
25def get_source_file_spdxid(d, idx):
26 return "SPDXRef-SourceFile-%s-%d" % (d.getVar("PN"), idx)
27
28
29def get_packaged_file_spdxid(pkg, idx):
30 return "SPDXRef-PackagedFile-%s-%d" % (pkg, idx)
31
32
33def get_image_spdxid(img):
34 return "SPDXRef-Image-%s" % img
35
36
37def get_sdk_spdxid(sdk):
38 return "SPDXRef-SDK-%s" % sdk
39
40
41def write_doc(d, spdx_doc, subdir, spdx_deploy=None, indent=None):
42 from pathlib import Path
43
44 if spdx_deploy is None:
45 spdx_deploy = Path(d.getVar("SPDXDEPLOY"))
46
47 dest = spdx_deploy / subdir / (spdx_doc.name + ".spdx.json")
48 dest.parent.mkdir(exist_ok=True, parents=True)
49 with dest.open("wb") as f:
50 doc_sha1 = spdx_doc.to_json(f, sort_keys=True, indent=indent)
51
52 l = spdx_deploy / "by-namespace" / spdx_doc.documentNamespace.replace("/", "_")
53 l.parent.mkdir(exist_ok=True, parents=True)
54 l.symlink_to(os.path.relpath(dest, l.parent))
55
56 return doc_sha1
57
58
59def read_doc(fn):
60 import hashlib
61 import oe.spdx
62 import io
63 import contextlib
64
65 @contextlib.contextmanager
66 def get_file():
67 if isinstance(fn, io.IOBase):
68 yield fn
69 else:
70 with fn.open("rb") as f:
71 yield f
72
73 with get_file() as f:
74 sha1 = hashlib.sha1()
75 while True:
76 chunk = f.read(4096)
77 if not chunk:
78 break
79 sha1.update(chunk)
80
81 f.seek(0)
82 doc = oe.spdx.SPDXDocument.from_json(f)
83
84 return (doc, sha1.hexdigest())
diff --git a/meta/lib/oe/spdx.py b/meta/lib/oe/spdx.py
new file mode 100644
index 0000000000..7aaf2af5ed
--- /dev/null
+++ b/meta/lib/oe/spdx.py
@@ -0,0 +1,357 @@
1#
2# Copyright OpenEmbedded Contributors
3#
4# SPDX-License-Identifier: GPL-2.0-only
5#
6
7#
8# This library is intended to capture the JSON SPDX specification in a type
9# safe manner. It is not intended to encode any particular OE specific
10# behaviors, see the sbom.py for that.
11#
12# The documented SPDX spec document doesn't cover the JSON syntax for
13# particular configuration, which can make it hard to determine what the JSON
14# syntax should be. I've found it is actually much simpler to read the official
15# SPDX JSON schema which can be found here: https://github.com/spdx/spdx-spec
16# in schemas/spdx-schema.json
17#
18
19import hashlib
20import itertools
21import json
22
23SPDX_VERSION = "2.2"
24
25
26#
27# The following are the support classes that are used to implement SPDX object
28#
29
30class _Property(object):
31 """
32 A generic SPDX object property. The different types will derive from this
33 class
34 """
35
36 def __init__(self, *, default=None):
37 self.default = default
38
39 def setdefault(self, dest, name):
40 if self.default is not None:
41 dest.setdefault(name, self.default)
42
43
44class _String(_Property):
45 """
46 A scalar string property for an SPDX object
47 """
48
49 def __init__(self, **kwargs):
50 super().__init__(**kwargs)
51
52 def set_property(self, attrs, name):
53 def get_helper(obj):
54 return obj._spdx[name]
55
56 def set_helper(obj, value):
57 obj._spdx[name] = value
58
59 def del_helper(obj):
60 del obj._spdx[name]
61
62 attrs[name] = property(get_helper, set_helper, del_helper)
63
64 def init(self, source):
65 return source
66
67
68class _Object(_Property):
69 """
70 A scalar SPDX object property of a SPDX object
71 """
72
73 def __init__(self, cls, **kwargs):
74 super().__init__(**kwargs)
75 self.cls = cls
76
77 def set_property(self, attrs, name):
78 def get_helper(obj):
79 if not name in obj._spdx:
80 obj._spdx[name] = self.cls()
81 return obj._spdx[name]
82
83 def set_helper(obj, value):
84 obj._spdx[name] = value
85
86 def del_helper(obj):
87 del obj._spdx[name]
88
89 attrs[name] = property(get_helper, set_helper)
90
91 def init(self, source):
92 return self.cls(**source)
93
94
95class _ListProperty(_Property):
96 """
97 A list of SPDX properties
98 """
99
100 def __init__(self, prop, **kwargs):
101 super().__init__(**kwargs)
102 self.prop = prop
103
104 def set_property(self, attrs, name):
105 def get_helper(obj):
106 if not name in obj._spdx:
107 obj._spdx[name] = []
108 return obj._spdx[name]
109
110 def set_helper(obj, value):
111 obj._spdx[name] = list(value)
112
113 def del_helper(obj):
114 del obj._spdx[name]
115
116 attrs[name] = property(get_helper, set_helper, del_helper)
117
118 def init(self, source):
119 return [self.prop.init(o) for o in source]
120
121
122class _StringList(_ListProperty):
123 """
124 A list of strings as a property for an SPDX object
125 """
126
127 def __init__(self, **kwargs):
128 super().__init__(_String(), **kwargs)
129
130
131class _ObjectList(_ListProperty):
132 """
133 A list of SPDX objects as a property for an SPDX object
134 """
135
136 def __init__(self, cls, **kwargs):
137 super().__init__(_Object(cls), **kwargs)
138
139
140class MetaSPDXObject(type):
141 """
142 A metaclass that allows properties (anything derived from a _Property
143 class) to be defined for a SPDX object
144 """
145 def __new__(mcls, name, bases, attrs):
146 attrs["_properties"] = {}
147
148 for key in attrs.keys():
149 if isinstance(attrs[key], _Property):
150 prop = attrs[key]
151 attrs["_properties"][key] = prop
152 prop.set_property(attrs, key)
153
154 return super().__new__(mcls, name, bases, attrs)
155
156
157class SPDXObject(metaclass=MetaSPDXObject):
158 """
159 The base SPDX object; all SPDX spec classes must derive from this class
160 """
161 def __init__(self, **d):
162 self._spdx = {}
163
164 for name, prop in self._properties.items():
165 prop.setdefault(self._spdx, name)
166 if name in d:
167 self._spdx[name] = prop.init(d[name])
168
169 def serializer(self):
170 return self._spdx
171
172 def __setattr__(self, name, value):
173 if name in self._properties or name == "_spdx":
174 super().__setattr__(name, value)
175 return
176 raise KeyError("%r is not a valid SPDX property" % name)
177
178#
179# These are the SPDX objects implemented from the spec. The *only* properties
180# that can be added to these objects are ones directly specified in the SPDX
181# spec, however you may add helper functions to make operations easier.
182#
183# Defaults should *only* be specified if the SPDX spec says there is a certain
184# required value for a field (e.g. dataLicense), or if the field is mandatory
185# and has some sane "this field is unknown" (e.g. "NOASSERTION")
186#
187
188class SPDXAnnotation(SPDXObject):
189 annotationDate = _String()
190 annotationType = _String()
191 annotator = _String()
192 comment = _String()
193
194class SPDXChecksum(SPDXObject):
195 algorithm = _String()
196 checksumValue = _String()
197
198
199class SPDXRelationship(SPDXObject):
200 spdxElementId = _String()
201 relatedSpdxElement = _String()
202 relationshipType = _String()
203 comment = _String()
204 annotations = _ObjectList(SPDXAnnotation)
205
206
207class SPDXExternalReference(SPDXObject):
208 referenceCategory = _String()
209 referenceType = _String()
210 referenceLocator = _String()
211
212
213class SPDXPackageVerificationCode(SPDXObject):
214 packageVerificationCodeValue = _String()
215 packageVerificationCodeExcludedFiles = _StringList()
216
217
218class SPDXPackage(SPDXObject):
219 ALLOWED_CHECKSUMS = [
220 "SHA1",
221 "SHA224",
222 "SHA256",
223 "SHA384",
224 "SHA512",
225 "MD2",
226 "MD4",
227 "MD5",
228 "MD6",
229 ]
230
231 name = _String()
232 SPDXID = _String()
233 versionInfo = _String()
234 downloadLocation = _String(default="NOASSERTION")
235 supplier = _String(default="NOASSERTION")
236 homepage = _String()
237 licenseConcluded = _String(default="NOASSERTION")
238 licenseDeclared = _String(default="NOASSERTION")
239 summary = _String()
240 description = _String()
241 sourceInfo = _String()
242 copyrightText = _String(default="NOASSERTION")
243 licenseInfoFromFiles = _StringList(default=["NOASSERTION"])
244 externalRefs = _ObjectList(SPDXExternalReference)
245 packageVerificationCode = _Object(SPDXPackageVerificationCode)
246 hasFiles = _StringList()
247 packageFileName = _String()
248 annotations = _ObjectList(SPDXAnnotation)
249 checksums = _ObjectList(SPDXChecksum)
250
251
252class SPDXFile(SPDXObject):
253 SPDXID = _String()
254 fileName = _String()
255 licenseConcluded = _String(default="NOASSERTION")
256 copyrightText = _String(default="NOASSERTION")
257 licenseInfoInFiles = _StringList(default=["NOASSERTION"])
258 checksums = _ObjectList(SPDXChecksum)
259 fileTypes = _StringList()
260
261
262class SPDXCreationInfo(SPDXObject):
263 created = _String()
264 licenseListVersion = _String()
265 comment = _String()
266 creators = _StringList()
267
268
269class SPDXExternalDocumentRef(SPDXObject):
270 externalDocumentId = _String()
271 spdxDocument = _String()
272 checksum = _Object(SPDXChecksum)
273
274
275class SPDXExtractedLicensingInfo(SPDXObject):
276 name = _String()
277 comment = _String()
278 licenseId = _String()
279 extractedText = _String()
280
281
282class SPDXDocument(SPDXObject):
283 spdxVersion = _String(default="SPDX-" + SPDX_VERSION)
284 dataLicense = _String(default="CC0-1.0")
285 SPDXID = _String(default="SPDXRef-DOCUMENT")
286 name = _String()
287 documentNamespace = _String()
288 creationInfo = _Object(SPDXCreationInfo)
289 packages = _ObjectList(SPDXPackage)
290 files = _ObjectList(SPDXFile)
291 relationships = _ObjectList(SPDXRelationship)
292 externalDocumentRefs = _ObjectList(SPDXExternalDocumentRef)
293 hasExtractedLicensingInfos = _ObjectList(SPDXExtractedLicensingInfo)
294
295 def __init__(self, **d):
296 super().__init__(**d)
297
298 def to_json(self, f, *, sort_keys=False, indent=None, separators=None):
299 class Encoder(json.JSONEncoder):
300 def default(self, o):
301 if isinstance(o, SPDXObject):
302 return o.serializer()
303
304 return super().default(o)
305
306 sha1 = hashlib.sha1()
307 for chunk in Encoder(
308 sort_keys=sort_keys,
309 indent=indent,
310 separators=separators,
311 ).iterencode(self):
312 chunk = chunk.encode("utf-8")
313 f.write(chunk)
314 sha1.update(chunk)
315
316 return sha1.hexdigest()
317
318 @classmethod
319 def from_json(cls, f):
320 return cls(**json.load(f))
321
322 def add_relationship(self, _from, relationship, _to, *, comment=None, annotation=None):
323 if isinstance(_from, SPDXObject):
324 from_spdxid = _from.SPDXID
325 else:
326 from_spdxid = _from
327
328 if isinstance(_to, SPDXObject):
329 to_spdxid = _to.SPDXID
330 else:
331 to_spdxid = _to
332
333 r = SPDXRelationship(
334 spdxElementId=from_spdxid,
335 relatedSpdxElement=to_spdxid,
336 relationshipType=relationship,
337 )
338
339 if comment is not None:
340 r.comment = comment
341
342 if annotation is not None:
343 r.annotations.append(annotation)
344
345 self.relationships.append(r)
346
347 def find_by_spdxid(self, spdxid):
348 for o in itertools.chain(self.packages, self.files):
349 if o.SPDXID == spdxid:
350 return o
351 return None
352
353 def find_external_document_ref(self, namespace):
354 for r in self.externalDocumentRefs:
355 if r.spdxDocument == namespace:
356 return r
357 return None