From ba0947bb039d21b7753381b288928b58e503749d Mon Sep 17 00:00:00 2001 From: Masami Ichikawa Date: Thu, 9 Jul 2026 04:13:33 +0000 Subject: [PATCH 1/2] scripts: Sort layer list by its priority The find_layer() returns layer list that sort order is definition order in bblayer.conf. However, it would be useful that list is sorted by layer priority to know which is most prioritized. Signed-off-by: Masami Ichikawa --- scripts/lib/python/bitbake_runner.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/scripts/lib/python/bitbake_runner.py b/scripts/lib/python/bitbake_runner.py index b888f55e..31c61f73 100644 --- a/scripts/lib/python/bitbake_runner.py +++ b/scripts/lib/python/bitbake_runner.py @@ -9,20 +9,27 @@ import re import subprocess import pathlib +import pprint def find_layers(): + """ + This function returns layer list that is sorted by layer priority. + """ cmd = ["bitbake-layers", "show-layers"] process = subprocess.Popen(cmd, stdout=subprocess.PIPE, text=True) output, errors = process.communicate() - layers = [] + layer_info = {} lines = output.split("\n") for line in lines: tmp = [col for col in line.split(" ") if not col == ""] if len(tmp) >= 2: if pathlib.Path(tmp[1]).exists(): - layers.append(tmp[1]) + name = tmp[1] + layer_info[name] = int(tmp[2]) + + layers = [k for k, v in sorted(layer_info.items(), key=lambda x: x[1])] return layers From 8d351af2bded3842922f3302e9606c606a15f787 Mon Sep 17 00:00:00 2001 From: Masami Ichikawa Date: Thu, 9 Jul 2026 04:25:21 +0000 Subject: [PATCH 2/2] sbom: Improbe license handling MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This commit improbe license handling with following changes. 1. Allow dictionaly data in licenses.yml file 2. Create extra license information by using external_references data 3. Supoort to have licenses.yml file in each layers The 1st change allow dictionary data in licenses.yml file to write license text into sbom file. Current format is following list. ``` debian binary package name: licenses: [ "LICENSE A", "LICENSE B" ] ``` New fommat allows following 3 formats. A: Current format style ``` debian binary package name: licenses: [ "LICENSE_A", "LICENSE_B" ] ``` B: Anather list format ``` debian binary package name: licenses: - LICENSE_A - LICENSE_B ``` C: Dictionary format ``` debian binary package name: licenses: license: - LICENSE_A - LICENSE_B - LICENSE_C text: LICENSE_C: /LICENSE_C.txt ``` A and B is same meaning that only diffrence is style. So, C is new format. If LICENSE_A and LICENSE_B is SPDX ID, you don't have to add license text in the sbom. However, if LICENSE is not in SPDX ID list (https://spdx.org/licenses/), you need to add license text in the sbom. Format C support this feature. You can put license text file in /conf/licenses/license_texts directory. So, you need to create directory in the license_texts directory then put license text. If path is not absolute path, script makes file path to /conf/licenses/license_texts//. If path si absolute path, scripte read from it by given path. For example, libbpf1 package contains License line "GPL-2 with Linux-syscall-note exception" which is not in the SPDX license id list. So, we create extra license using LicenseRef- prefix. ``` "licenseConcluded": "(LGPL-2.1-only OR BSD-2-Clause) AND GPL-2.0-only AND LicenseRef-libbpf1-GPL-2-with-Linux-syscall-note-exception-d5d4d27955c443937234e4e20fd0c460abf55feca458146b2da47b4ab4bcd3e4 AND GPL-2.0-or-later", ``` Also, we insert license text into the sbom in hasExtractedLicensingInfos section in SPDX fomat sbom. ``` { "extractedText": "NOTE! This copyright does *not* cover user programs that use kernel services\nby normal system calls - this is merely considered normal use of the kernel,\nand does *not* fall under the heading of \"derived work\". Also note that the\nGPL below is copyrighted by the Free Software Foundation, but the instance of\ncode that it refers to (the Linux kernel) is copyrighted by me and others who\ nactually wrote it.\n\nAlso note that the only valid version of the GPL as far as the kernel is\nconcerned is _this_ particular version of the license (ie v2, not v2.2 or v3.x\nor whatever), unless explicitly ot herwise stated.\n\nLinus Torvalds\n\nThis program is free software; you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation; vers ion 2 of the License.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License\nalong with this program; if not, write to the Free Software Foundation, Inc.,\n51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.\n\nOn Debian and systems the full text of the GNU General Public\nLicense version 2 can be found in the file\n\"/usr/share/common-licenses/GPL-2\".", "licenseId": "LicenseRef-libbpf1-GPL-2-with-Linux-syscall-note-exception-d5d4d27955c443937234e4e20fd0c460abf55feca458146b2da47b4ab4bcd3e4", "name": "Custom License for libbpf1 LicenseRef-libbpf1-GPL-2-with-Linux-syscall-note-exception-d5d4d27955c443937234e4e20fd0c460abf55feca458146b2da47b4ab4bcd3e4" }, ``` CycloneDX format sbom also contains license text. ``` { "license": { "name": "LicenseRef-libbpf1-GPL-2-with-Linux-syscall-note-exception-d5d4d27955c443937234e4e20fd0c460abf55feca458146b2da47b4ab4bcd3e4", "text": { "content": "NOTE! This copyright does *not* cover user programs that use kernel services\nby normal system calls - this is merely considered normal use of the kernel,\nand does *not* fall under the heading of \"derived work\". Also note that the\nGPL below is copyrighted by the Free Software Foundation, but the instance of\ncode that it refers to (the Linux kernel) is copyrighted by me and others who\nactually wrote it.\n\nAlso note that the only valid version of the GPL as far as the kernel is\nconcerned is _this_ particular version of the license (ie v2, not v2.2 or v3.x\nor whatever), unless explicitly otherwise stated.\n\nLinus Torvalds\n\nThis program is free software; you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation; version 2 of the License.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License\nalong with this program; if not, write to the Free Software Foundation, Inc.,\n51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.\n\nOn Debian and systems the full text of the GNU General Public\nLicense version 2 can be found in the file\n\"/usr/share/common-licenses/GPL-2\".", "contentType": "text/plain" } } } ``` We create above data as far as we can parse Debian's copyright file. If we cannot parse it, maybe copyright file format is old style, we need to license information in licenses.yml file. Even if we cannot get license informaion from copyright file and licenses.yml file, we set license to "NOASSERTION". By this improvement, even if we don't have licenses information from licenses directory, we can create sbom without errors. For test, rename the licenses directory to any name then create sbom. ``` $ mv licenses/ aaa ``` Create SPDX format sbom. ``` 2026-07-09 05:17:56,235:WARNING: x11-xkb-utils: Cannot get licenses from Copyright file and user defined license mapping file. So, set NOASSERTION as license. 2026-07-09 05:17:56,235:WARNING: xkb-data: Cannot get licenses from Copyright file and user defined license mapping file. So, set NOASSERTION as license. 2026-07-09 05:17:56,235:WARNING: xserver-common: Cannot get licenses from Copyright file and user defined license mapping file. So, set NOASSERTION as license. 2026-07-09 05:17:56,235:WARNING: xwayland: Cannot get licenses from Copyright file and user defined license mapping file. So, set NOASSERTION as license. 2026-07-09 05:17:56,235:WARNING: xwayland-init: Cannot get licenses from Copyright file and user defined license mapping file. So, set NOASSERTION as license. 2026-07-09 05:17:56,405:INFO: Create spdx format sbom for emlinux-image-weston 2026-07-09 05:17:56,695:INFO: sbom was created to /home/build/work/build/tmp/deploy/sbom/emlinux-image-weston-emlinux-bookworm-imx8mpevk/emlinux-image-weston-spdx.json build@235302c2d5ac:~/work$ view /home/build/work/build/tmp/deploy/sbom/emlinux-image-weston-emlinux-bookworm-imx8mpevk/emlinux-image-weston-spdx.json ``` Create CycloneDX format sbom. ``` 2026-07-09 05:15:46,184:WARNING: x11-xkb-utils: Cannot get licenses from Copyright file and user defined license mapping file. So, set NOASSERTION as license. 2026-07-09 05:15:46,184:WARNING: xkb-data: Cannot get licenses from Copyright file and user defined license mapping file. So, set NOASSERTION as license. 2026-07-09 05:15:46,184:WARNING: xserver-common: Cannot get licenses from Copyright file and user defined license mapping file. So, set NOASSERTION as license. 2026-07-09 05:15:46,184:WARNING: xwayland: Cannot get licenses from Copyright file and user defined license mapping file. So, set NOASSERTION as license. 2026-07-09 05:15:46,184:WARNING: xwayland-init: Cannot get licenses from Copyright file and user defined license mapping file. So, set NOASSERTION as license. 2026-07-09 05:15:46,355:INFO: Create spdx format sbom for emlinux-image-weston 2026-07-09 05:15:46,644:INFO: sbom was created to /home/build/work/build/tmp/deploy/sbom/emlinux-image-weston-emlinux-bookworm-imx8mpevk/emlinux-image-weston-spdx.json ``` Both show warnings because we couldn't read lincense information from copyright file, but sbom files were created. Change 3 is support to have layer's own licenses.yml file to manage licneses for layer's own packages. Direcotry structure is same as meta-emlinux's one. In custom layer, you can have following data. ``` ├── licenses.yml └── license_texts └── bash └── FOO.txt ``` The licenses.yml is following text. ``` bash: licenses: license: - FOO text: FOO: bash/FOO.txt ``` Foo.txt file contains "Test LICENSE" in it. So, sbom has following data. ``` { "extractedText": "Test LICENSE\n", "licenseId": "LicenseRef-bash-FOO-d5d4d27955c443937234e4e20fd0c460abf55feca458146b2da47b4ab4bcd3e4", "name": "Custom License for bash LicenseRef-bash-FOO-d5d4d27955c443937234e4e20fd0c460abf55feca458146b2da47b4ab4bcd3e4" }, >>> snip <<< "licenseConcluded": "LicenseRef-bash-FOO-d5d4d27955c443937234e4e20fd0c460abf55feca458146b2da47b4ab4bcd3e4", "licenseDeclared": "LicenseRef-bash-FOO-d5d4d27955c443937234e4e20fd0c460abf55feca458146b2da47b4ab4bcd3e4", ``` Signed-off-by: Masami Ichikawa --- conf/licenses/license-mapping.yml | 50 +- .../adwaita-icon-theme/CC-BY-SA-2.0-IT.txt | 345 +++ .../adwaita-icon-theme/CC-BY-SA-3.0-US.txt | 312 +++ .../CC-BY-SA-3.0-Unported.txt | 386 ++++ .../adwaita-icon-theme/GPL-unspecified.txt | 5 + conf/licenses/license_texts/blt/MIT-1.txt | 15 + conf/licenses/license_texts/blt/MIT-2.txt | 15 + conf/licenses/license_texts/blt/MIT-3.txt | 9 + conf/licenses/license_texts/blt/MIT-4.txt | 17 + conf/licenses/license_texts/blt/MIT-5.txt | 16 + conf/licenses/license_texts/blt/MIT-6.txt | 16 + .../gstreamer1.0-plugins-good/BSD.txt | 1 + .../libc6/CE-Chew-Acknowledge.txt | 8 + .../libc6/Henry-Spencer-Regex.txt | 22 + .../license_texts/libc6/ISOC-RFC3492bis.txt | 40 + .../license_texts/libc6/InnerNet-2.00.txt | 37 + .../license_texts/libcairo2/DavidReveman.txt | 21 + .../libflite1/Henry-Spencer-Regexp.txt | 18 + .../license_texts/libflite1/doc-cmu.txt | 25 + .../license_texts/libflite1/public-domain.txt | 6 + .../license_texts/libgcrypt20/OCB.txt | 88 + .../libgcrypt20/public-domain.txt | 3 + .../license_texts/libgnutls30/CRYPTOGAMS.txt | 36 + .../libgnutls30/public-domain.txt | 6 + .../libgssapi-krb5-2/OpenVision.txt | 38 + .../license_texts/libgssapi-krb5-2/PKINIT.txt | 24 + .../libgssapi-krb5-2/RSA-MD4.txt | 19 + .../libgssapi-krb5-2/RSA-MD5.txt | 19 + .../libgtk2.0-0/Sun-Government-Clause.txt | 58 + .../libgtk2.0-0/Wintab-Free-Use.txt | 2 + .../libksba8/ISOC-Standard-Notice.txt | 28 + .../license_texts/liblrdf0/public-domain.txt | 8 + .../MSSG-public-domain.txt | 21 + .../TCL-Regents-Government-Clause.txt | 41 + .../libtk8.6/TK-Regents-Government-Clause.txt | 42 + .../license_texts/libx11-6/Tektronix.txt | 34 + .../libxinerama1/X11-no-permit-persons.txt | 23 + .../license_texts/libzbar0/zbar-bsd-style.txt | 2 + .../libzbar0/zbar-public-domain.txt | 2 + .../licenses/license_texts/xkb-data/Mitos.txt | 15 + .../xwayland/X11-no-permit-persons.txt | 23 + conf/licenses/licenses.yml | 1844 +++++++++-------- scripts/create_sbom.py | 436 +++- scripts/lib/python/sbom/licensing.py | 253 ++- scripts/lib/python/sbom/sbom_cyclonedx.py | 154 +- scripts/lib/python/sbom/sbom_spdx.py | 154 +- 46 files changed, 3578 insertions(+), 1159 deletions(-) create mode 100644 conf/licenses/license_texts/adwaita-icon-theme/CC-BY-SA-2.0-IT.txt create mode 100644 conf/licenses/license_texts/adwaita-icon-theme/CC-BY-SA-3.0-US.txt create mode 100644 conf/licenses/license_texts/adwaita-icon-theme/CC-BY-SA-3.0-Unported.txt create mode 100644 conf/licenses/license_texts/adwaita-icon-theme/GPL-unspecified.txt create mode 100644 conf/licenses/license_texts/blt/MIT-1.txt create mode 100644 conf/licenses/license_texts/blt/MIT-2.txt create mode 100644 conf/licenses/license_texts/blt/MIT-3.txt create mode 100644 conf/licenses/license_texts/blt/MIT-4.txt create mode 100644 conf/licenses/license_texts/blt/MIT-5.txt create mode 100644 conf/licenses/license_texts/blt/MIT-6.txt create mode 100644 conf/licenses/license_texts/gstreamer1.0-plugins-good/BSD.txt create mode 100644 conf/licenses/license_texts/libc6/CE-Chew-Acknowledge.txt create mode 100644 conf/licenses/license_texts/libc6/Henry-Spencer-Regex.txt create mode 100644 conf/licenses/license_texts/libc6/ISOC-RFC3492bis.txt create mode 100644 conf/licenses/license_texts/libc6/InnerNet-2.00.txt create mode 100644 conf/licenses/license_texts/libcairo2/DavidReveman.txt create mode 100644 conf/licenses/license_texts/libflite1/Henry-Spencer-Regexp.txt create mode 100644 conf/licenses/license_texts/libflite1/doc-cmu.txt create mode 100644 conf/licenses/license_texts/libflite1/public-domain.txt create mode 100644 conf/licenses/license_texts/libgcrypt20/OCB.txt create mode 100644 conf/licenses/license_texts/libgcrypt20/public-domain.txt create mode 100644 conf/licenses/license_texts/libgnutls30/CRYPTOGAMS.txt create mode 100644 conf/licenses/license_texts/libgnutls30/public-domain.txt create mode 100644 conf/licenses/license_texts/libgssapi-krb5-2/OpenVision.txt create mode 100644 conf/licenses/license_texts/libgssapi-krb5-2/PKINIT.txt create mode 100644 conf/licenses/license_texts/libgssapi-krb5-2/RSA-MD4.txt create mode 100644 conf/licenses/license_texts/libgssapi-krb5-2/RSA-MD5.txt create mode 100644 conf/licenses/license_texts/libgtk2.0-0/Sun-Government-Clause.txt create mode 100644 conf/licenses/license_texts/libgtk2.0-0/Wintab-Free-Use.txt create mode 100644 conf/licenses/license_texts/libksba8/ISOC-Standard-Notice.txt create mode 100644 conf/licenses/license_texts/liblrdf0/public-domain.txt create mode 100644 conf/licenses/license_texts/libmjpegutils-2.1-0/MSSG-public-domain.txt create mode 100644 conf/licenses/license_texts/libtcl8.6/TCL-Regents-Government-Clause.txt create mode 100644 conf/licenses/license_texts/libtk8.6/TK-Regents-Government-Clause.txt create mode 100644 conf/licenses/license_texts/libx11-6/Tektronix.txt create mode 100644 conf/licenses/license_texts/libxinerama1/X11-no-permit-persons.txt create mode 100644 conf/licenses/license_texts/libzbar0/zbar-bsd-style.txt create mode 100644 conf/licenses/license_texts/libzbar0/zbar-public-domain.txt create mode 100644 conf/licenses/license_texts/xkb-data/Mitos.txt create mode 100644 conf/licenses/license_texts/xwayland/X11-no-permit-persons.txt diff --git a/conf/licenses/license-mapping.yml b/conf/licenses/license-mapping.yml index 398b1772..775595d0 100644 --- a/conf/licenses/license-mapping.yml +++ b/conf/licenses/license-mapping.yml @@ -1,16 +1,19 @@ -# https://scancode-licensedb.aboutcode.org/ +# https://spdx.org/licenses/ + +# This file format is following +# LICENSE NAME: REPLACED LICENSE NAME +# +# For example, folowing line replace from GPL2 to GPL-2.0-only +# "GPL2": "GPL-2.0-only" +# Layer is able to have its own license-mapping.yml file in conf/licenses directory. +# # Apache "Apache-2": "Apache-2.0" # Artistic "Artistic-1": "Artistic-1.0" -"Artistic-dist": "LicenseRef-scancode-artistic-1988-1.0" - -# Autoconf exception -"GPL-2.0-or-later WITH Autoconf-exception": "Autoconf-exception-2.0" -"GPL-3.0-or-later WITH Autoconf-exception": "Autoconf-exception-3.0" -"GPL-3 WITH automake-exception": "Autoconf-exception-3.0" +"Artistic": "Artistic-1.0-Perl" # BSL "BSL-1": "BSL-1.0" @@ -28,6 +31,9 @@ # Vixie Cron License "Paul-Vixie's-license": "Vixie-Cron" +# Expat can be treated as MIT. +"Expat": "MIT" + # FSF "FSF-unlimited": "FSFULLRWD" "FSF-unlimited-permission": "FSFULLR" @@ -51,27 +57,21 @@ # GPL 2 "GPL-2": "GPL-2.0-only" "GPL-2+": "GPL-2.0-or-later" +'GPL-2.0+': "GPL-2.0-or-later" # GLP3 "GPL-3": "GPL-3.0-only" "GPL-3+": "GPL-3.0-or-later" -# GPL with Autoconf exception -"GPL-2+ with Autoconf exception": "Autoconf-exception-2.0" - -# GPL with libtool exception -"GPL-2+ with Libtool exception": "Libtool-exception" - -# GPL with OpenSSL exception -"GPL-2+ WITH OpenSSL exception": "LicenseRef-scancode-openssl-exception-gpl-2.0-plus" - # LGPL "LGPL-2": "LGPL-2.0-only" "LGPL-2+": "LGPL-2.0-or-later" +"LGPL-2.0+": "LGPL-2.0-or-later" "LGPL-2.1": "LGPL-2.1-only" "LGPL-2.1+": "LGPL-2.1-or-later" "LGPL-3": "LGPL-3.0-only" "LGPL-3+": "LGPL-3.0-or-later" +"LGPL-3.0+": "LGPL-3.0-or-later" # OpenLdap "OpenLDAP-2.0": "OLDAP-2.0" @@ -85,24 +85,6 @@ "OpenLDAP-2.8": "OLDAP-2.8" -# pcre -"pcre": "LicenseRef-scancode-pcre" - # permissive "permissive-fsf": "FSFULLR" -# public domain -"public-domain": "LicenseRef-scancode-public-domain" -"Public-Domain": "LicenseRef-scancode-public-domain" -"PD": "LicenseRef-scancode-public-domain" -"PD-debian": "LicenseRef-scancode-public-domain" - -# SMAIL-GPL -"SMAIL-GPL": "LicenseRef-scancode-smail-gpl" - -# Unicode -"Unicode": "LicenseRef-scancode-unicode" - -# Misc -"Linux-syscall-note-exception": "Linux-syscall-note" - diff --git a/conf/licenses/license_texts/adwaita-icon-theme/CC-BY-SA-2.0-IT.txt b/conf/licenses/license_texts/adwaita-icon-theme/CC-BY-SA-2.0-IT.txt new file mode 100644 index 00000000..224cd764 --- /dev/null +++ b/conf/licenses/license_texts/adwaita-icon-theme/CC-BY-SA-2.0-IT.txt @@ -0,0 +1,345 @@ + This file is licensed under the Creative Commons Attribution-Share + Alike 2.0 Italy license. + . + You are free: + . + • to share – to copy, distribute and transmit the work + • to remix – to adapt the work + . + Under the following conditions: + . + • attribution – You must attribute the work in the manner specified + by the author or licensor (but not in any way that suggests that they + endorse you or your use of the work). + • share alike – If you alter, transform, or build upon this work, + you may distribute the resulting work only under the same or similar + license to this one. + . + ---- Full license text follows ---- + . + [Creative Commons Legal Code] + . + Attribuzione–Condividi allo stesso modo 2.0 (ITALIA) + . + L’ASSOCIAZIONE CREATIVE COMMONS (DI SEGUITO ‘CREATIVE COMMONS’) NON È + UNO STUDIO LEGALE E NON FORNISCE SERVIZI DI CONSULENZA LEGALE. LA + DISTRIBUZIONE DI QUESTO MODELLO DI CONTRATTO DI LICENZA NON INSTAURA UN + RAPPORTO AVVOCATO-CLIENTE. CREATIVE COMMONS FORNISCE INFORMAZIONI DA + CONSIDERARSI “COSI’ COME SONO”. CREATIVE COMMONS NON PRESTA ALCUNA + GARANZIA PER LE INFORMAZIONI FORNITE E SI ESIME DA OGNI RESPONSABILITÀ + PER I DANNI DERIVANTI DALL’USO DELLE STESSE. + . + La Licenza + . + L’OPERA (COME SOTTO DEFINITA) È MESSA A DISPOSIZIONE SULLA BASE DEI + TERMINI DELLA PRESENTE LICENZA “CREATIVE COMMONS PUBLIC LICENCE” (‘CCPL’ + O ‘LICENZA’). L’OPERA E’ PROTETTA DAL DIRITTO D’AUTORE E/O DALLE ALTRE + LEGGI APPLICABILI. OGNI UTILIZZAZIONE DELL’OPERA CHE NON SIA AUTORIZZATA + AI SENSI DELLA PRESENTE LICENZA O DEL DIRITTO D’AUTORE È PROIBITA. + . + CON IL SEMPLICE ESERCIZIO SULL’OPERA DI UNO QUALUNQUE DEI DIRITTI QUI DI + SEGUITO ELENCATI, TU ACCETTI E TI OBBLIGHI A RISPETTARE INTEGRALMENTE I + TERMINI DELLA PRESENTE LICENZA AI SENSI DEL PUNTO 8.f. IL LICENZIANTE + CONCEDE A TE I DIRITTI QUI DI SEGUITO ELENCATI A CONDIZIONE CHE TU + ACCETTI DI RISPETTARE I TERMINI E LE CONDIZIONI DI CUI ALLA PRESENTE + LICENZA. + . + 1. Definizioni. Ai fini e per gli effetti della presente licenza, si + intende per + . + 1. "Collezione di Opere", un’opera, come un numero di un periodico, + un’antologia o un’enciclopedia, nella quale l’Opera nella sua + interezza e forma originale, unitamente ad altri contributi + costituenti loro stessi opere distinte ed autonome, sono raccolti in + un’unità collettiva. Un’opera che costituisce Collezione di Opere + non verrà considerata Opera Derivata (come sotto definita) ai fini + della presente Licenza; + 2. "Opera Derivata", un’opera basata sull’Opera ovvero sull’Opera + insieme con altre opere preesistenti, come una traduzione, un + arrangiamento musicale, un adattamento teatrale, narrativo, + cinematografico, una registrazione di suoni, una riproduzione + d’arte, un digesto, una sintesi, od ogni altra forma in cui l’Opera + possa essere riproposta, trasformata o adattata. Nel caso in cui + un’Opera tra quelle qui descritte costituisca già Collezione di + Opere, essa non sarà considerata Opera Derivata ai fini della + presente Licenza. Al fine di evitare dubbi è inteso che, quando + l’Opera sia una composizione musicale o registrazione di suoni, la + sincronizzazione dell’Opera in relazione con un’immagine in + movimento (“synching”) sarà considerata Opera Derivata ai fini di + questa Licenza; + 3. "Licenziante", l’individuo o l’ente che offre l’Opera secondo i + termini e le condizioni della presente Licenza; + 4. "Autore Originario", il soggetto che ha creato l’Opera; + 5. "Opera", l’opera dell’ingegno suscettibile di protezione in forza + delle leggi sul diritto d’autore, la cui utilizzazione è offerta nel + rispetto dei termini della presente Licenza; + 6. "Tu"/"Te", l’individuo o l’ente che esercita i diritti derivanti + dalla presente Licenza e che non abbia precedentemente violato i + termini della presente Licenza relativi all’Opera, o che, nonostante + una precedente violazione degli stessi, abbia ricevuto espressa + autorizzazione dal Licenziante all’esercizio dei diritti derivanti + dalla presente Licenza; + 7. "Elementi della Licenza", gli attributi fondamentali della Licenza + scelti dal Licenziante ed indicati nel titolo della Licenza: + Attribuzione, Condividi allo stesso modo. + . + 2. Libere utilizzazioni. La presente Licenza non intende in alcun modo + ridurre, limitare o restringere alcun diritto di libera utilizzazione o + l’operare della regola dell’esaurimento del diritto o altre limitazioni + dei diritti esclusivi sull’Opera derivanti dalla legge sul diritto + d’autore o da altre leggi applicabili. + . + 3. Concessione della Licenza. Nel rispetto dei termini e delle + condizioni contenute nella presente Licenza, il Licenziante concede a Te + una licenza per tutto il mondo, gratuita, non esclusiva e perpetua (per + la durata del diritto d’autore applicabile) che autorizza ad esercitare + i diritti sull’Opera qui di seguito elencati: + . + 1. riproduzione dell’Opera, incorporazione dell’Opera in una o più + Collezioni di Opere e riproduzione dell’Opera come incorporata nelle + Collezioni di Opere; + 2. creazione e riproduzione di un’Opera Derivata; + 3. distribuzione di copie dell’Opera o di supporti fonografici su cui + l’Opera è registrata, comunicazione al pubblico, rappresentazione, + esecuzione, recitazione o esposizione in pubblico, ivi inclusa la + trasmissione audio digitale dell’Opera, e ciò anche quando l’Opera + sia incorporata in Collezioni di Opere; + 4. distribuzione di copie dell’Opera o di supporti fonografici su cui + l’Opera Derivata è registrata, comunicazione al pubblico, + rappresentazione, esecuzione, recitazione o esposizione in pubblico, + ivi inclusa la trasmissione audio digitale di Opere Derivate. + 5. Al fine di evitare dubbi è inteso che, se l’Opera sia di tipo + musicale + . + 1. Compensi per la comunicazione al pubblico o la rappresentazione + od esecuzione di opere incluse in repertori. Il Licenziante + rinuncia al diritto esclusivo di riscuotere compensi, + personalmente o per il tramite di un ente di gestione collettiva + (ad es. SIAE), per la comunicazione al pubblico o la + rappresentazione od esecuzione, anche in forma digitale (ad es. + tramite webcast) dell’Opera. + 2. Compensi per versioni cover. Il Licenziante rinuncia al diritto + esclusivo di riscuotere compensi, personalmente o per il tramite + di un ente di gestione collettiva (ad es. SIAE), per ogni disco + che Tu crei e distribuisci a partire dall’Opera (versione + cover). + . + 6. Compensi per la comunicazione al pubblico dell’Opera mediante + fonogrammi. Al fine di evitare dubbi, è inteso che se l’Opera è una + registrazione di suoni, il Licenziante rinuncia al diritto esclusivo + di riscuotere compensi, personalmente o per il tramite di un ente di + gestione collettiva (ad es. IMAIE), per la comunicazione al pubblico + dell’Opera, anche in forma digitale. + 7. Altri compensi previsti dalla legge italiana. Al fine di evitare + dubbi, è inteso che il Licenziante rinuncia al diritto esclusivo di + riscuotere i compensi a lui attribuiti dalla legge italiana sul + diritto d’autore (ad es. per l’inserimento dell’Opera in + un’antologia ad uso scolastico ex art. 70 l. 633/1941). Al + Licenziante spettano in ogni caso i compensi irrinunciabili a lui + attribuiti dalla medesima legge (ad es. l’equo compenso spettante + all’autore di opere musicali, cinematografiche, audiovisive o di + sequenze di immagini in movimento nel caso di noleggio ai sensi + dell’art. 18-bis l. 633/1941). + . + I diritti sopra descritti potranno essere esercitati con ogni mezzo di + comunicazione e in tutti i formati. Tra i diritti di cui sopra si + intende compreso il diritto di apportare all’Opera le modifiche che si + rendessero tecnicamente necessarie per l’esercizio di detti diritti + tramite altri mezzi di comunicazione o su altri formati. Tutti i diritti + non espressamente concessi dal Licenziante rimangono riservati. + . + 4. Restrizioni. La Licenza concessa in conformità al precedente punto 3 + è espressamente assoggettata a, e limitata da, le seguenti restrizioni + . + 1. Tu puoi distribuire, comunicare al pubblico, rappresentare, + eseguire, recitare o esporre in pubblico l’Opera, anche in forma + digitale, solo assicurando che i termini di cui alla presente + Licenza siano rispettati e, insieme ad ogni copia dell’Opera (o + supporto fonografico su cui è registrata l’Opera) che distribuisci, + comunichi al pubblico o rappresenti, esegui, reciti o esponi in + pubblico, anche in forma digitale, devi includere una copia della + presente Licenza o il suo Uniform Resource Identifier. Non puoi + proporre od imporre alcuna condizione relativa all’Opera che alteri + o restringa i termini della presente Licenza o l’esercizio da parte + del beneficiario dei diritti qui concessi. Non puoi concedere + l’Opera in sublicenza. Devi mantenere intatte tutte le informative + che si riferiscono alla presente Licenza ed all’esclusione delle + garanzie. Non puoi distribuire, comunicare al pubblico, + rappresentare, eseguire, recitare o esporre in pubblico l’Opera, + neanche in forma digitale, usando misure tecnologiche miranti a + controllare l’accesso all’Opera ovvero l’uso dell’Opera, in maniera + incompatibile con i termini della presente Licenza. Quanto sopra si + applica all’Opera anche quando questa faccia parte di una Collezione + di Opere, anche se ciò non comporta che la Collezione di Opere di + per sé ed indipendentemente dall’Opera stessa debba essere soggetta + ai termini ed alle condizioni della presente Licenza. Qualora Tu + crei una Collezione di Opere, su richiesta di qualsiasi Licenziante, + devi rimuovere dalla Collezione di Opere stessa, ove materialmente + possibile, ogni riferimento a tale Licenziante o, su richiesta di + qualsiasi Autore Originario, a tale Autore Originario, come da + richiesta. Qualora tu crei un’Opera Derivata, su richiesta di + qualsiasi Licenziante devi rimuovere dall’Opera Derivata stessa, + nella misura in cui ciò sia possibile, ogni riferimento a tale + Licenziante o, su richiesta di qualsiasi Autore Originario, a tale + Autore Originario, come da richiesta. + 2. Tu puoi distribuire, comunicare al pubblico, rappresentare, + eseguire, recitare o esporre in pubblico l’Opera, anche in forma + digitale, solo assicurando che i termini di cui alla presente + Licenza siano rispettati e, insieme ad ogni copia dell’Opera (o + supporto fonografico su cui è registrata l’Opera) che distribuisci, + comunichi al pubblico o rappresenti, esegui, reciti o esponi in + pubblico, anche in forma digitale, devi includere una copia della + presente Licenza o il suo Uniform Resource Identifier. Non puoi + proporre od imporre alcuna condizione relativa all’Opera che alteri + o restringa i termini della presente Licenza o l’esercizio da parte + del beneficiario dei diritti qui concessi. Non puoi concedere + l’Opera in sublicenza. Devi mantenere intatte tutte le informative + che si riferiscono alla presente Licenza ed all’esclusione delle + garanzie. Non puoi distribuire, comunicare al pubblico, + rappresentare, eseguire, recitare o esporre in pubblico l’Opera, + neanche in forma digitale, usando misure tecnologiche miranti a + controllare l’accesso all’Opera ovvero l’uso dell’Opera, in maniera + incompatibile con i termini della presente Licenza. Quanto sopra si + applica all’Opera anche quando questa faccia parte di una Collezione + di Opere, anche se ciò non comporta che la Collezione di Opere di + per sé ed indipendentemente dall’Opera stessa debba essere soggetta + ai termini ed alle condizioni della presente Licenza. Qualora Tu + crei una Collezione di Opere, su richiesta di qualsiasi Licenziante, + devi rimuovere dalla Collezione di Opere stessa, ove materialmente + possibile, ogni riferimento a tale Licenziante o, su richiesta di + qualsiasi Autore Originario, a tale Autore Originario, come da + richiesta. Qualora tu crei un’Opera Derivata, su richiesta di + qualsiasi Licenziante devi rimuovere dall’Opera Derivata stessa, + nella misura in cui ciò sia possibile, ogni riferimento a tale + Licenziante o, su richiesta di qualsiasi Autore Originario, a tale + Autore Originario, come da richiesta. + 3. Qualora Tu distribuisca, comunichi al pubblico, rappresenti, esegua, + reciti o esponga in pubblico, anche in forma digitale, l’Opera o + qualsiasi Opera Derivata o Collezione di Opere, devi mantenere + intatte tutte le informative sul diritto d’autore sull’Opera. Devi + riconoscere all’Autore Originale una menzione adeguata rispetto al + mezzo di comunicazione o supporto che utilizzi citando il nome (o lo + pseudonimo, se del caso) dell’Autore Originale, ove fornito; il + titolo dell’Opera, ove fornito; nella misura in cui sia + ragionevolmente possibile, l’Uniform Resource Identifier, che il + Licenziante specifichi dover essere associato con l’Opera, salvo che + tale URI non faccia riferimento alla informazione di protezione di + diritto d’autore o non dia informazioni sulla licenza dell’Opera; + inoltre, in caso di Opera Derivata, devi menzionare l’uso dell’Opera + nell’Opera Derivata (ad esempio, “traduzione francese dell’Opera + dell’Autore Originario”, o “sceneggiatura basata sull’Opera + originaria dell’Autore Originario”). Tale menzione deve essere + realizzata in qualsiasi maniera ragionevole possibile; in ogni caso, + in ipotesi di Opera Derivata o Collezione di Opere, tale menzione + deve quantomeno essere posta nel medesimo punto dove viene indicato + il nome di altri autori di rilevanza paragonabile e con lo stesso + risalto concesso alla menzione di altri autori di rilevanza + paragonabile. + . + 5. Dichiarazioni, Garanzie ed Esonero da responsabilità + . + SALVO CHE SIA ESPRESSAMENTE CONVENUTO ALTRIMENTI PER ISCRITTO FRA LE + PARTI, IL LICENZIANTE OFFRE L’OPERA IN LICENZA “COSI’ COM’E’” E NON + FORNISCE ALCUNA DICHIARAZIONE O GARANZIA DI QUALSIASI TIPO CON RIGUARDO + ALL’OPERA, SIA ESSA ESPRESSA OD IMPLICITA, DI FONTE LEGALE O DI ALTRO + TIPO, ESSENDO QUINDI ESCLUSE, FRA LE ALTRE, LE GARANZIE RELATIVE AL + TITOLO, ALLA COMMERCIABILITÀ, ALL’IDONEITÀ PER UN FINE SPECIFICO E ALLA + NON VIOLAZIONE DI DIRITTI DI TERZI O ALLA MANCANZA DI DIFETTI LATENTI O + DI ALTRO TIPO, ALL’ESATTEZZA OD ALLA PRESENZA DI ERRORI, SIANO ESSI + ACCERTABILI O MENO. ALCUNE GIURISDIZIONI NON CONSENTONO L’ESCLUSIONE DI + GARANZIE IMPLICITE E QUINDI TALE ESCLUSIONE PUÒ NON APPLICARSI A TE. + . + 6. Limitazione di Responsabilità. SALVI I LIMITI STABILITI DALLA LEGGE + APPLICABILE, IL LICENZIANTE NON SARÀ IN ALCUN CASO RESPONSABILE NEI TUOI + CONFRONTI A QUALUNQUE TITOLO PER ALCUN TIPO DI DANNO, SIA ESSO SPECIALE, + INCIDENTALE, CONSEQUENZIALE, PUNITIVO OD ESEMPLARE, DERIVANTE DALLA + PRESENTE LICENZA O DALL’USO DELL’OPERA, ANCHE NEL CASO IN CUI IL + LICENZIANTE SIA STATO EDOTTO SULLA POSSIBILITÀ DI TALI DANNI. NESSUNA + CLAUSOLA DI QUESTA LICENZA ESCLUDE O LIMITA LA RESPONSABILITA’ NEL CASO + IN CUI QUESTA DIPENDA DA DOLO O COLPA GRAVE. + . + 7. Risoluzione + . + 1. La presente Licenza si intenderà risolta di diritto e i diritti con + essa concessi cesseranno automaticamente, senza necessità di alcuna + comunicazione in tal senso da parte del Licenziante, in caso di + qualsivoglia inadempimento dei termini della presente Licenza da + parte Tua, ed in particolare delle disposizioni di cui ai punti 4.a, + 4.b e 4.c, essendo la presente Licenza condizionata risolutivamente + al verificarsi di tali inadempimenti. In ogni caso, la risoluzione + della presente Licenza non pregiudicherà i diritti acquistati da + individui o enti che abbiano acquistato da Te Opere Derivate o + Collezioni di Opere, ai sensi della presente Licenza, a condizione + che tali individui o enti continuino a rispettare integralmente le + licenze di cui sono parte. Le sezioni 1, 2, 5, 6, 7 e 8 rimangono + valide in presenza di qualsiasi risoluzione della presente Licenza. + 2. Sempre che vengano rispettati i termini e le condizioni di cui + sopra, la presente Licenza è perpetua (e concessa per tutta la + durata del diritto d’autore sull’Opera applicabile). Nonostante ciò, + il Licenziante si riserva il diritto di rilasciare l’Opera sulla + base dei termini di una differente licenza o di cessare la + distribuzione dell’Opera in qualsiasi momento; fermo restando che, + in ogni caso, tali decisioni non comporteranno recesso dalla + presente Licenza (o da qualsiasi altra licenza che sia stata + concessa, o che sia richiesto che venga concessa, ai termini della + presente Licenza), e la presente Licenza continuerà ad avere piena + efficacia, salvo che vi sia risoluzione come sopra indicato. + . + 8. Varie + . + 1. Ogni volta che Tu distribuisci, o rappresenti, esegui o reciti + pubblicamente in forma digitale l’Opera o una Collezione di Opere, + il Licenziante offre al destinatario una licenza per l’Opera nei + medesimi termini e condizioni che a Te sono stati concessi dalla + presente Licenza. + 2. Ogni volta che Tu distribuisci, o rappresenti, esegui o reciti + pubblicamente in forma digitale un’Opera Derivata, il Licenziante + offre al destinatario una licenza per l’Opera originale nei medesimi + termini e condizioni che a Te sono stati concessi dalla presente + Licenza. + 3. L’invalidità o l’inefficacia, secondo la legge applicabile, di una o + più fra le disposizioni della presente Licenza, non comporterà + l’invalidità o l’inefficacia dei restanti termini e, senza bisogno + di ulteriori azioni delle parti, le disposizioni invalide od + inefficaci saranno da intendersi rettificate nei limiti della misura + che sia indispensabile per renderle valide ed efficaci. + 4. In nessun caso i termini e le disposizioni di cui alla presente + Licenza possono essere considerati rinunciati, né alcuna violazione + può essere considerata consentita, salvo che tale rinuncia o + consenso risultino per iscritto da una dichiarazione firmata dalla + parte contro cui operi tale rinuncia o consenso. + 5. La presente Licenza costituisce l’intero accordo tra le parti + relativamente all’Opera qui data in licenza. Non esistono altre + intese, accordi o dichiarazioni relative all’Opera che non siano + quelle qui specificate. Il Licenziante non sarà vincolato ad alcuna + altra disposizione addizionale che possa apparire in alcuna + comunicazione da Te proveniente. La presente Licenza non può essere + modificata senza il mutuo consenso scritto del Licenziante e Tuo. + 6. Clausola iCommons. Questa Licenza trova applicazione nel caso in cui + l’Opera sia utilizzata in Italia. Ove questo sia il caso, si applica + anche il diritto d’autore italiano. Negli altri casi le parti si + obbligano a rispettare i termini dell’attuale Licenza Creative + Commons generica che corrisponde a questa Licenza Creative Commons + iCommons. + . + Creative Commons non è parte della presente Licenza e non dà alcuna + garanzia connessa all’Opera. Creative Commons non è responsabile nei + Tuoi confronti o nei confronti di altre parti ad alcun titolo per alcun + danno, incluso, senza limitazioni, qualsiasi danno generale. speciale, + incidentale o consequenziale che sorga in connessione alla presente + Licenza. Nonostante quanto previsto nelle due precedenti frasi, qualora + Creative Commons espressamente identificasse se stesso quale Licenziante + nei termini di cui al presente accordo, avrà tutti i diritti e tutti gli + obblighi del Licenziante. + . + Salvo che per il solo scopo di indicare al pubblico che l’Opera è data + in licenza secondo i termini della CCPL, nessuna parte potrà utilizzare + il marchio “Creative Commons” o qualsiasi altro marchio correlato, o il + logo di Creative Commons, senza il preventivo consenso scritto di + Creative Commons. Ogni uso consentito sarà realizzato con l’osservanza + delle linee guida per l’uso del marchio Creative Commons, in forza in + quel momento, come di volta in volta pubblicate sul sito Internet di + Creative Commons o altrimenti messe a disposizione a richiesta. + . + Creative Commons può essere contattata al sito + http://creativecommons.org/. diff --git a/conf/licenses/license_texts/adwaita-icon-theme/CC-BY-SA-3.0-US.txt b/conf/licenses/license_texts/adwaita-icon-theme/CC-BY-SA-3.0-US.txt new file mode 100644 index 00000000..e53cced4 --- /dev/null +++ b/conf/licenses/license_texts/adwaita-icon-theme/CC-BY-SA-3.0-US.txt @@ -0,0 +1,312 @@ + Creative Commons Legal Code + =========================== + . + Attribution-ShareAlike 3.0 United States + ---------------------------------------- + . + CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE + LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN + ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS + INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES + REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR + DAMAGES RESULTING FROM ITS USE. + . + License + . + THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE + COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY + COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS + AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. + . + BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE + TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY + BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS + CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND + CONDITIONS. + . + 1. Definitions + . + 1. "Collective Work" means a work, such as a periodical issue, + anthology or encyclopedia, in which the Work in its entirety in + unmodified form, along with one or more other contributions, + constituting separate and independent works in themselves, are + assembled into a collective whole. A work that constitutes a + Collective Work will not be considered a Derivative Work (as defined + below) for the purposes of this License. + 2. "Creative Commons Compatible License" means a license that is listed + at http://creativecommons.org/compatiblelicenses that has been + approved by Creative Commons as being essentially equivalent to this + License, including, at a minimum, because that license: (i) contains + terms that have the same purpose, meaning and effect as the License + Elements of this License; and, (ii) explicitly permits the + relicensing of derivatives of works made available under that + license under this License or either a Creative Commons unported + license or a Creative Commons jurisdiction license with the same + License Elements as this License. + 3. "Derivative Work" means a work based upon the Work or upon the Work + and other pre-existing works, such as a translation, musical + arrangement, dramatization, fictionalization, motion picture + version, sound recording, art reproduction, abridgment, + condensation, or any other form in which the Work may be recast, + transformed, or adapted, except that a work that constitutes a + Collective Work will not be considered a Derivative Work for the + purpose of this License. For the avoidance of doubt, where the Work + is a musical composition or sound recording, the synchronization of + the Work in timed-relation with a moving image ("synching") will be + considered a Derivative Work for the purpose of this License. + 4. "License Elements" means the following high-level license attributes + as selected by Licensor and indicated in the title of this License: + Attribution, ShareAlike. + 5. "Licensor" means the individual, individuals, entity or entities + that offers the Work under the terms of this License. + 6. "Original Author" means the individual, individuals, entity or + entities who created the Work. + 7. "Work" means the copyrightable work of authorship offered under the + terms of this License. + 8. "You" means an individual or entity exercising rights under this + License who has not previously violated the terms of this License + with respect to the Work, or who has received express permission + from the Licensor to exercise rights under this License despite a + previous violation. + . + 2. Fair Use Rights. Nothing in this license is intended to reduce, + limit, or restrict any rights arising from fair use, first sale or other + limitations on the exclusive rights of the copyright owner under + copyright law or other applicable laws. + . + 3. License Grant. Subject to the terms and conditions of this License, + Licensor hereby grants You a worldwide, royalty-free, non-exclusive, + perpetual (for the duration of the applicable copyright) license to + exercise the rights in the Work as stated below: + . + 1. to reproduce the Work, to incorporate the Work into one or more + Collective Works, and to reproduce the Work as incorporated in the + Collective Works; + 2. to create and reproduce Derivative Works provided that any such + Derivative Work, including any translation in any medium, takes + reasonable steps to clearly label, demarcate or otherwise identify + that changes were made to the original Work. For example, a + translation could be marked "The original work was translated from + English to Spanish," or a modification could indicate "The original + work has been modified."; + 3. to distribute copies or phonorecords of, display publicly, perform + publicly, and perform publicly by means of a digital audio + transmission the Work including as incorporated in Collective Works; + 4. to distribute copies or phonorecords of, display publicly, perform + publicly, and perform publicly by means of a digital audio + transmission Derivative Works. + 5. For the avoidance of doubt, where the Work is a musical composition: + . + 1. Performance Royalties Under Blanket Licenses. Licensor waives + the exclusive right to collect, whether individually or, in the + event that Licensor is a member of a performance rights society + (e.g. ASCAP, BMI, SESAC), via that society, royalties for the + public performance or public digital performance (e.g. webcast) + of the Work. + 2. Mechanical Rights and Statutory Royalties. Licensor waives the + exclusive right to collect, whether individually or via a music + rights agency or designated agent (e.g. Harry Fox Agency), + royalties for any phonorecord You create from the Work ("cover + version") and distribute, subject to the compulsory license + created by 17 USC Section 115 of the US Copyright Act (or the + equivalent in other jurisdictions). + . + 6. Webcasting Rights and Statutory Royalties. For the avoidance of + doubt, where the Work is a sound recording, Licensor waives the + exclusive right to collect, whether individually or via a + performance-rights society (e.g. SoundExchange), royalties for the + public digital performance (e.g. webcast) of the Work, subject to + the compulsory license created by 17 USC Section 114 of the US + Copyright Act (or the equivalent in other jurisdictions). + . + The above rights may be exercised in all media and formats whether now + known or hereafter devised. The above rights include the right to make + such modifications as are technically necessary to exercise the rights + in other media and formats. All rights not expressly granted by Licensor + are hereby reserved. + . + 4. Restrictions. The license granted in Section 3 above is expressly + made subject to and limited by the following restrictions: + . + 1. You may distribute, publicly display, publicly perform, or publicly + digitally perform the Work only under the terms of this License, and + You must include a copy of, or the Uniform Resource Identifier for, + this License with every copy or phonorecord of the Work You + distribute, publicly display, publicly perform, or publicly + digitally perform. You may not offer or impose any terms on the Work + that restrict the terms of this License or the ability of a + recipient of the Work to exercise of the rights granted to that + recipient under the terms of the License. You may not sublicense the + Work. You must keep intact all notices that refer to this License + and to the disclaimer of warranties. When You distribute, publicly + display, publicly perform, or publicly digitally perform the Work, + You may not impose any technological measures on the Work that + restrict the ability of a recipient of the Work from You to exercise + of the rights granted to that recipient under the terms of the + License. This Section 4(a) applies to the Work as incorporated in a + Collective Work, but this does not require the Collective Work apart + from the Work itself to be made subject to the terms of this + License. If You create a Collective Work, upon notice from any + Licensor You must, to the extent practicable, remove from the + Collective Work any credit as required by Section 4(c), as + requested. If You create a Derivative Work, upon notice from any + Licensor You must, to the extent practicable, remove from the + Derivative Work any credit as required by Section 4(c), as + requested. + 2. You may distribute, publicly display, publicly perform, or publicly + digitally perform a Derivative Work only under: (i) the terms of + this License; (ii) a later version of this License with the same + License Elements as this License; (iii) either the Creative Commons + (Unported) license or a Creative Commons jurisdiction license + (either this or a later license version) that contains the same + License Elements as this License (e.g. Attribution-ShareAlike 3.0 + (Unported)); (iv) a Creative Commons Compatible License. If you + license the Derivative Work under one of the licenses mentioned in + (iv), you must comply with the terms of that license. If you license + the Derivative Work under the terms of any of the licenses mentioned + in (i), (ii) or (iii) (the "Applicable License"), you must comply + with the terms of the Applicable License generally and with the + following provisions: (I) You must include a copy of, or the Uniform + Resource Identifier for, the Applicable License with every copy or + phonorecord of each Derivative Work You distribute, publicly + display, publicly perform, or publicly digitally perform; (II) You + may not offer or impose any terms on the Derivative Works that + restrict the terms of the Applicable License or the ability of a + recipient of the Work to exercise the rights granted to that + recipient under the terms of the Applicable License; (III) You must + keep intact all notices that refer to the Applicable License and to + the disclaimer of warranties; and, (IV) when You distribute, + publicly display, publicly perform, or publicly digitally perform + the Work, You may not impose any technological measures on the + Derivative Work that restrict the ability of a recipient of the + Derivative Work from You to exercise the rights granted to that + recipient under the terms of the Applicable License. This Section + 4(b) applies to the Derivative Work as incorporated in a Collective + Work, but this does not require the Collective Work apart from the + Derivative Work itself to be made subject to the terms of the + Applicable License. + 3. If You distribute, publicly display, publicly perform, or publicly + digitally perform the Work (as defined in Section 1 above) or any + Derivative Works (as defined in Section 1 above) or Collective Works + (as defined in Section 1 above), You must, unless a request has been + made pursuant to Section 4(a), keep intact all copyright notices for + the Work and provide, reasonable to the medium or means You are + utilizing: (i) the name of the Original Author (or pseudonym, if + applicable) if supplied, and/or (ii) if the Original Author and/or + Licensor designate another party or parties (e.g. a sponsor + institute, publishing entity, journal) for attribution ("Attribution + Parties") in Licensor's copyright notice, terms of service or by + other reasonable means, the name of such party or parties; the title + of the Work if supplied; to the extent reasonably practicable, the + Uniform Resource Identifier, if any, that Licensor specifies to be + associated with the Work, unless such URI does not refer to the + copyright notice or licensing information for the Work; and, + consistent with Section 3(b) in the case of a Derivative Work, a + credit identifying the use of the Work in the Derivative Work (e.g., + "French translation of the Work by Original Author," or "Screenplay + based on original Work by Original Author"). The credit required by + this Section 4(c) may be implemented in any reasonable manner; + provided, however, that in the case of a Derivative Work or + Collective Work, at a minimum such credit will appear, if a credit + for all contributing authors of the Derivative Work or Collective + Work appears, then as part of these credits and in a manner at least + as prominent as the credits for the other contributing authors. For + the avoidance of doubt, You may only use the credit required by this + Section for the purpose of attribution in the manner set out above + and, by exercising Your rights under this License, You may not + implicitly or explicitly assert or imply any connection with, + sponsorship or endorsement by the Original Author, Licensor and/or + Attribution Parties, as appropriate, of You or Your use of the Work, + without the separate, express prior written permission of the + Original Author, Licensor and/or Attribution Parties. + . + 5. Representations, Warranties and Disclaimer + . + UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR + OFFERS THE WORK AS-IS AND ONLY TO THE EXTENT OF ANY RIGHTS HELD IN THE + LICENSED WORK BY THE LICENSOR. THE LICENSOR MAKES NO REPRESENTATIONS OR + WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY + OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, + MARKETABILITY, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, + NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR + THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME + JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH + EXCLUSION MAY NOT APPLY TO YOU. + . + 6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE + LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR + ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES + ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS + BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + . + 7. Termination + . + 1. This License and the rights granted hereunder will terminate + automatically upon any breach by You of the terms of this License. + Individuals or entities who have received Derivative Works or + Collective Works from You under this License, however, will not have + their licenses terminated provided such individuals or entities + remain in full compliance with those licenses. Sections 1, 2, 5, 6, + 7, and 8 will survive any termination of this License. + 2. Subject to the above terms and conditions, the license granted here + is perpetual (for the duration of the applicable copyright in the + Work). Notwithstanding the above, Licensor reserves the right to + release the Work under different license terms or to stop + distributing the Work at any time; provided, however that any such + election will not serve to withdraw this License (or any other + license that has been, or is required to be, granted under the terms + of this License), and this License will continue in full force and + effect unless terminated as stated above. + . + 8. Miscellaneous + . + 1. Each time You distribute or publicly digitally perform the Work (as + defined in Section 1 above) or a Collective Work (as defined in + Section 1 above), the Licensor offers to the recipient a license to + the Work on the same terms and conditions as the license granted to + You under this License. + 2. Each time You distribute or publicly digitally perform a Derivative + Work, Licensor offers to the recipient a license to the original + Work on the same terms and conditions as the license granted to You + under this License. + 3. If any provision of this License is invalid or unenforceable under + applicable law, it shall not affect the validity or enforceability + of the remainder of the terms of this License, and without further + action by the parties to this agreement, such provision shall be + reformed to the minimum extent necessary to make such provision + valid and enforceable. + 4. No term or provision of this License shall be deemed waived and no + breach consented to unless such waiver or consent shall be in + writing and signed by the party to be charged with such waiver or + consent. + 5. This License constitutes the entire agreement between the parties + with respect to the Work licensed here. There are no understandings, + agreements or representations with respect to the Work not specified + here. Licensor shall not be bound by any additional provisions that + may appear in any communication from You. This License may not be + modified without the mutual written agreement of the Licensor and + You. + . + Creative Commons Notice + . + Creative Commons is not a party to this License, and makes no warranty + whatsoever in connection with the Work. Creative Commons will not be + liable to You or any party on any legal theory for any damages + whatsoever, including without limitation any general, special, + incidental or consequential damages arising in connection to this + license. Notwithstanding the foregoing two (2) sentences, if Creative + Commons has expressly identified itself as the Licensor hereunder, it + shall have all rights and obligations of Licensor. + . + Except for the limited purpose of indicating to the public that the + Work is licensed under the CCPL, Creative Commons does not authorize + the use by either party of the trademark "Creative Commons" or any + related trademark or logo of Creative Commons without the prior + written consent of Creative Commons. Any permitted use will be in + compliance with Creative Commons' then-current trademark usage + guidelines, as may be published on its website or otherwise made + available upon request from time to time. For the avoidance of doubt, + this trademark restriction does not form part of this License. + . + Creative Commons may be contacted at http://creativecommons.org/. + diff --git a/conf/licenses/license_texts/adwaita-icon-theme/CC-BY-SA-3.0-Unported.txt b/conf/licenses/license_texts/adwaita-icon-theme/CC-BY-SA-3.0-Unported.txt new file mode 100644 index 00000000..75bbfb11 --- /dev/null +++ b/conf/licenses/license_texts/adwaita-icon-theme/CC-BY-SA-3.0-Unported.txt @@ -0,0 +1,386 @@ + This file is licensed under the Creative Commons Attribution-Share + Alike 3.0 Unported license. + . + You are free: + . + • to share – to copy, distribute and transmit the work + • to remix – to adapt the work + . + Under the following conditions: + • attribution – You must attribute the work in the manner specified + by the author or licensor (but not in any way that suggests that they + endorse you or your use of the work). + • share alike – If you alter, transform, or build upon this work, + you may distribute the resulting work only under the same or similar + license to this one. + . + Creative Commons Legal Code + =========================== + . + Attribution-ShareAlike 3.0 Unported + ----------------------------------- + . + CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE + LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN + ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS + INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES + REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR + DAMAGES RESULTING FROM ITS USE. + . + License + . + THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE + COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY + COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS + AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. + . + BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE + TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY + BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS + CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND + CONDITIONS. + . + 1. Definitions + . + 1. "Adaptation" means a work based upon the Work, or upon the Work and + other pre-existing works, such as a translation, adaptation, + derivative work, arrangement of music or other alterations of a + literary or artistic work, or phonogram or performance and includes + cinematographic adaptations or any other form in which the Work may + be recast, transformed, or adapted including in any form + recognizably derived from the original, except that a work that + constitutes a Collection will not be considered an Adaptation for + the purpose of this License. For the avoidance of doubt, where the + Work is a musical work, performance or phonogram, the + synchronization of the Work in timed-relation with a moving image + ("synching") will be considered an Adaptation for the purpose of + this License. + 2. "Collection" means a collection of literary or artistic works, such + as encyclopedias and anthologies, or performances, phonograms or + broadcasts, or other works or subject matter other than works listed + in Section 1(f) below, which, by reason of the selection and + arrangement of their contents, constitute intellectual creations, in + which the Work is included in its entirety in unmodified form along + with one or more other contributions, each constituting separate and + independent works in themselves, which together are assembled into a + collective whole. A work that constitutes a Collection will not be + considered an Adaptation (as defined below) for the purposes of this + License. + 3. "Creative Commons Compatible License" means a license that is listed + at http://creativecommons.org/compatiblelicenses that has been + approved by Creative Commons as being essentially equivalent to this + License, including, at a minimum, because that license: (i) contains + terms that have the same purpose, meaning and effect as the License + Elements of this License; and, (ii) explicitly permits the + relicensing of adaptations of works made available under that + license under this License or a Creative Commons jurisdiction + license with the same License Elements as this License. + 4. "Distribute" means to make available to the public the original and + copies of the Work or Adaptation, as appropriate, through sale or + other transfer of ownership. + 5. "License Elements" means the following high-level license attributes + as selected by Licensor and indicated in the title of this License: + Attribution, ShareAlike. + 6. "Licensor" means the individual, individuals, entity or entities + that offer(s) the Work under the terms of this License. + 7. "Original Author" means, in the case of a literary or artistic work, + the individual, individuals, entity or entities who created the Work + or if no individual or entity can be identified, the publisher; and + in addition (i) in the case of a performance the actors, singers, + musicians, dancers, and other persons who act, sing, deliver, + declaim, play in, interpret or otherwise perform literary or + artistic works or expressions of folklore; (ii) in the case of a + phonogram the producer being the person or legal entity who first + fixes the sounds of a performance or other sounds; and, (iii) in the + case of broadcasts, the organization that transmits the broadcast. + 8. "Work" means the literary and/or artistic work offered under the + terms of this License including without limitation any production in + the literary, scientific and artistic domain, whatever may be the + mode or form of its expression including digital form, such as a + book, pamphlet and other writing; a lecture, address, sermon or + other work of the same nature; a dramatic or dramatico-musical work; + a choreographic work or entertainment in dumb show; a musical + composition with or without words; a cinematographic work to which + are assimilated works expressed by a process analogous to + cinematography; a work of drawing, painting, architecture, + sculpture, engraving or lithography; a photographic work to which + are assimilated works expressed by a process analogous to + photography; a work of applied art; an illustration, map, plan, + sketch or three-dimensional work relative to geography, topography, + architecture or science; a performance; a broadcast; a phonogram; a + compilation of data to the extent it is protected as a copyrightable + work; or a work performed by a variety or circus performer to the + extent it is not otherwise considered a literary or artistic work. + 9. "You" means an individual or entity exercising rights under this + License who has not previously violated the terms of this License + with respect to the Work, or who has received express permission + from the Licensor to exercise rights under this License despite a + previous violation. + 10. "Publicly Perform" means to perform public recitations of the Work + and to communicate to the public those public recitations, by any + means or process, including by wire or wireless means or public + digital performances; to make available to the public Works in such + a way that members of the public may access these Works from a place + and at a place individually chosen by them; to perform the Work to + the public by any means or process and the communication to the + public of the performances of the Work, including by public digital + performance; to broadcast and rebroadcast the Work by any means + including signs, sounds or images. + 11. "Reproduce" means to make copies of the Work by any means including + without limitation by sound or visual recordings and the right of + fixation and reproducing fixations of the Work, including storage of + a protected performance or phonogram in digital form or other + electronic medium. + . + 2. Fair Dealing Rights. Nothing in this License is intended to reduce, + limit, or restrict any uses free from copyright or rights arising from + limitations or exceptions that are provided for in connection with the + copyright protection under copyright law or other applicable laws. + . + 3. License Grant. Subject to the terms and conditions of this License, + Licensor hereby grants You a worldwide, royalty-free, non-exclusive, + perpetual (for the duration of the applicable copyright) license to + exercise the rights in the Work as stated below: + . + 1. to Reproduce the Work, to incorporate the Work into one or more + Collections, and to Reproduce the Work as incorporated in the + Collections; + 2. to create and Reproduce Adaptations provided that any such + Adaptation, including any translation in any medium, takes + reasonable steps to clearly label, demarcate or otherwise identify + that changes were made to the original Work. For example, a + translation could be marked "The original work was translated from + English to Spanish," or a modification could indicate "The original + work has been modified."; + 3. to Distribute and Publicly Perform the Work including as + incorporated in Collections; and, + 4. to Distribute and Publicly Perform Adaptations. + 5. For the avoidance of doubt: + . + 1. Non-waivable Compulsory License Schemes. In those jurisdictions + in which the right to collect royalties through any statutory or + compulsory licensing scheme cannot be waived, the Licensor + reserves the exclusive right to collect such royalties for any + exercise by You of the rights granted under this License; + 2. Waivable Compulsory License Schemes. In those jurisdictions in + which the right to collect royalties through any statutory or + compulsory licensing scheme can be waived, the Licensor waives + the exclusive right to collect such royalties for any exercise + by You of the rights granted under this License; and, + 3. Voluntary License Schemes. The Licensor waives the right to + collect royalties, whether individually or, in the event that + the Licensor is a member of a collecting society that + administers voluntary licensing schemes, via that society, from + any exercise by You of the rights granted under this License. + . + The above rights may be exercised in all media and formats whether now + known or hereafter devised. The above rights include the right to make + such modifications as are technically necessary to exercise the rights + in other media and formats. Subject to Section 8(f), all rights not + expressly granted by Licensor are hereby reserved. + . + 4. Restrictions. The license granted in Section 3 above is expressly + made subject to and limited by the following restrictions: + . + 1. You may Distribute or Publicly Perform the Work only under the terms + of this License. You must include a copy of, or the Uniform Resource + Identifier (URI) for, this License with every copy of the Work You + Distribute or Publicly Perform. You may not offer or impose any + terms on the Work that restrict the terms of this License or the + ability of the recipient of the Work to exercise the rights granted + to that recipient under the terms of the License. You may not + sublicense the Work. You must keep intact all notices that refer to + this License and to the disclaimer of warranties with every copy of + the Work You Distribute or Publicly Perform. When You Distribute or + Publicly Perform the Work, You may not impose any effective + technological measures on the Work that restrict the ability of a + recipient of the Work from You to exercise the rights granted to + that recipient under the terms of the License. This Section 4(a) + applies to the Work as incorporated in a Collection, but this does + not require the Collection apart from the Work itself to be made + subject to the terms of this License. If You create a Collection, + upon notice from any Licensor You must, to the extent practicable, + remove from the Collection any credit as required by Section 4(c), + as requested. If You create an Adaptation, upon notice from any + Licensor You must, to the extent practicable, remove from the + Adaptation any credit as required by Section 4(c), as requested. + 2. You may Distribute or Publicly Perform an Adaptation only under the + terms of: (i) this License; (ii) a later version of this License + with the same License Elements as this License; (iii) a Creative + Commons jurisdiction license (either this or a later license + version) that contains the same License Elements as this License + (e.g., Attribution-ShareAlike 3.0 US)); (iv) a Creative Commons + Compatible License. If you license the Adaptation under one of the + licenses mentioned in (iv), you must comply with the terms of that + license. If you license the Adaptation under the terms of any of the + licenses mentioned in (i), (ii) or (iii) (the "Applicable License"), + you must comply with the terms of the Applicable License generally + and the following provisions: (I) You must include a copy of, or the + URI for, the Applicable License with every copy of each Adaptation + You Distribute or Publicly Perform; (II) You may not offer or impose + any terms on the Adaptation that restrict the terms of the + Applicable License or the ability of the recipient of the Adaptation + to exercise the rights granted to that recipient under the terms of + the Applicable License; (III) You must keep intact all notices that + refer to the Applicable License and to the disclaimer of warranties + with every copy of the Work as included in the Adaptation You + Distribute or Publicly Perform; (IV) when You Distribute or Publicly + Perform the Adaptation, You may not impose any effective + technological measures on the Adaptation that restrict the ability + of a recipient of the Adaptation from You to exercise the rights + granted to that recipient under the terms of the Applicable License. + This Section 4(b) applies to the Adaptation as incorporated in a + Collection, but this does not require the Collection apart from the + Adaptation itself to be made subject to the terms of the Applicable + License. + 3. If You Distribute, or Publicly Perform the Work or any Adaptations + or Collections, You must, unless a request has been made pursuant to + Section 4(a), keep intact all copyright notices for the Work and + provide, reasonable to the medium or means You are utilizing: (i) + the name of the Original Author (or pseudonym, if applicable) if + supplied, and/or if the Original Author and/or Licensor designate + another party or parties (e.g., a sponsor institute, publishing + entity, journal) for attribution ("Attribution Parties") in + Licensor's copyright notice, terms of service or by other reasonable + means, the name of such party or parties; (ii) the title of the Work + if supplied; (iii) to the extent reasonably practicable, the URI, if + any, that Licensor specifies to be associated with the Work, unless + such URI does not refer to the copyright notice or licensing + information for the Work; and (iv) , consistent with Ssection 3(b), + in the case of an Adaptation, a credit identifying the use of the + Work in the Adaptation (e.g., "French translation of the Work by + Original Author," or "Screenplay based on original Work by Original + Author"). The credit required by this Section 4(c) may be + implemented in any reasonable manner; provided, however, that in the + case of a Adaptation or Collection, at a minimum such credit will + appear, if a credit for all contributing authors of the Adaptation + or Collection appears, then as part of these credits and in a manner + at least as prominent as the credits for the other contributing + authors. For the avoidance of doubt, You may only use the credit + required by this Section for the purpose of attribution in the + manner set out above and, by exercising Your rights under this + License, You may not implicitly or explicitly assert or imply any + connection with, sponsorship or endorsement by the Original Author, + Licensor and/or Attribution Parties, as appropriate, of You or Your + use of the Work, without the separate, express prior written + permission of the Original Author, Licensor and/or Attribution + Parties. + 4. Except as otherwise agreed in writing by the Licensor or as may be + otherwise permitted by applicable law, if You Reproduce, Distribute + or Publicly Perform the Work either by itself or as part of any + Adaptations or Collections, You must not distort, mutilate, modify + or take other derogatory action in relation to the Work which would + be prejudicial to the Original Author's honor or reputation. + Licensor agrees that in those jurisdictions (e.g. Japan), in which + any exercise of the right granted in Section 3(b) of this License + (the right to make Adaptations) would be deemed to be a distortion, + mutilation, modification or other derogatory action prejudicial to + the Original Author's honor and reputation, the Licensor will waive + or not assert, as appropriate, this Section, to the fullest extent + permitted by the applicable national law, to enable You to + reasonably exercise Your right under Section 3(b) of this License + (right to make Adaptations) but not otherwise. + . + 5. Representations, Warranties and Disclaimer + . + UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR + OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY + KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, + INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, + FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF + LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, + WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE + EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. + . + 6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE + LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR + ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES + ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS + BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + . + 7. Termination + . + 1. This License and the rights granted hereunder will terminate + automatically upon any breach by You of the terms of this License. + Individuals or entities who have received Adaptations or Collections + from You under this License, however, will not have their licenses + terminated provided such individuals or entities remain in full + compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will + survive any termination of this License. + 2. Subject to the above terms and conditions, the license granted here + is perpetual (for the duration of the applicable copyright in the + Work). Notwithstanding the above, Licensor reserves the right to + release the Work under different license terms or to stop + distributing the Work at any time; provided, however that any such + election will not serve to withdraw this License (or any other + license that has been, or is required to be, granted under the terms + of this License), and this License will continue in full force and + effect unless terminated as stated above. + . + 8. Miscellaneous + . + 1. Each time You Distribute or Publicly Perform the Work or a + Collection, the Licensor offers to the recipient a license to the + Work on the same terms and conditions as the license granted to You + under this License. + 2. Each time You Distribute or Publicly Perform an Adaptation, Licensor + offers to the recipient a license to the original Work on the same + terms and conditions as the license granted to You under this + License. + 3. If any provision of this License is invalid or unenforceable under + applicable law, it shall not affect the validity or enforceability + of the remainder of the terms of this License, and without further + action by the parties to this agreement, such provision shall be + reformed to the minimum extent necessary to make such provision + valid and enforceable. + 4. No term or provision of this License shall be deemed waived and no + breach consented to unless such waiver or consent shall be in + writing and signed by the party to be charged with such waiver or + consent. + 5. This License constitutes the entire agreement between the parties + with respect to the Work licensed here. There are no understandings, + agreements or representations with respect to the Work not specified + here. Licensor shall not be bound by any additional provisions that + may appear in any communication from You. This License may not be + modified without the mutual written agreement of the Licensor and + You. + 6. The rights granted under, and the subject matter referenced, in this + License were drafted utilizing the terminology of the Berne + Convention for the Protection of Literary and Artistic Works (as + amended on September 28, 1979), the Rome Convention of 1961, the + WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms + Treaty of 1996 and the Universal Copyright Convention (as revised on + July 24, 1971). These rights and subject matter take effect in the + relevant jurisdiction in which the License terms are sought to be + enforced according to the corresponding provisions of the + implementation of those treaty provisions in the applicable national + law. If the standard suite of rights granted under applicable + copyright law includes additional rights not granted under this + License, such additional rights are deemed to be included in the + License; this License is not intended to restrict the license of any + rights under applicable law. + . + Creative Commons Notice + . + Creative Commons is not a party to this License, and makes no warranty + whatsoever in connection with the Work. Creative Commons will not be + liable to You or any party on any legal theory for any damages + whatsoever, including without limitation any general, special, + incidental or consequential damages arising in connection to this + license. Notwithstanding the foregoing two (2) sentences, if Creative + Commons has expressly identified itself as the Licensor hereunder, it + shall have all rights and obligations of Licensor. + . + Except for the limited purpose of indicating to the public that the + Work is licensed under the CCPL, Creative Commons does not authorize + the use by either party of the trademark "Creative Commons" or any + related trademark or logo of Creative Commons without the prior + written consent of Creative Commons. Any permitted use will be in + compliance with Creative Commons' then-current trademark usage + guidelines, as may be published on its website or otherwise made + available upon request from time to time. For the avoidance of doubt, + this trademark restriction does not form part of the License. + . + Creative Commons may be contacted at http://creativecommons.org/. + + diff --git a/conf/licenses/license_texts/adwaita-icon-theme/GPL-unspecified.txt b/conf/licenses/license_texts/adwaita-icon-theme/GPL-unspecified.txt new file mode 100644 index 00000000..d0401b76 --- /dev/null +++ b/conf/licenses/license_texts/adwaita-icon-theme/GPL-unspecified.txt @@ -0,0 +1,5 @@ +This file is distributed under the terms of GNU General Public License (GPL) +Comment: + On Debian systems, the complete text of the GNU General + Public License can be found in `/usr/share/common-licenses/GPL'. + diff --git a/conf/licenses/license_texts/blt/MIT-1.txt b/conf/licenses/license_texts/blt/MIT-1.txt new file mode 100644 index 00000000..11c1e7e5 --- /dev/null +++ b/conf/licenses/license_texts/blt/MIT-1.txt @@ -0,0 +1,15 @@ +to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, provided +that the above copyright notice appear in all copies and that both that the +copyright notice and warranty disclaimer appear in supporting documentation, +and that the names of Lucent Technologies any of their entities not be used +in advertising or publicity pertaining to distribution of the software +without specific, written prior permission. + +Lucent Technologies disclaims all warranties with regard to this software, +including all implied warranties of merchantability and fitness. In no event +shall Lucent Technologies be liable for any special, indirect or +consequential damages or any damages whatsoever resulting from loss of use, +data or profits, whether in an action of contract, negligence or other +tortuous action, arising out of or in connection with the use or performance +of this software. diff --git a/conf/licenses/license_texts/blt/MIT-2.txt b/conf/licenses/license_texts/blt/MIT-2.txt new file mode 100644 index 00000000..4f964972 --- /dev/null +++ b/conf/licenses/license_texts/blt/MIT-2.txt @@ -0,0 +1,15 @@ + Permission to use, copy, modify, and distribute this software and its + documentation for any purpose and without fee is hereby granted, + provided that the above copyright notice appear in all copies and that + both that copyright notice and this permission notice appear in + supporting documentation, and that the names of Digital or MIT not be + used in advertising or publicity pertaining to distribution of the + software without specific, written prior permission. + + DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING + ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL + DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR + ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, + WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, + ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS + SOFTWARE. diff --git a/conf/licenses/license_texts/blt/MIT-3.txt b/conf/licenses/license_texts/blt/MIT-3.txt new file mode 100644 index 00000000..e693cc2f --- /dev/null +++ b/conf/licenses/license_texts/blt/MIT-3.txt @@ -0,0 +1,9 @@ + Permission to use, copy, modify, and distribute this software and its + documentation for any purpose and without fee is hereby granted, provided + that the above copyright notice appear in all copies and that both that + copyright notice and this permission notice appear in supporting + documentation, and that the name of M.I.T. not be used in advertising + or publicity pertaining to distribution of the software without specific, + written prior permission. M.I.T. makes no representations about the + suitability of this software for any purpose. It is provided "as is" + without express or implied warranty. diff --git a/conf/licenses/license_texts/blt/MIT-4.txt b/conf/licenses/license_texts/blt/MIT-4.txt new file mode 100644 index 00000000..15cae1e7 --- /dev/null +++ b/conf/licenses/license_texts/blt/MIT-4.txt @@ -0,0 +1,17 @@ +Permission to use, copy, modify, and distribute this software and +its documentation for any purpose and without fee is hereby +granted, provided that the above copyright notice appear in all +copies and that both that the copyright notice and warranty +disclaimer appear in supporting documentation, and that the names +of Lucent Technologies any of their entities not be used in +advertising or publicity pertaining to distribution of the software +without specific, written prior permission. + +Silicon Metrics disclaims all warranties with regard to this +software, including all implied warranties of merchantability and +fitness. In no event shall Lucent Technologies be liable for any +special, indirect or consequential damages or any damages +whatsoever resulting from loss of use, data or profits, whether in +an action of contract, negligence or other tortuous action, arising +out of or in connection with the use or performance of this +software. diff --git a/conf/licenses/license_texts/blt/MIT-5.txt b/conf/licenses/license_texts/blt/MIT-5.txt new file mode 100644 index 00000000..720c7104 --- /dev/null +++ b/conf/licenses/license_texts/blt/MIT-5.txt @@ -0,0 +1,16 @@ +Permission to use, copy, modify, and distribute this software +and its documentation for any purpose and without fee is hereby +granted, provided that the above copyright notice appear in all +copies and that both that the copyright notice and warranty +disclaimer appear in supporting documentation, and that the +names of AT&T Bell Laboratories any of their entities not be used +in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +AT&T disclaims all warranties with regard to this software, including +all implied warranties of merchantability and fitness. In no event +shall AT&T be liable for any special, indirect or consequential +damages or any damages whatsoever resulting from loss of use, data +or profits, whether in an action of contract, negligence or other +tortuous action, arising out of or in connection with the use or +performance of this software. diff --git a/conf/licenses/license_texts/blt/MIT-6.txt b/conf/licenses/license_texts/blt/MIT-6.txt new file mode 100644 index 00000000..18e334f8 --- /dev/null +++ b/conf/licenses/license_texts/blt/MIT-6.txt @@ -0,0 +1,16 @@ +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT +OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF +CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. diff --git a/conf/licenses/license_texts/gstreamer1.0-plugins-good/BSD.txt b/conf/licenses/license_texts/gstreamer1.0-plugins-good/BSD.txt new file mode 100644 index 00000000..5a9965be --- /dev/null +++ b/conf/licenses/license_texts/gstreamer1.0-plugins-good/BSD.txt @@ -0,0 +1 @@ +Copyright (C) 4Front Technologies 2000-2006. Released under the BSD license. diff --git a/conf/licenses/license_texts/libc6/CE-Chew-Acknowledge.txt b/conf/licenses/license_texts/libc6/CE-Chew-Acknowledge.txt new file mode 100644 index 00000000..e7b21b1f --- /dev/null +++ b/conf/licenses/license_texts/libc6/CE-Chew-Acknowledge.txt @@ -0,0 +1,8 @@ +* Part of stdio-common/tst-printf.c is copyright C E Chew: + + (C) Copyright C E Chew + + Feel free to copy, use and distribute this software provided: + + 1. you do not pretend that you wrote it + 2. you leave this copyright notice intact. diff --git a/conf/licenses/license_texts/libc6/Henry-Spencer-Regex.txt b/conf/licenses/license_texts/libc6/Henry-Spencer-Regex.txt new file mode 100644 index 00000000..92bc828c --- /dev/null +++ b/conf/licenses/license_texts/libc6/Henry-Spencer-Regex.txt @@ -0,0 +1,22 @@ +* The posix/rxspencer tests are copyright Henry Spencer: + + Copyright 1992, 1993, 1994, 1997 Henry Spencer. All rights reserved. + This software is not subject to any license of the American Telephone + and Telegraph Company or of the Regents of the University of California. + + Permission is granted to anyone to use this software for any purpose on + any computer system, and to alter it and redistribute it, subject + to the following restrictions: + + 1. The author is not responsible for the consequences of use of this + software, no matter how awful, even if they arise from flaws in it. + + 2. The origin of this software must not be misrepresented, either by + explicit claim or by omission. Since few users ever read sources, + credits must appear in the documentation. + + 3. Altered versions must be plainly marked as such, and must not be + misrepresented as being the original software. Since few users + ever read sources, credits must appear in the documentation. + + 4. This notice may not be removed or altered. diff --git a/conf/licenses/license_texts/libc6/ISOC-RFC3492bis.txt b/conf/licenses/license_texts/libc6/ISOC-RFC3492bis.txt new file mode 100644 index 00000000..e0f0b09c --- /dev/null +++ b/conf/licenses/license_texts/libc6/ISOC-RFC3492bis.txt @@ -0,0 +1,40 @@ +* The following applies to portions of libidn/punycode.c and + libidn/punycode.h: + + This file is derived from RFC 3492bis written by Adam M. Costello. + + Disclaimer and license: Regarding this entire document or any + portion of it (including the pseudocode and C code), the author + makes no guarantees and is not responsible for any damage resulting + from its use. The author grants irrevocable permission to anyone + to use, modify, and distribute it in any way that does not diminish + the rights of anyone else to use, modify, and distribute it, + provided that redistributed derivative works do not contain + misleading author or version information. Derivative works need + not be licensed under similar terms. + + Copyright (C) The Internet Society (2003). All Rights Reserved. + + This document and translations of it may be copied and furnished to + others, and derivative works that comment on or otherwise explain it + or assist in its implementation may be prepared, copied, published + and distributed, in whole or in part, without restriction of any + kind, provided that the above copyright notice and this paragraph are + included on all such copies and derivative works. However, this + document itself may not be modified in any way, such as by removing + the copyright notice or references to the Internet Society or other + Internet organizations, except as needed for the purpose of + developing Internet standards in which case the procedures for + copyrights defined in the Internet Standards process must be + followed, or as required to translate it into languages other than + English. + + The limited permissions granted above are perpetual and will not be + revoked by the Internet Society or its successors or assigns. + + This document and the information contained herein is provided on an + "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING + TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION + HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF + MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. diff --git a/conf/licenses/license_texts/libc6/InnerNet-2.00.txt b/conf/licenses/license_texts/libc6/InnerNet-2.00.txt new file mode 100644 index 00000000..ab239706 --- /dev/null +++ b/conf/licenses/license_texts/libc6/InnerNet-2.00.txt @@ -0,0 +1,37 @@ +* The files inet/getnameinfo.c and sysdeps/posix/getaddrinfo.c are copyright + (C) by Craig Metz and are distributed under the following license: + + /* The Inner Net License, Version 2.00 + + The author(s) grant permission for redistribution and use in source and + binary forms, with or without modification, of the software and documentation + provided that the following conditions are met: + + 0. If you receive a version of the software that is specifically labelled + as not being for redistribution (check the version message and/or README), + you are not permitted to redistribute that version of the software in any + way or form. + 1. All terms of the all other applicable copyrights and licenses must be + followed. + 2. Redistributions of source code must retain the authors' copyright + notice(s), this list of conditions, and the following disclaimer. + 3. Redistributions in binary form must reproduce the authors' copyright + notice(s), this list of conditions, and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 4. [The copyright holder has authorized the removal of this clause.] + 5. Neither the name(s) of the author(s) nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY ITS AUTHORS AND CONTRIBUTORS ``AS IS'' AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + If these license terms cause you a real problem, contact the author. */ diff --git a/conf/licenses/license_texts/libcairo2/DavidReveman.txt b/conf/licenses/license_texts/libcairo2/DavidReveman.txt new file mode 100644 index 00000000..f4d6cb46 --- /dev/null +++ b/conf/licenses/license_texts/libcairo2/DavidReveman.txt @@ -0,0 +1,21 @@ +Copyright 2004 David Reveman + Permission to use, copy, modify, distribute, and sell this software + and its documentation for any purpose is hereby granted without + fee, provided that the above copyright notice appear in all copies + and that both that copyright notice and this permission notice + appear in supporting documentation, and that the name of David + Reveman not be used in advertising or publicity pertaining to + distribution of the software without specific, written prior + permission. David Reveman makes no representations about the + suitability of this software for any purpose. It is provided "as + is" without express or implied warranty. + + DAVID REVEMAN DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS + SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND + FITNESS, IN NO EVENT SHALL DAVID REVEMAN BE LIABLE FOR ANY SPECIAL, + INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER + RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION + OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR + IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + Author: David Reveman diff --git a/conf/licenses/license_texts/libflite1/Henry-Spencer-Regexp.txt b/conf/licenses/license_texts/libflite1/Henry-Spencer-Regexp.txt new file mode 100644 index 00000000..217cb9ef --- /dev/null +++ b/conf/licenses/license_texts/libflite1/Henry-Spencer-Regexp.txt @@ -0,0 +1,18 @@ +Author: Henry Spencer + +Copyright (c) 1986 by University of Toronto. + +License: + Permission is granted to anyone to use this software for any + purpose on any computer system, and to redistribute it freely, + subject to the following restrictions: + + 1. The author is not responsible for the consequences of use of + this software, no matter how awful, even if they arise + from defects in it. + + 2. The origin of this software must not be misrepresented, either + by explicit claim or by omission. + + 3. Altered versions must be plainly marked as such, and must not + be misrepresented as being the original software. diff --git a/conf/licenses/license_texts/libflite1/doc-cmu.txt b/conf/licenses/license_texts/libflite1/doc-cmu.txt new file mode 100644 index 00000000..838b35b4 --- /dev/null +++ b/conf/licenses/license_texts/libflite1/doc-cmu.txt @@ -0,0 +1,25 @@ + Author: Carnegie Mellon University + +Copyright (c) 2001-2005 Carnegie Mellon University + +License: + Permission is granted to make and distribute verbatim copies of + this manual provided the copyright notice and this permission notice + are preserved on all copies. + + Permission is granted to process this file through TeX, or otherwise and + print the results, provided the printed document carries copying + permission notice identical to this one except for the removal of this + paragraph (this paragraph not being relevant to the printed manual). + + Permission is granted to copy and distribute modified versions of this + manual under the conditions for verbatim copying, provided that the entire + resulting derived work is distributed under the terms of a permission + notice identical to this one. + + Permission is granted to copy and distribute translations of this manual + into another language, under the above conditions for modified versions, + except that this permission notice may be stated in a translation approved + by the authors. + m is hereby granted, free of charge, to use and distribute + diff --git a/conf/licenses/license_texts/libflite1/public-domain.txt b/conf/licenses/license_texts/libflite1/public-domain.txt new file mode 100644 index 00000000..bbe263a6 --- /dev/null +++ b/conf/licenses/license_texts/libflite1/public-domain.txt @@ -0,0 +1,6 @@ +mkinstalldirs +The first two chapters of Alice in Wonderland + +Author: Noah Friedman + Gutenburg project (for Alice in Wonderland) + diff --git a/conf/licenses/license_texts/libgcrypt20/OCB.txt b/conf/licenses/license_texts/libgcrypt20/OCB.txt new file mode 100644 index 00000000..60720f5f --- /dev/null +++ b/conf/licenses/license_texts/libgcrypt20/OCB.txt @@ -0,0 +1,88 @@ +OCB is covered by several patents but may be used freely by most +software. See http://web.cs.ucdavis.edu/~rogaway/ocb/license.htm . +In particular license 1 is suitable for Libgcrypt: See +http://web.cs.ucdavis.edu/~rogaway/ocb/license1.pdf for the full +license document; it basically says: + + License 1 — License for Open-Source Software Implementations of OCB + (Jan 9, 2013) + + Under this license, you are authorized to make, use, and + distribute open-source software implementations of OCB. This + license terminates for you if you sue someone over their + open-source software implementation of OCB claiming that you have + a patent covering their implementation. + + + + License for Open Source Software Implementations of OCB + January 9, 2013 + + 1 Definitions + + 1.1 “Licensor” means Phillip Rogaway. + + 1.2 “Licensed Patents” means any patent that claims priority to United + States Patent Application No. 09/918,615 entitled “Method and Apparatus + for Facilitating Efficient Authenticated Encryption,” and any utility, + divisional, provisional, continuation, continuations-in-part, reexamination, + reissue, or foreign counterpart patents that may issue with respect to the + aforesaid patent application. This includes, but is not limited to, United + States Patent No. 7,046,802; United States Patent No. 7,200,227; United + States Patent No. 7,949,129; United States Patent No. 8,321,675 ; and any + patent that issues out of United States Patent Application No. 13/669,114. + + 1.3 “Use” means any practice of any invention claimed in the Licensed Patents. + + 1.4 “Software Implementation” means any practice of any invention + claimed in the Licensed Patents that takes the form of software executing on + a user-programmable, general-purpose computer or that takes the form of a + computer-readable medium storing such software. Software Implementation does + not include, for example, application-specific integrated circuits (ASICs), + field-programmable gate arrays (FPGAs), embedded systems, or IP cores. + + 1.5 “Open Source Software” means software whose source code is published + and made available for inspection and use by anyone because either (a) the + source code is subject to a license that permits recipients to copy, modify, + and distribute the source code without payment of fees or royalties, or + (b) the source code is in the public domain, including code released for + public use through a CC0 waiver. All licenses certified by the Open Source + Initiative at opensource.org as of January 9, 2013 and all Creative Commons + licenses identified on the creativecommons.org website as of January 9, + 2013, including the Public License Fallback of the CC0 waiver, satisfy these + requirements for the purposes of this license. + + 1.6 “Open Source Software Implementation” means a Software + Implementation in which the software implicating the Licensed Patents is + Open Source Software. Open Source Software Implementation does not include + any Software Implementation in which the software implicating the Licensed + Patents is combined, so as to form a larger program, with software that is + not Open Source Software. + + 2 License Grant + + 2.1 License. Subject to your compliance with the term s of this license, + including the restriction set forth in Section 2.2, Licensor hereby + grants to you a perpetual, worldwide, non-exclusive, non-transferable, + non-sublicenseable, no-charge, royalty-free, irrevocable license to practice + any invention claimed in the Licensed Patents in any Open Source Software + Implementation. + + 2.2 Restriction. If you or your affiliates institute patent litigation + (including, but not limited to, a cross-claim or counterclaim in a lawsuit) + against any entity alleging that any Use authorized by this license + infringes another patent, then any rights granted to you under this license + automatically terminate as of the date such litigation is filed. + + 3 Disclaimer + YOUR USE OF THE LICENSED PATENTS IS AT YOUR OWN RISK AND UNLESS REQUIRED + BY APPLICABLE LAW, LICENSOR MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY + KIND CONCERNING THE LICENSED PATENTS OR ANY PRODUCT EMBODYING ANY LICENSED + PATENT, EXPRESS OR IMPLIED, STATUT ORY OR OTHERWISE, INCLUDING, WITHOUT + LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR + PURPOSE, OR NONINFRINGEMENT. IN NO EVENT WILL LICENSOR BE LIABLE FOR ANY + CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, + ARISING FROM OR RELATED TO ANY USE OF THE LICENSED PATENTS, INCLUDING, + WITHOUT LIMITATION, DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, PUNITIVE + OR SPECIAL DAMAGES, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF + SUCH DAMAGES PRIOR TO SUCH AN OCCURRENCE. diff --git a/conf/licenses/license_texts/libgcrypt20/public-domain.txt b/conf/licenses/license_texts/libgcrypt20/public-domain.txt new file mode 100644 index 00000000..6aa4a0c6 --- /dev/null +++ b/conf/licenses/license_texts/libgcrypt20/public-domain.txt @@ -0,0 +1,3 @@ +Author: Marc Bevand +Licence: I hereby disclaim the copyright on this code and place it +in the public domain. diff --git a/conf/licenses/license_texts/libgnutls30/CRYPTOGAMS.txt b/conf/licenses/license_texts/libgnutls30/CRYPTOGAMS.txt new file mode 100644 index 00000000..0d412adb --- /dev/null +++ b/conf/licenses/license_texts/libgnutls30/CRYPTOGAMS.txt @@ -0,0 +1,36 @@ +# Copyright (c) 2011-2016, Andy Polyakov by +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# * Redistributions of source code must retain copyright notices, +# this list of conditions and the following disclaimer. +# +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following +# disclaimer in the documentation and/or other materials +# provided with the distribution. +# +# * Neither the name of the Andy Polyakov nor the names of its +# copyright holder and contributors may be used to endorse or +# promote products derived from this software without specific +# prior written permission. +# +# ALTERNATIVELY, provided that this notice is retained in full, this +# product may be distributed under the terms of the GNU General Public +# License (GPL), in which case the provisions of the GPL apply INSTEAD OF +# those given above. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/conf/licenses/license_texts/libgnutls30/public-domain.txt b/conf/licenses/license_texts/libgnutls30/public-domain.txt new file mode 100644 index 00000000..d5edeb5d --- /dev/null +++ b/conf/licenses/license_texts/libgnutls30/public-domain.txt @@ -0,0 +1,6 @@ +Upstream Authors: Mike Hamburg (Stanford University) + +Copyright: + * Mike Hamburg (Stanford University), 2009. +License: + Public domain. diff --git a/conf/licenses/license_texts/libgssapi-krb5-2/OpenVision.txt b/conf/licenses/license_texts/libgssapi-krb5-2/OpenVision.txt new file mode 100644 index 00000000..6c1fe123 --- /dev/null +++ b/conf/licenses/license_texts/libgssapi-krb5-2/OpenVision.txt @@ -0,0 +1,38 @@ +The following copyright and permission notice applies to the +OpenVision Kerberos Administration system located in "kadmin/create", +"kadmin/dbutil", "kadmin/passwd", "kadmin/server", "lib/kadm5", and +portions of "lib/rpc": + + Copyright, OpenVision Technologies, Inc., 1993-1996, All Rights + Reserved + + WARNING: Retrieving the OpenVision Kerberos Administration system + source code, as described below, indicates your acceptance of the + following terms. If you do not agree to the following terms, do + not retrieve the OpenVision Kerberos administration system. + + You may freely use and distribute the Source Code and Object Code + compiled from it, with or without modification, but this Source + Code is provided to you "AS IS" EXCLUSIVE OF ANY WARRANTY, + INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY OR + FITNESS FOR A PARTICULAR PURPOSE, OR ANY OTHER WARRANTY, WHETHER + EXPRESS OR IMPLIED. IN NO EVENT WILL OPENVISION HAVE ANY LIABILITY + FOR ANY LOST PROFITS, LOSS OF DATA OR COSTS OF PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES, OR FOR ANY SPECIAL, INDIRECT, OR + CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, INCLUDING, + WITHOUT LIMITATION, THOSE RESULTING FROM THE USE OF THE SOURCE + CODE, OR THE FAILURE OF THE SOURCE CODE TO PERFORM, OR FOR ANY + OTHER REASON. + + OpenVision retains all copyrights in the donated Source Code. + OpenVision also retains copyright to derivative works of the Source + Code, whether created by OpenVision or by a third party. The + OpenVision copyright notice must be preserved if derivative works + are made based on the donated Source Code. + + OpenVision Technologies, Inc. has donated this Kerberos + Administration system to MIT for inclusion in the standard Kerberos + 5 distribution. This donation underscores our commitment to + continuing Kerberos technology development and our gratitude for + the valuable work which has been performed by MIT and the Kerberos + community. diff --git a/conf/licenses/license_texts/libgssapi-krb5-2/PKINIT.txt b/conf/licenses/license_texts/libgssapi-krb5-2/PKINIT.txt new file mode 100644 index 00000000..b90404ab --- /dev/null +++ b/conf/licenses/license_texts/libgssapi-krb5-2/PKINIT.txt @@ -0,0 +1,24 @@ +COPYRIGHT (C) 2006-2007 +THE REGENTS OF THE UNIVERSITY OF MICHIGAN +ALL RIGHTS RESERVED + +Permission is granted to use, copy, create derivative works and +redistribute this software and such derivative works for any +purpose, so long as the name of The University of Michigan is not +used in any advertising or publicity pertaining to the use of +distribution of this software without specific, written prior +authorization. If the above copyright notice or any other +identification of the University of Michigan is included in any +copy of any portion of this software, then the disclaimer below +must also be included. + +THIS SOFTWARE IS PROVIDED AS IS, WITHOUT REPRESENTATION FROM THE +UNIVERSITY OF MICHIGAN AS TO ITS FITNESS FOR ANY PURPOSE, AND +WITHOUT WARRANTY BY THE UNIVERSITY OF MICHIGAN OF ANY KIND, EITHER +EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +THE REGENTS OF THE UNIVERSITY OF MICHIGAN SHALL NOT BE LIABLE FOR +ANY DAMAGES, INCLUDING SPECIAL, INDIRECT, INCIDENTAL, OR +CONSEQUENTIAL DAMAGES, WITH RESPECT TO ANY CLAIM ARISING OUT OF OR +IN CONNECTION WITH THE USE OF THE SOFTWARE, EVEN IF IT HAS BEEN OR +IS HEREAFTER ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. diff --git a/conf/licenses/license_texts/libgssapi-krb5-2/RSA-MD4.txt b/conf/licenses/license_texts/libgssapi-krb5-2/RSA-MD4.txt new file mode 100644 index 00000000..b98cb3a7 --- /dev/null +++ b/conf/licenses/license_texts/libgssapi-krb5-2/RSA-MD4.txt @@ -0,0 +1,19 @@ +Copyright (C) 1990, RSA Data Security, Inc. All rights reserved. + +License to copy and use this software is granted provided that it +is identified as the "RSA Data Security, Inc. MD4 Message Digest +Algorithm" in all material mentioning or referencing this software +or this function. + +License is also granted to make and use derivative works provided +that such works are identified as "derived from the RSA Data +Security, Inc. MD4 Message Digest Algorithm" in all material +mentioning or referencing the derived work. + +RSA Data Security, Inc. makes no representations concerning either +the merchantability of this software or the suitability of this +software for any particular purpose. It is provided "as is" +without express or implied warranty of any kind. + +These notices must be retained in any copies of any part of this +documentation and/or software. diff --git a/conf/licenses/license_texts/libgssapi-krb5-2/RSA-MD5.txt b/conf/licenses/license_texts/libgssapi-krb5-2/RSA-MD5.txt new file mode 100644 index 00000000..616b5d0b --- /dev/null +++ b/conf/licenses/license_texts/libgssapi-krb5-2/RSA-MD5.txt @@ -0,0 +1,19 @@ +Copyright (C) 1990, RSA Data Security, Inc. All rights reserved. + +License to copy and use this software is granted provided that it +is identified as the "RSA Data Security, Inc. MD5 Message- Digest +Algorithm" in all material mentioning or referencing this software +or this function. + +License is also granted to make and use derivative works provided +that such works are identified as "derived from the RSA Data +Security, Inc. MD5 Message-Digest Algorithm" in all material +mentioning or referencing the derived work. + +RSA Data Security, Inc. makes no representations concerning either +the merchantability of this software or the suitability of this +software for any particular purpose. It is provided "as is" +without express or implied warranty of any kind. + +These notices must be retained in any copies of any part of this +documentation and/or software. diff --git a/conf/licenses/license_texts/libgtk2.0-0/Sun-Government-Clause.txt b/conf/licenses/license_texts/libgtk2.0-0/Sun-Government-Clause.txt new file mode 100644 index 00000000..45c6959c --- /dev/null +++ b/conf/licenses/license_texts/libgtk2.0-0/Sun-Government-Clause.txt @@ -0,0 +1,58 @@ +This software is copyrighted by the Regents of the University of +California, Sun Microsystems, Inc., and other parties. The +following terms apply to all files associated with the software +unless explicitly disclaimed in individual files. +. +The authors hereby grant permission to use, copy, modify, +distribute, and license this software and its documentation for any +purpose, provided that existing copyright notices are retained in +all copies and that this notice is included verbatim in any +distributions. No written agreement, license, or royalty fee is +required for any of the authorized uses. Modifications to this +software may be copyrighted by their authors and need not follow +the licensing terms described here, provided that the new terms are +clearly indicated on the first page of each file where they apply. +. +IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY +PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, +OR ANY DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +. +THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND +NON-INFRINGEMENT. THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, +AND THE AUTHORS AND DISTRIBUTORS HAVE NO OBLIGATION TO PROVIDE +MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +. +GOVERNMENT USE: If you are acquiring this software on behalf of the +U.S. government, the Government shall have only "Restricted Rights" +in the software and related documentation as defined in the Federal +Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you +are acquiring the software on behalf of the Department of Defense, +the software shall be classified as "Commercial Computer Software" +and the Government shall have only "Restricted Rights" as defined +in Clause 252.227-7013 (c) (1) of DFARs. Notwithstanding the +foregoing, the authors grant the U.S. Government and others acting +in its behalf permission to use and distribute the software in +accordance with the terms specified in this license. +. +or +. +This library is free software; you can redistribute it and/or modify it +under the terms of the GNU Lesser General Public License as published by the +Free Software Foundation; either version 2 of the License, or (at your +option) any later version. +. +This library is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License +for more details. +. +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the +Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +02110-1301 USA. +. +See /usr/share/common-licenses/LGPL-2 on your debian system. diff --git a/conf/licenses/license_texts/libgtk2.0-0/Wintab-Free-Use.txt b/conf/licenses/license_texts/libgtk2.0-0/Wintab-Free-Use.txt new file mode 100644 index 00000000..6c03ad2a --- /dev/null +++ b/conf/licenses/license_texts/libgtk2.0-0/Wintab-Free-Use.txt @@ -0,0 +1,2 @@ +The text and information contained in this file may be freely used, +copied, or distributed without compensation or licensing restrictions. diff --git a/conf/licenses/license_texts/libksba8/ISOC-Standard-Notice.txt b/conf/licenses/license_texts/libksba8/ISOC-Standard-Notice.txt new file mode 100644 index 00000000..d56e7c28 --- /dev/null +++ b/conf/licenses/license_texts/libksba8/ISOC-Standard-Notice.txt @@ -0,0 +1,28 @@ +The ASN.1 definition for CMS is based on a specification published +under the following terms (see src/cms.asn): + + | Copyright (C) The Internet Society (1999). All Rights Reserved. + | + | This document and translations of it may be copied and furnished to + | others, and derivative works that comment on or otherwise explain it + | or assist in its implementation may be prepared, copied, published + | and distributed, in whole or in part, without restriction of any + | kind, provided that the above copyright notice and this paragraph are + | included on all such copies and derivative works. However, this + | document itself may not be modified in any way, such as by removing + | the copyright notice or references to the Internet Society or other + | Internet organizations, except as needed for the purpose of + | developing Internet standards in which case the procedures for + | copyrights defined in the Internet Standards process must be + | followed, or as required to translate it into languages other than + | English. + | + | The limited permissions granted above are perpetual and will not be + | revoked by the Internet Society or its successors or assigns. + | + | This document and the information contained herein is provided on an + | "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING + | TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING + | BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION + | HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF + | MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. diff --git a/conf/licenses/license_texts/liblrdf0/public-domain.txt b/conf/licenses/license_texts/liblrdf0/public-domain.txt new file mode 100644 index 00000000..3c78846e --- /dev/null +++ b/conf/licenses/license_texts/liblrdf0/public-domain.txt @@ -0,0 +1,8 @@ +No copyright is claimed, and the software is hereby placed in the +public domain. In case this attempt to disclaim copyright and place the +software in the public domain is deemed null and void, then the +software is Copyright (c) 2001 Alexander Peslyak and it is hereby +released to the general public under the following terms: +. +Redistribution and use in source and binary forms, with or without +modification, are permitted. diff --git a/conf/licenses/license_texts/libmjpegutils-2.1-0/MSSG-public-domain.txt b/conf/licenses/license_texts/libmjpegutils-2.1-0/MSSG-public-domain.txt new file mode 100644 index 00000000..77d2206c --- /dev/null +++ b/conf/licenses/license_texts/libmjpegutils-2.1-0/MSSG-public-domain.txt @@ -0,0 +1,21 @@ +* Disclaimer of Warranty +* +* These software programs are available to the user without any license fee or +* royalty on an "as is" basis. The MPEG Software Simulation Group disclaims +* any and all warranties, whether express, implied, or statuary, including any +* implied warranties or merchantability or of fitness for a particular +* purpose. In no event shall the copyright-holder be liable for any +* incidental, punitive, or consequential damages of any kind whatsoever +* arising from the use of these programs. +* +* This disclaimer of warranty extends to the user of these programs and user's +* customers, employees, agents, transferees, successors, and assigns. +* +* The MPEG Software Simulation Group does not represent or warrant that the +* programs furnished hereunder are free of infringement of any third-party +* patents. +* +* Commercial implementations of MPEG-1 and MPEG-2 video, including shareware, +* are subject to royalty fees to patent holders. Many of these patents are +* general enough such that they are unavoidable regardless of implementation +* design. diff --git a/conf/licenses/license_texts/libtcl8.6/TCL-Regents-Government-Clause.txt b/conf/licenses/license_texts/libtcl8.6/TCL-Regents-Government-Clause.txt new file mode 100644 index 00000000..4c0ba698 --- /dev/null +++ b/conf/licenses/license_texts/libtcl8.6/TCL-Regents-Government-Clause.txt @@ -0,0 +1,41 @@ +Copyright: + +This software is copyrighted by the Regents of the University of +California, Sun Microsystems, Inc., Scriptics Corporation, +and other parties. The following terms apply to all files associated +with the software unless explicitly disclaimed in individual files. + +The authors hereby grant permission to use, copy, modify, distribute, +and license this software and its documentation for any purpose, provided +that existing copyright notices are retained in all copies and that this +notice is included verbatim in any distributions. No written agreement, +license, or royalty fee is required for any of the authorized uses. +Modifications to this software may be copyrighted by their authors +and need not follow the licensing terms described here, provided that +the new terms are clearly indicated on the first page of each file where +they apply. + +IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY +FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY +DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE +IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE +NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR +MODIFICATIONS. + +GOVERNMENT USE: If you are acquiring this software on behalf of the +U.S. government, the Government shall have only "Restricted Rights" +in the software and related documentation as defined in the Federal +Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you +are acquiring the software on behalf of the Department of Defense, the +software shall be classified as "Commercial Computer Software" and the +Government shall have only "Restricted Rights" as defined in Clause +252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the +authors grant the U.S. Government and others acting in its behalf +permission to use and distribute the software in accordance with the +terms specified in this license. diff --git a/conf/licenses/license_texts/libtk8.6/TK-Regents-Government-Clause.txt b/conf/licenses/license_texts/libtk8.6/TK-Regents-Government-Clause.txt new file mode 100644 index 00000000..b1edc4f8 --- /dev/null +++ b/conf/licenses/license_texts/libtk8.6/TK-Regents-Government-Clause.txt @@ -0,0 +1,42 @@ +Copyright: + +This software is copyrighted by the Regents of the University of +California, Sun Microsystems, Inc., and other parties. The following +terms apply to all files associated with the software unless explicitly +disclaimed in individual files. + +The authors hereby grant permission to use, copy, modify, distribute, +and license this software and its documentation for any purpose, provided +that existing copyright notices are retained in all copies and that this +notice is included verbatim in any distributions. No written agreement, +license, or royalty fee is required for any of the authorized uses. +Modifications to this software may be copyrighted by their authors +and need not follow the licensing terms described here, provided that +the new terms are clearly indicated on the first page of each file where +they apply. + +IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY +FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY +DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE +IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE +NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR +MODIFICATIONS. + +GOVERNMENT USE: If you are acquiring this software on behalf of the +U.S. government, the Government shall have only "Restricted Rights" +in the software and related documentation as defined in the Federal +Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you +are acquiring the software on behalf of the Department of Defense, the +software shall be classified as "Commercial Computer Software" and the +Government shall have only "Restricted Rights" as defined in Clause +252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the +authors grant the U.S. Government and others acting in its behalf +permission to use and distribute the software in accordance with the +terms specified in this license. + diff --git a/conf/licenses/license_texts/libx11-6/Tektronix.txt b/conf/licenses/license_texts/libx11-6/Tektronix.txt new file mode 100644 index 00000000..29d3a25d --- /dev/null +++ b/conf/licenses/license_texts/libx11-6/Tektronix.txt @@ -0,0 +1,34 @@ +Code and supporting documentation (c) Copyright 1990 1991 Tektronix, Inc. +All Rights Reserved + +This file is a component of an X Window System-specific implementation +of Xcms based on the TekColor Color Management System. TekColor is a +trademark of Tektronix, Inc. The term "TekHVC" designates a particular +color space that is the subject of U.S. Patent No. 4,985,853 (equivalent +foreign patents pending). Permission is hereby granted to use, copy, +modify, sell, and otherwise distribute this software and its +documentation for any purpose and without fee, provided that: + +1. This copyright, permission, and disclaimer notice is reproduced in + all copies of this software and any modification thereof and in + supporting documentation; +2. Any color-handling application which displays TekHVC color + cooordinates identifies these as TekHVC color coordinates in any + interface that displays these coordinates and in any associated + documentation; +3. The term "TekHVC" is always used, and is only used, in association + with the mathematical derivations of the TekHVC Color Space, + including those provided in this file and any equivalent pathways and + mathematical derivations, regardless of digital (e.g., floating point + or integer) representation. + +Tektronix makes no representation about the suitability of this software +for any purpose. It is provided "as is" and with all faults. + +TEKTRONIX DISCLAIMS ALL WARRANTIES APPLICABLE TO THIS SOFTWARE, +INCLUDING THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE. IN NO EVENT SHALL TEKTRONIX BE LIABLE FOR ANY +SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER +RESULTING FROM LOSS OF USE, DATA, OR PROFITS, WHETHER IN AN ACTION OF +CONTRACT, NEGLIGENCE, OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR THE PERFORMANCE OF THIS SOFTWARE. diff --git a/conf/licenses/license_texts/libxinerama1/X11-no-permit-persons.txt b/conf/licenses/license_texts/libxinerama1/X11-no-permit-persons.txt new file mode 100644 index 00000000..504b2eb7 --- /dev/null +++ b/conf/licenses/license_texts/libxinerama1/X11-no-permit-persons.txt @@ -0,0 +1,23 @@ +Copyright (c) 1991, 1997 Digital Equipment Corporation, Maynard, Massachusetts. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY CLAIM, DAMAGES, INCLUDING, +BUT NOT LIMITED TO CONSEQUENTIAL OR INCIDENTAL DAMAGES, OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of Digital Equipment Corporation +shall not be used in advertising or otherwise to promote the sale, use or other +dealings in this Software without prior written authorization from Digital +Equipment Corporation. diff --git a/conf/licenses/license_texts/libzbar0/zbar-bsd-style.txt b/conf/licenses/license_texts/libzbar0/zbar-bsd-style.txt new file mode 100644 index 00000000..58b38153 --- /dev/null +++ b/conf/licenses/license_texts/libzbar0/zbar-bsd-style.txt @@ -0,0 +1,2 @@ +Portions of the bit stream reader are copyright (C) The Xiph.Org Foundation + 1994-2008, and are licensed under a BSD-style license. diff --git a/conf/licenses/license_texts/libzbar0/zbar-public-domain.txt b/conf/licenses/license_texts/libzbar0/zbar-public-domain.txt new file mode 100644 index 00000000..14127a1f --- /dev/null +++ b/conf/licenses/license_texts/libzbar0/zbar-public-domain.txt @@ -0,0 +1,2 @@ +ISAAC is based on the public domain implementation by Robert J. Jenkins Jr., + and is itself public domain. diff --git a/conf/licenses/license_texts/xkb-data/Mitos.txt b/conf/licenses/license_texts/xkb-data/Mitos.txt new file mode 100644 index 00000000..3cbb0501 --- /dev/null +++ b/conf/licenses/license_texts/xkb-data/Mitos.txt @@ -0,0 +1,15 @@ +Copyright (C) 1999, 2000 by Anton Zinoviev + +This software may be used, modified, copied, distributed, and sold, +in both source and binary form provided that the above copyright +and these terms are retained. Under no circumstances is the author +responsible for the proper functioning of this software, nor does +the author assume any responsibility for damages incurred with its +use. + +Permission is granted to anyone to use, distribute and modify +this file in any way, provided that the above copyright notice +is left iTCLTCLTCLTCLTCLTCLTCLTCLntact and the author of the modification summarizes +the changes in this header. + +This file is distributed without any expressed or implied warranty. diff --git a/conf/licenses/license_texts/xwayland/X11-no-permit-persons.txt b/conf/licenses/license_texts/xwayland/X11-no-permit-persons.txt new file mode 100644 index 00000000..b0911ef4 --- /dev/null +++ b/conf/licenses/license_texts/xwayland/X11-no-permit-persons.txt @@ -0,0 +1,23 @@ +Copyright (c) 1991, 1996-1997 Digital Equipment Corporation, Maynard, Massachusetts. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY CLAIM, DAMAGES, INCLUDING, +BUT NOT LIMITED TO CONSEQUENTIAL OR INCIDENTAL DAMAGES, OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of Digital Equipment Corporation +shall not be used in advertising or otherwise to promote the sale, use or other +dealings in this Software without prior written authorization from Digital +Equipment Corporation. diff --git a/conf/licenses/licenses.yml b/conf/licenses/licenses.yml index 6d419f53..85a59ca5 100644 --- a/conf/licenses/licenses.yml +++ b/conf/licenses/licenses.yml @@ -1,972 +1,1172 @@ # format +# +# Format 1: # debian binary package name: # licenses: [ -# "LICENSE A", -# "LICENSE B" +# "LICENSE_NAME_A", +# "LICENSE_NAME_B" # ] +# +# Format 2: +# debian binary package name: +# licenses: +# - LICENSE_NAME_A +# - LICENSE_NAME_B +# +# Format 3: +# debian binary package name: +# licenses: +# license: +# - LICENSE_NAME_A +# - LICENSE_NAME_B +# - LICENSE_NAME_C +# text: +# LICENSE_NAME_C: /path/to/license text file +# +# Format 3 can put License text in a file if license is not defined SPDX License ID list +# (https://spdx.org/licenses/). +# Path to license file can be used both absolute and relative path from /conf/licenses/license_texts. +# If use relative path, text file should be in conf/licenses/license_texts in your layer. +# create_sbom.py use /conf/licenses/license_texts as base path. +# For example, adwaita-icon-theme package, we defined CC-BY-3.0-US license following line. +# CC-BY-3.0-US: adwaita-icon-theme/CC-BY-SA-3.0-US.txt +# Above example, create_sbom.py create file path as "meta-emlinux/conf/licenses/license_texts/adwaita-icon-theme/CC-BY-SA-3.0-US.txt" +# +# Layer is able to have it own licenses.yml file in /conf/licenses directory. +# If custom layer is called meta-custom, you can put meta-custom/conf/licenses/licenses.yml file. +# If meta-custom/conf/licenses/licenses.yml contais following line +# MY-LICENSE: myapp/license.txt +# create_sbom.py will read meta-custom/conf/licenses/license_texts/myapp/license.txt +# +# In this file, some packages use Format 3 style definition. adwaita-icon-theme: - licenses: [ - CC-BY-SA-3.0, - LGPL-3.0-only, - CC-BY-SA-3.0-US, - CC-BY-SA-4.0, - GFDL-1.2+, - CC-BY-SA-3.0-Unported, - CC-BY-SA-2.0-IT, - CC-BY-3.0-US, - ] + licenses: + license: + - CC-BY-SA-3.0 or LGPL-3 + - CC-BY-SA-3.0-US or LGPL-3 + - GPL-unspecified + - CC-BY-SA-4.0 + - GFDL-1.2+ or CC-BY-SA-3.0-Unported or CC-BY-SA-2.0-IT + - CC-BY-3.0-US + text: + GPL-unspecified: adwaita-icon-theme/GPL-unspecified.txt + CC-BY-SA-2.0-IT: adwaita-icon-theme/CC-BY-SA-2.0-IT.txt + CC-BY-SA-3.0-Unported: adwaita-icon-theme/CC-BY-SA-3.0-Unported.txt + CC-BY-SA-3.0-US: adwaita-icon-theme/CC-BY-SA-3.0-US.txt base-files: - licenses: [ - GPL-3, - ] + licenses: + - GPL-2.0-or-later busybox: - licenses: [ - GPL-2, - ] + licenses: + GPL-2.0-or-later busybox-static: - licenses: [ - GPL-2, - ] + licenses: + GPL-2.0-or-later +blt: + licenses: + license: + - MIT-1 + - MIT-2 + - MIT-3 + - MIT-4 + - MIT-5 + - MIT-6 + - TCL + text: + MIT-1: blt/MIT-1.txt + MIT-2: blt/MIT-2.txt + MIT-3: blt/MIT-3.txt + MIT-4: blt/MIT-4.txt + MIT-5: blt/MIT-5.txt + MIT-6: blt/MIT-6.txt debian-archive-keyring: - licenses: [ - GPL-3, - ] + licenses: + - GPL-2.0-or-later emlinux-customization: - licenses: [ - MIT, - ] + licenses: + - MIT fontconfig: - licenses: [ - MIT - ] + licenses: + - HPND-sell-variant fontconfig-config: - licenses: [ - MIT - ] + licenses: + - HPND-sell-variant gcc-12-base: - licenses: [ - Artistic, - GFDL-1.2, - GPL, - GPL-2, - GPL-3, - LGPL - ] + licenses: + - GPL-3.0-or-later WITH GCC-exception-3.1 + - GPL-3.0-or-later + - GPL-2.0-or-later + - LGPL-2.1-or-later + - BSD-3-Clause + - MIT + - Zlib + - Unicode-DFS-2015 + - HPND + - Artistic gcc-14-base: - licenses: [ - Artistic, - GPL-3.0-only, - GPL-3.0-or-later, - GPL-3.0-with-GCC-exception, - BSD-3-Clause, - MIT, - GFDL-1.2, - GPL-2.0-or-later, - LGPL-2.1-only, - LGPL-2.1-or-later, - LGPL-3.0, - public-domain, - Zlib, - BSL-1.0, - Unicode-DFS-2015 - ] + licenses: + - GPL-3.0-or-later WITH GCC-exception-3.1 + - GPL-3.0-or-later + - GPL-2.0-or-later + - LGPL-2.1-or-later + - BSD-3-Clause + - MIT + - Zlib + - Unicode-DFS-2015 + - HPND + - Artistic gstreamer1.0-alsa: - licenses: [ - LGPL-2.0-or-later, - BSD-2-Clause, - BSD-3-Clause, - GPL-2.0-or-later, - MIT - ] + licenses: + - BSD-2-Clause + - BSD-3-Clause + - GPL-2.0-or-later + - GPL-3.0-or-later + - LGPL-2.1-only + - LGPL-2.1-or-later + - LGPL-3.0-or-later + - MPL-1.1 + - MIT + - UNKNOWN gstreamer1.0-gl: - licenses: [ - LGPL-2.0-or-later, - BSD-2-Clause, - BSD-3-Clause, - GPL-2.0-or-later, - MIT - ] + licenses: + - BSD-2-Clause + - BSD-3-Clause + - GPL-2.0-or-later + - GPL-3.0-or-later + - LGPL-2.1-only + - LGPL-2.1-or-later + - LGPL-3.0-or-later + - MPL-1.1 + - MIT + - UNKNOWN gstreamer1.0-gtk3: - licenses: [ - BSD-2-Clause, - BSD-3-Clause, - LGPL-2.0-or-later, - LGPL-2.0-only, - LGPL-2.1-or-later, - MIT - ] + licenses: + license: + - BSD-2-Clause + - BSD-3-Clause + - GPL-2.0-or-later + - LGPL-2.1-or-later + - MIT + - BSD + text: + BSD: gstreamer1.0-plugins-good/BSD.txt gstreamer1.0-opencv: - licenses: [ - BSD-2-Clause, - BSD-3-Clause, - GPL-2.0-or-later, - GPL-3.0-or-later, - LGPL-2.0-or-later, - LGPL-2.1-or-later, - LGPL-2.1-only, - LGPL-2.1-only, - MPL-1.1, - MIT, - Proprietary - ] + licenses: + - BSD-2-Clause + - BSD-3-Clause + - GPL-2.0-or-later + - GPL-3.0-or-later + - LGPL-2.1-only + - LGPL-2.1-or-later + - LGPL-3.0-or-later + - MPL-1.1 + - MIT + - UNKNOWN gstreamer1.0-plugins-bad: - licenses: [ - BSD-2-Clause, - BSD-3-Clause, - GPL-2.0-or-later, - GPL-3.0-or-later, - LGPL-2.0-or-later, - LGPL-2.1-or-later, - LGPL-2.1-only, - LGPL-2.1-only, - MPL-1.1, - MIT, - Proprietary - ] + licenses: + - BSD-2-Clause + - BSD-3-Clause + - GPL-2.0-or-later + - GPL-3.0-or-later + - LGPL-2.1-only + - LGPL-2.1-or-later + - LGPL-3.0-or-later + - MPL-1.1 + - MIT + - UNKNOWN gstreamer1.0-plugins-bad-apps: - licenses: [ - BSD-2-Clause, - BSD-3-Clause, - GPL-2.0-or-later, - GPL-3.0-or-later, - LGPL-2.0-or-later, - LGPL-2.1-or-later, - LGPL-2.1-only, - LGPL-2.1-only, - MPL-1.1, - MIT, - Proprietary - ] -gstreamer1.0-plugins-base: - licenses: [ - LGPL-2.0-or-later, - BSD-2-Clause, - BSD-3-Clause, - GPL-2.0-or-later, - MIT - ] + licenses: + - BSD-2-Clause + - BSD-3-Clause + - GPL-2.0-or-later + - GPL-3.0-or-later + - LGPL-2.1-only + - LGPL-2.1-or-later + - LGPL-3.0-or-later + - MPL-1.1 + - MIT + - UNKNOWN gstreamer1.0-plugins-base-apps: - licenses: [ - LGPL-2.0-or-later, - BSD-2-Clause, - BSD-3-Clause, - GPL-2.0-or-later, - MIT - ] + licenses: + - BSD-2-Clause + - BSD-3-Clause + - GPL-2.0-or-later + - GPL-3.0-or-later + - LGPL-2.1-only + - LGPL-2.1-or-later + - LGPL-3.0-or-later + - MPL-1.1 + - MIT + - UNKNOWN +gstreamer1.0-plugins-base: + licenses: + - BSD-2-Clause + - BSD-3-Clause + - GPL-2.0-or-later + - LGPL-2.1-or-later + - MIT gstreamer1.0-plugins-good: - licenses: [ - BSD-2-Clause, - BSD-3-Clause, - LGPL-2.0-or-later, - LGPL-2.0-only, - LGPL-2.1-or-later, - MIT - ] + licenses: + license: + - BSD-2-Clause + - BSD-3-Clause + - GPL-2.0-or-later + - LGPL-2.1-or-later + - MIT + - BSD + text: + BSD: gstreamer1.0-plugins-good/BSD.txt gstreamer1.0-pulseaudio: - licenses: [ - BSD-2-Clause, - BSD-3-Clause, - LGPL-2.0-or-later, - LGPL-2.0-only, - LGPL-2.1-or-later, - MIT - ] -gstreamer1.0-tools: - licenses: [ - GPL-2.0-or-later, - GPL-3.0-or-later, - LGPL-2.0-or-later, - LGPL-2.1-or-later - ] + licenses: + license: + - BSD-2-Clause + - BSD-3-Clause + - GPL-2.0-or-later + - LGPL-2.1-or-later + - MIT + - BSD + text: + BSD: gstreamer1.0-plugins-good/BSD.txt gstreamer1.0-x: - licenses: [ - LGPL-2.0-or-later, - BSD-2-Clause, - BSD-3-Clause, - GPL-2.0-or-later, - MIT - ] + licenses: + - BSD-2-Clause + - BSD-3-Clause + - GPL-2.0-or-later + - GPL-3.0-or-later + - LGPL-2.1-only + - LGPL-2.1-or-later + - LGPL-3.0-or-later + - MPL-1.1 + - MIT + - UNKNOWN +gstreamer1.0-tools: + licenses: + - GPL-2.0-or-later + - GPL-3.0-or-later + - LGPL-2.0-or-later + - LGPL-2.1-or-later i2c-tools: - licenses: [ - LGPL-2.1-or-later, - GPL-2.0-only, - GPL-2.0-or-later - ] + licenses: + - GPL-2.0-or-later initramfs-tee-supplicant-hook: - licenses: [ - GPL-2.0-only, - MIT - ] + licenses: + - GPL-2.0-only initramfs-tools: - licenses: [ - GPL-2 - ] + licenses: + - GPL-2.0-or-later initramfs-tools-core: - licenses: [ - GPL-2 - ] -libisl23: - licenses: [ - BSD-2-clause, - LGPL-2.1-or-later, - MIT, - ] + licenses: + - GPL-2.0-or-later klibc-utils: - licenses: [ - GPL-2 - ] + licenses: + - GPL-2.0-only + - BSD-3-Clause libaec0: - licenses: [ - BSD-2-Clause - ] -libasound2: - # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1061276 - licenses: [ - LGPL-2.1+, - ] -libasound2-data: - # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1061276 - licenses: [ - LGPL-2.1+, - ] + licenses: + - BSD-2-Clause libatomic1: - licenses: [ - Artistic, - GPL-3.0-only, - GPL-3.0-or-later, - GPL-3.0-with-GCC-exception, - BSD-3-Clause, - MIT, - GFDL-1.2, - GPL-2.0-or-later, - LGPL-2.1-only, - LGPL-2.1-or-later, - LGPL-3.0, - public-domain, - Zlib, - BSL-1.0, - Unicode-DFS-2015 - ] + licenses: + - GPL-3.0-or-later WITH GCC-exception-3.1 + - GPL-3.0-or-later + - GPL-2.0-or-later + - LGPL-2.1-or-later + - BSD-3-Clause + - MIT + - Zlib + - Unicode-DFS-2015 + - HPND libavahi-client3: - licenses: [ - LGPL-2.1-or-later, - GPL-2.0-only, - GPL-3.0-with-autoconf-exception, - GPL-2.0-only, - BSD-2-Clause, - BSD-3-Clause - ] + licenses: + - LGPL-2.0-or-later + - GPL-2.0-only + - GPL + - BSD-2-Clause + - BSD-3-Clause libavahi-common-data: - licenses: [ - LGPL-2.1-or-later, - GPL-2.0-only, - GPL-3.0-with-autoconf-exception, - GPL-2.0-only, - BSD-2-Clause, - BSD-3-Claus - ] + licenses: + - LGPL-2.0-or-later + - GPL-2.0-only + - GPL + - BSD-2-Clause + - BSD-3-Clause libavahi-common3: - licenses: [ - LGPL-2.1-or-later, - GPL-2.0-only, - GPL-3.0-with-autoconf-exception, - BSD-2-Clause, - BSD-3-Clause - ] + licenses: + - LGPL-2.0-or-later + - GPL-2.0-only + - GPL + - BSD-2-Clause + - BSD-3-Clause libc-bin: - licenses: [ - GPL-2, - LGPL-2.1 - ] + licenses: + license: + - LGPL-2.1-or-later + - GPL-2.0-or-later + - BSD-3-Clause + - InnerNet-2.00 + - ISOC-RFC3492bis + - Henry-Spencer-Regex + - CE-Chew-Acknowledge + text: + InnerNet-2.00: libc6/InnerNet-2.00.txt + ISOC-RFC3492bis: libc6/ISOC-RFC3492bis.txt + Henry-Spencer-Regex: libc6/Henry-Spencer-Regex.txt + CE-Chew-Acknowledge: libc6/CE-Chew-Acknowledge.txt libc-l10n: - licenses: [ - GPL-2, - LGPL-2.1 - ] + licenses: + license: + - LGPL-2.1-or-later + - GPL-2.0-or-later + - BSD-3-Clause + - InnerNet-2.00 + - ISOC-RFC3492bis + - Henry-Spencer-Regex + - CE-Chew-Acknowledge + text: + InnerNet-2.00: libc6/InnerNet-2.00.txt + ISOC-RFC3492bis: libc6/ISOC-RFC3492bis.txt + Henry-Spencer-Regex: libc6/Henry-Spencer-Regex.txt + CE-Chew-Acknowledge: libc6/CE-Chew-Acknowledge.txt libc6: - licenses: [ - GPL-2, - LGPL-2.1 - ] + licenses: + license: + - LGPL-2.1-or-later + - GPL-2.0-or-later + - BSD-3-Clause + - InnerNet-2.00 + - ISOC-RFC3492bis + - Henry-Spencer-Regex + - CE-Chew-Acknowledge + text: + InnerNet-2.00: libc6/InnerNet-2.00.txt + ISOC-RFC3492bis: libc6/ISOC-RFC3492bis.txt + Henry-Spencer-Regex: libc6/Henry-Spencer-Regex.txt + CE-Chew-Acknowledge: libc6/CE-Chew-Acknowledge.txt libcairo-gobject2: - licenses: [ - MPL-1.1, - LGPL-2.1-only, - ] + licenses: + license: + - LGPL-2.1-or-later OR MPL-1.1 + - DavidReveman + text: + DavidReveman: libcairo2/DavidReveman.txt libcairo2: - licenses: [ - MPL-1.1, - LGPL-2.1-only, - ] + licenses: + license: + - LGPL-2.1-or-later OR MPL-1.1 + - DavidReveman + text: + DavidReveman: libcairo2/DavidReveman.txt libcfitsio10: - licenses: [ - NASA-1.3, - MIT, - LGPL-2.0-only, - GPL-2.0-only - ] + licenses: + - NASA-1.3 + - GPL-2.0-or-later + - LGPL-2.0-or-later libcrypt1: - licenses: [ - public-domain - ] + licenses: + - LGPL-2.1-or-later libdc1394-25: - licenses: [ - LGPL-2.0-or-later - ] + licenses: + - LGPL-2.1-or-later + - GPL-2.0-or-later libdrm-amdgpu1: - licenses: [ - MIT - ] + licenses: + - MIT libdrm-common: - licenses: [ - MIT, - ] + licenses: + - MIT libdrm-nouveau2: - licenses: [ - MIT - ] + licenses: + - MIT libdrm-radeon1: - licenses: [ - MIT - ] + licenses: + - MIT libdrm2: - licenses: [ - MIT, - ] -libdw1: - licenses: [ - BSD-2-Clause, - GFDL-NIV-1.3, - GPL-3.0-or-later, - GPL-3.0-or-later WITH Bison-exception-2.2, - GPL-2.0-or-later, - LGPL-2.1-or-later, - LGPL-3.0-or-later - ] -libegl1: - licenses: [ - MIT, - BSD-1-Clause, - BSD-3-Clause, - GPL-3.0-with-autoconf-exception - ] -libelf1: - licenses: [ - BSD-2-Clause, - GFDL-NIV-1.3, - GPL-3.0-or-later, - GPL-3.0-or-later WITH Bison-exception-2.2, - GPL-2.0-or-later, - LGPL-2.1-or-later, - LGPL-3.0-or-later - ] + licenses: + - MIT libflite1: - licenses: [ - BSD-3-Clause, - GPL-2.0-only - ] + licenses: + license: + - public-domain + - BSD-4-Clause-Shortended + - GPL-2.0-only + - GPL-3.0-only + - BSD-2-Clause + - HPND-sell-variant + - Henry-Spencer-Regexp + - doc-cmu + text: + public-domain: libflite1/public-domain.txt + Henry-Spencer-Regexp: libflite1/Henry-Spencer-Regexp.txt + doc-cmu: libflite1/doc-cmu.txt libfontconfig1: - licenses: [ - MIT, - ] -libgbm1: - licenses: [ - Apache-2.0, - BSD-2-clause, - BSD-3-google, - BSL, - GPL-3.0-or-later, - Khronos, - MIT, - SGI-B-2.0 - ] + licenses: + - HPND-sell-variant +libfontenc1: + licenses: + - MIT libgcc-s1: - licenses: [ - Artistic, - GFDL-1.2, - GPL, - GPL-2, - GPL-3, - LGPL - ] + licenses: + - GPL-3.0-or-later WITH GCC-exception-3.1 + - GPL-3.0-or-later + - GPL-2.0-or-later + - LGPL-2.1-or-later + - BSD-3-Clause + - MIT + - Zlib + - Unicode-DFS-2015 + - HPND libgcrypt20: - licenses: [ - GPL-2, - LGPL - ] + licenses: + license: + - LGPL-2.1-or-later + - GPL-2.0-or-later + - BSD-3-Clause + - X11 + - public-domain + - OCB + text: + public-domain: libgcrypt20/public-domain.txt + OCB: libgcrypt20/OCB.txt libgfortran5: - licenses: [ - Artistic, - GFDL-1.2, - GPL, - GPL-2, - GPL-3, - LGPL - ] -libgles2: - licenses: [ - MIT, - BSD-1-Clause, - BSD-3-Clause, - GPL-3.0-with-autoconf-exception - ] + licenses: + - GPL-3.0-or-later WITH GCC-exception-3.1 + - GPL-3.0-or-later + - GPL-2.0-or-later + - LGPL-2.1-or-later + - BSD-3-Clause + - MIT + - Zlib + - Unicode-DFS-2015 + - HPND +libgupnp-igd-1.0-4: + licenses: + - LGPL-2.0-or-later libgnutls30: - licenses: [ - Apache-2.0, - GFDL-1.3, - GPL, - GPL-3, - LGPL, - LGPL-3 - ] + licenses: + license: + - LGPL-2.1-or-later + - GPL-3.0-or-later + - LGPL-3.0-or-later OR GPL-2.0-or-later + - BSD-3-Clause + - Apache-2.0 + - CC0-1.0 + - HPND + - MIT + - public-domain + - CRYPTOGAMS + text: + public-domain: libgnutls30/public-domain.txt + CRYPTOGAMS: libgnutls30/CRYPTOGAMS.txt libgnutls30t64: - licenses: [ - Apache-2.0, - GFDL-1.3, - GPL, - GPL-3, - LGPL, - LGPL-3 - ] + licenses: + license: + - LGPL-2.1-or-later + - GPL-3.0-or-later + - LGPL-3.0-or-later OR GPL-2.0-or-later + - BSD-3-Clause + - Apache-2.0 + - CC0-1.0 + - HPND + - MIT + - public-domain + - CRYPTOGAMS + text: + public-domain: libgnutls30/public-domain.txt + CRYPTOGAMS: libgnutls30/CRYPTOGAMS.txt + libgomp1: - licenses: [ - GPL-3+, - gcc-exception-3.1, - ] + licenses: + - GPL-3.0-or-later WITH GCC-exception-3.1 + - GPL-3.0-or-later + - GPL-2.0-or-later + - LGPL-2.1-or-later + - BSD-3-Clause + - MIT + - Zlib + - Unicode-DFS-2015 + - HPND libgssapi-krb5-2: - licenses: [ - GPL-2 - ] + licenses: + license: + - BSD-3-Clause + - MIT + - HPND + - CC-BY-SA-3.0 + - OLDAP-2.8 + - OpenVision + - PKINIT + - RSA-MD4 + - RSA-MD5 + text: + OpenVision: libgssapi-krb5-2/OpenVision.txt + PKINIT: libgssapi-krb5-2/PKINIT.txt + RSA-MD4: libgssapi-krb5-2/RSA-MD4.txt + RSA-MD5: libgssapi-krb5-2/RSA-MD5.txt +libgstreamer1.0-0: + licenses: + - GPL-2.0-or-later + - GPL-3.0-or-later + - LGPL-2.0-or-later + - LGPL-2.1-or-later libgstreamer-gl1.0-0: - licenses: [ - LGPL-2.0-or-later, - BSD-2-Clause, - BSD-3-Clause, - GPL-2.0-or-later, - MIT - ] + licenses: + - BSD-2-Clause + - BSD-3-Clause + - GPL-2.0-or-later + - GPL-3.0-or-later + - LGPL-2.1-only + - LGPL-2.1-or-later + - LGPL-3.0-or-later + - MPL-1.1 + - MIT + - UNKNOWN libgstreamer-opencv1.0-0: - licenses: [ - BSD-2-Clause, - BSD-3-Clause, - GPL-2.0-or-later, - GPL-3.0-or-later, - LGPL-2.0-or-later, - LGPL-2.1-or-later, - LGPL-2.1-only, - LGPL-2.1-only, - MPL-1.1, - MIT, - Proprietary - ] + licenses: + - BSD-2-Clause + - BSD-3-Clause + - GPL-2.0-or-later + - GPL-3.0-or-later + - LGPL-2.1-only + - LGPL-2.1-or-later + - LGPL-3.0-or-later + - MPL-1.1 + - MIT + - UNKNOWN libgstreamer-plugins-bad1.0-0: - licenses: [ - BSD-2-Clause, - BSD-3-Clause, - GPL-2.0-or-later, - GPL-3.0-or-later, - LGPL-2.0-or-later, - LGPL-2.1-or-later, - LGPL-2.1-only, - LGPL-2.1-only, - MPL-1.1, - MIT, - Proprietary - ] + licenses: + - BSD-2-Clause + - BSD-3-Clause + - GPL-2.0-or-later + - GPL-3.0-or-later + - LGPL-2.1-only + - LGPL-2.1-or-later + - LGPL-3.0-or-later + - MPL-1.1 + - MIT + - UNKNOWN libgstreamer-plugins-base1.0-0: - licenses: [ - LGPL-2.0-or-later, - BSD-2-Clause, - BSD-3-Clause, - GPL-2.0-or-later, - MIT - ] -libgstreamer1.0-0: - licenses: [ - GPL-2.0-or-later, - GPL-3.0-or-later, - LGPL-2.0-or-later, - LGPL-2.1-or-later - ] -libgupnp-igd-1.0-4: - licenses: [ - LGPL-2.0-or-later, - GPL-3.0-only - ] + licenses: + - BSD-2-Clause + - BSD-3-Clause + - GPL-2.0-or-later + - GPL-3.0-or-later + - LGPL-2.1-only + - LGPL-2.1-or-later + - LGPL-3.0-or-later + - MPL-1.1 + - MIT + - UNKNOWN +libgtk2.0-0: + licenses: + license: + - LGPL-2.0-or-later + - LGPL-2.1-or-later + - LGPL-2.1-only + - GPL-2.0-or-later + - FSFAP + - Sun-Government-Clause OR LGPL-2.0-or-later + - Wintab-Free-Use + text: + Wintab-Free-Use: libgtk2.0-0/Wintab-Free-Use.txt + Sun-Government-Clause: libgtk2.0-0/Sun-Government-Clause.txt +libgtk2.0-common: + licenses: + license: + - LGPL-2.0-or-later + - LGPL-2.1-or-later + - LGPL-2.1-only + - GPL-2.0-or-later + - FSFAP + - Sun-Government-Clause OR LGPL-2.0-or-later + - Wintab-Free-Use + text: + Wintab-Free-Use: libgtk2.0-0/Wintab-Free-Use.txt + Sun-Government-Clause: libgtk2.0-0/Sun-Government-Clause.txt libhwloc15: - licenses: [ - BSD-3-Clause - ] + licenses: + - BSD-3-Clause + - GPL-3.0-only libi2c0: - licenses: [ - LGPL-2.1-or-later, - GPL-2.0-only, - GPL-2.0-or-later - ] + licenses: + - LGPL-2.1-or-later libice6: - licenses: [ - MIT-open-group - ] + licenses: + - MIT-open-group libiec61883-0: - licenses: [ - LGPL-2.1-or-later - ] + licenses: + - LGPL-2.1-or-later libjudydebian1: - licenses: [ - LGPL-2+, - ] + licenses: + - LGPL-2.1-or-later +libksba8: + licenses: + license: + - LGPL-3.0-or-later + - GPL-2.0-or-later + - GPL-3.0-or-later + - ISOC-Standard-Notice + text: + ISOC-Standard-Notice: libksba8/ISOC-Standard-Notice.txt libk5crypto3: - licenses: [ - GPL-2 - ] + licenses: + license: + - BSD-3-Clause + - MIT + - HPND + - CC-BY-SA-3.0 + - OLDAP-2.8 + - OpenVision + - PKINIT + - RSA-MD4 + - RSA-MD5 + text: + OpenVision: libgssapi-krb5-2/OpenVision.txt + PKINIT: libgssapi-krb5-2/PKINIT.txt + RSA-MD4: libgssapi-krb5-2/RSA-MD4.txt + RSA-MD5: libgssapi-krb5-2/RSA-MD5.txt libklibc: - licenses: [ - GPL-2 - ] + licenses: + - GPL-2.0-only + - BSD-3-Clause libkrb5-3: - licenses: [ - GPL-2 - ] + licenses: + license: + - BSD-3-Clause + - MIT + - HPND + - CC-BY-SA-3.0 + - OLDAP-2.8 + - OpenVision + - PKINIT + - RSA-MD4 + - RSA-MD5 + text: + OpenVision: libgssapi-krb5-2/OpenVision.txt + PKINIT: libgssapi-krb5-2/PKINIT.txt + RSA-MD4: libgssapi-krb5-2/RSA-MD4.txt + RSA-MD5: libgssapi-krb5-2/RSA-MD5.txt libkrb5support0: - licenses: [ - GPL-2 - ] -libksba8: - licenses: [ - GPL-3 - ] + licenses: + license: + - BSD-3-Clause + - MIT + - HPND + - CC-BY-SA-3.0 + - OLDAP-2.8 + - OpenVision + - PKINIT + - RSA-MD4 + - RSA-MD5 + text: + OpenVision: libgssapi-krb5-2/OpenVision.txt + PKINIT: libgssapi-krb5-2/PKINIT.txt + RSA-MD4: libgssapi-krb5-2/RSA-MD4.txt + RSA-MD5: libgssapi-krb5-2/RSA-MD5.txt liblept5: - licenses: [ - BSD-2-Clause - ] -libllvm15: - licenses: [ - Apache-2.0-with-LLVM-exception, - MIT, - BSD-3-clause, - Python-2.0 - ] + licenses: + - BSD-2-Clause +liblrdf0: + licenses: + license: + - GPL-2.0-only + - public-domain + - LGPL-2.1-or-later + - FSFUL + - GPL-2.0-or-later + - X11 + text: + public-domain: liblrdf0/public-domain.txt +libtcl8.6: + licenses: + license: + - TCL-Regents-Government-Clause + - BSD-3-Clause + - HPND + text: + TCL-Regents-Government-Clause: libtcl8.6/TCL-Regents-Government-Clause.txt +libtk8.6: + licenses: + license: + - TK-Regents-Government-Clause + text: + TK-Regents-Government-Clause: libtk8.6/TK-Regents-Government-Clause.txt libmjpegutils-2.1-0: - licenses: [ - GPL-2.0-or-later, - GPL-2.0-only, - GPL-1.0-or-later - ] + licenses: + license: + - GPL-2.0-or-later + - MSSG-public-domain + text: + MSSG-public-domain: libmjpegutils-2.1-0/MSSG-public-domain.txt libmodplug1: - licenses: [ - PD - ] + licenses: + - public-domain libmpcdec6: - licenses: [ - LGPL-2.1-or-later, - BSD-3-Clause, - GPL-2.0-or-later, - ] -libmpeg2encpp-2.1-0: - licenses: [ - GPL-2.0-or-later, - GPL-2.0-only, - GPL-1.0-or-later - ] + licenses: + - LGPL-2.1-or-later + - Zlib + - BSD-3-Clause + - GPL-2.0-or-later libmpfr6: - licenses: [ - LGPL-3+, - GFDL-1.2 - ] + licenses: + - LGPL-3.0-or-later + - GFDL-1.2+ +libmpeg2encpp-2.1-0: + licenses: + license: + - GPL-2.0-or-later + - MSSG-public-domain + text: + MSSG-public-domain: libmjpegutils-2.1-0/MSSG-public-domain.txt libmplex2-2.1-0: - licenses: [ - GPL-2.0-or-later, - GPL-2.0-only, - GPL-1.0-or-later - ] + licenses: + license: + - GPL-2.0-or-later + - MSSG-public-domain + text: + MSSG-public-domain: libmjpegutils-2.1-0/MSSG-public-domain.txt libnice10: - licenses: [ - LGPL-2.1-or-later, - MPL-1.1, - GPL-2.0-only, - GPL-3.0-or-later, - ] + licenses: + - MPL-1.1 + - LGPL-2.1-or-later + - GPL-2.0-only or BSD-3-Clause + - BSD-3-Clause +libnl-3-200: + licenses: + - LGPL-2.1-only + - GPL-2.0-only + - BSD-3-Clause +libnl-genl-3-200: + licenses: + - LGPL-2.1-only + - GPL-2.0-only + - BSD-3-Clause +libnl-route-3-200: + licenses: + - LGPL-2.1-only + - GPL-2.0-only + - BSD-3-Clause libnuma1: - licenses: [ - LGPL-2.1-or-later, - ] + licenses: + - LGPL-2.1-or-later liborc-0.4-0: - licenses: [ - BSD-2-Clause, - BSD-3-Clause - ] -libpangocairo-1.0-0: - licenses: [ - MPL-1.1, - LGPL-2.1-only - ] + licenses: + - BSD-2-Clause + - BSD-3-Clause +liborc-0.4-0t64: + licenses: + - BSD-2-Clause + - BSD-3-Clause libpixman-1-0: - licenses: [ - MIT - ] + licenses: + - MIT libproxy1v5: - licenses: [ - LGPL-2.1-or-later, - GPL-2.0-or-later - ] + licenses: + - LGPL-2.1-or-later + - GPL-2.0-only +libpython3-stdlib: + licenses: + PSF-2.0 libpython3.11: - licenses: [ - PSF-2.0, - ] + licenses: + PSF-2.0 libpython3.11-minimal: - licenses: [ - PSF-2.0, - ] + licenses: + PSF-2.0 libpython3.11-stdlib: - licenses: [ - PSF-2.0, - ] + licenses: + - PSF-2.0 libpython3.13: - licenses: [ - PSF-2.0 - ] + licenses: + - PSF-2.0 libpython3.13-minimal: - licenses: [ - PSF-2.0 - ] + licenses: + - PSF-2.0 libpython3.13-stdlib: - licenses: [ - PSF-2.0 - ] + licenses: + - PSF-2.0 libraw1394-11: - licenses: [ - LGPL-2.1-or-later, - GPL-2.0-or-later, - MIT - ] + licenses: + - LGPL-2.1-or-later + - GPL-2.0-or-later + - MIT librtmp1: - licenses: [ - LGPL-2.1+, - ] + licenses: + - LGPL-2.1-or-later libselinux1: - licenses: [ - GPL-2, - LGPL-2.1 - ] + licenses: + - GPL-2.0-or-later + - LGPL-2.1-or-later + - libselinux-1.0 libsemanage-common: - licenses: [ - GPL, - LGPL - ] + licenses: + - GPL-2.0-or-later + - LGPL-2.1-or-later libsemanage2: - licenses: [ - GPL, - LGPL - ] + licenses: + - GPL-2.0-or-later + - LGPL-2.1-or-later libsensors-config: - licenses: [ - LGPL-2.1-or-later, - GPL-2.0-or-later - ] + licenses: + - LGPL-2.1-or-later libsensors5: - licenses: [ - LGPL-2.1-or-later, - GPL-2.0-or-later - ] + licenses: + - LGPL-2.1-or-later libsm6: - licenses: [ - MIT-open-group - ] + licenses: + - MIT-open-group libspandsp2: - licenses: [ - GPL-2.0-only, - LGPL-2.0-only - ] + licenses: + - LGPL-2.1-or-later + - GPL-2.0-only libstdc++6: - licenses: [ - Artistic, - GFDL-1.2, - GPL, - GPL-2, - GPL-3, - LGPL - ] + licenses: + - GPL-3.0-or-later WITH GCC-exception-3.1 + - GPL-3.0-or-later + - GPL-2.0-or-later + - LGPL-2.1-or-later + - BSD-3-Clause + - MIT + - Zlib + - Unicode-DFS-2015 + - HPND libsz2: - licenses: [ - BSD-2-Clause - ] + licenses: + - BSD-2-Clause libtasn1-6: - licenses: [ - LGPL-2.1, - GPL-3, - GFDL-1.3 - ] -libteec1: - licenses: [ - BSD-2-Clause - ] + licenses: + - LGPL-2.1-or-later + - GPL-3.0-or-later + - GFDL-1.3 libusb-1.0-0: - licenses: [ - GPL-2.0-only, - LGPL-2.0-only - ] + licenses: + - LGPL-2.1-or-later + - GPL-2.0-or-later libwayland-client0: - licenses: [ - X11, - ] + licenses: + - X11 libwayland-cursor0: - licenses: [ - GPL-2.0-only, - LGPL-2.1-or-later - ] + licenses: + - X11 libwayland-egl1: - licenses: [ - GPL-2.0-only, - LGPL-2.1-or-later - ] + licenses: + - X11 libwayland-server0: - licenses: [ - X11, - ] + licenses: + - X11 libwebp7: - licenses: [ - BSD-3-Clause, - Apache-2.0 - ] + licenses: + - BSD-3-Clause + - Apache-2.0 libwebpmux3: - licenses: [ - BSD-3-Clause, - Apache-2.0 - ] + licenses: + - BSD-3-Clause + - Apache-2.0 libx11-6: - licenses: [ - MIT, - BSD-1-Clause, - HPND, - HPND-sell-variant, - ISC, - ] + licenses: + license: + - MIT + - MIT-open-group + - HPND-sell-variant + - BSD-2-Clause + - Tektronix + text: + Tektronix: libx11-6/Tektronix.txt libx11-data: - licenses: [ - MIT, - BSD-1-Clause, - HPND, - HPND-sell-variant, - ISC, - ] + licenses: + license: + - MIT + - MIT-open-group + - HPND-sell-variant + - BSD-2-Clause + - Tektronix + text: + Tektronix: libx11-6/Tektronix.txt libx11-xcb1: - licenses: [ - MIT, - BSD-1-Clause, - HPND, - HPND-sell-variant, - ISC, - ] + licenses: + license: + - MIT + - MIT-open-group + - HPND-sell-variant + - BSD-2-Clause + - Tektronix + text: + Tektronix: libx11-6/Tektronix.txt libxau6: - licenses: [ - MIT, - ] + licenses: + - MIT-open-group +libxaw7: + licenses: + - MIT-open-group + - HPND-sell-variant +libxcb1: + licenses: + - MIT libxcb-composite0: - licenses: [ - MIT - ] + licenses: + - MIT libxcb-dri2-0: - licenses: [ - MIT, - ] + licenses: + - MIT libxcb-dri3-0: - licenses: [ - MIT, - ] + licenses: + - MIT libxcb-glx0: - licenses: [ - MIT - ] + licenses: + - MIT libxcb-present0: - licenses: [ - MIT, - ] + licenses: + - MIT libxcb-randr0: - licenses: [ - MIT - ] + licenses: + - MIT libxcb-render0: - licenses: [ - MIT, - ] + licenses: + - MIT +libxcb-xinerama0: + licenses: + - MIT libxcb-shape0: - licenses: [ - MIT - ] + licenses: + - MIT libxcb-shm0: - licenses: [ - MIT - ] + licenses: + - MIT libxcb-sync1: - licenses: [ - MIT, - ] + licenses: + - MIT libxcb-xfixes0: - licenses: [ - MIT, - ] -libxcb-xinerama0: - licenses: [ - MIT - ] + licenses: + - MIT libxcb-xinput0: - licenses: [ - MIT - ] + licenses: + - MIT libxcb-xkb1: - licenses: [ - MIT - ] -libxcb1: - licenses: [ - MIT, - ] + licenses: + - MIT libxcomposite1: - licenses: [ - MIT - ] + licenses: + - HPND-sell-variant + - MIT libxcursor1: - licenses: [ - MIT - ] + licenses: + - HPND-sell-variant libxdamage1: - licenses: [ - MIT - ] + licenses: + - HPND-sell-variant libxdmcp6: - licenses: [ - MIT, - ] + licenses: + - MIT-open-group libxext6: - licenses: [ - MIT-open-group, - MIT, - HPND, - ] + licenses: + - MIT-open-group + - HPND-sell-variant + - MIT libxfixes3: - licenses: [ - MIT, - HPND - ] + licenses: + - HPND-sell-variant + - MIT +libxfont2: + licenses: + - MIT + - MIT-open-group + - HPND-sell-variant + - BSD-2-Clause +libxft2: + licenses: + - HPND-sell-variant libxi6: - licenses: [ - MIT-open-group, - HPND, - MIT - ] + licenses: + - MIT-open-group + - HPND-sell-variant + - MIT libxinerama1: - licenses: [ - MIT-open-group, - MIT - ] -libxkbcommon-x11-0: - licenses: [ - MIT, - MIT-open-group, - HPND, - HPND-sell-variant, - X11 - ] + licenses: + license: + - MIT + - MIT-open-group + - X11-no-permit-persons + text: + X11-no-permit-persons: libxinerama1/X11-no-permit-persons.txt libxkbcommon0: - licenses: [ - MIT, - MIT-open-group, - HPND, - HPND-sell-variant, - X11 - ] + licenses: + - MIT + - HPND-sell-variant +libxkbcommon-x11-0: + licenses: + - MIT + - HPND-sell-variant libxkbfile1: - licenses: [ - HPND, - MIT-open-group - ] -libxrandr2: - licenses: [ - MIT - ] + licenses: + - HPND-sell-variant + - MIT +libxmu6: + licenses: + - MIT-open-group + - HPND-sell-variant +libxpm4: + licenses: + - MIT libxrender1: - licenses: [ - MIT - ] + licenses: + - HPND-sell-variant +libxrandr2: + licenses: + - HPND-sell-variant libxshmfence1: - licenses: [ - HPND, - ] + licenses: + - HPND-sell-variant libxslt1.1: - licenses: [ - MIT - ] + licenses: + - MIT libxss1: - licenses: [ - MIT - ] + licenses: + - MIT +libxt6: + licenses: + - MIT + - HPND-sell-variant libxtst6: - licenses: [ - MIT, - X11, - HPND - ] + licenses: + - MIT libxv1: - licenses: [ - MIT - ] + licenses: + - MIT libxxf86vm1: - licenses: [ - X11 - ] + licenses: + - MIT libzbar0: - licenses: [ - LGPL-2.0-or-later - ] + licenses: + license: + - LGPL-2.1-or-later + - zbar-public-domain + - zbar-bsd-style + text: + zbar-public-domain: libzbar0/zbar-public-domain.txt + zbar-bsd-style: libzbar0/zbar-bsd-style.txt linux-image-cip: - licenses: [ - GPL-2, - ] + licenses: + GPL-2.0-only linux-image-cip-rt: - licenses: [ - GPL-2, - ] + licenses: + GPL-2.0-only locales: - licenses: [ - LGPL-2.1, - GPL-2, - ] + licenses: + license: + - LGPL-2.1-or-later + - GPL-2.0-or-later + - BSD-3-Clause + - InnerNet-2.00 + - ISOC-RFC3492bis + - Henry-Spencer-Regex + - CE-Chew-Acknowledge + text: + InnerNet-2.00: libc6/InnerNet-2.00.txt + ISOC-RFC3492bis: libc6/ISOC-RFC3492bis.txt + Henry-Spencer-Regex: libc6/Henry-Spencer-Regex.txt + CE-Chew-Acknowledge: libc6/CE-Chew-Acknowledge.txt lrzsz: - licenses: [ - GPL-2 - ] + licenses: + - GPL-2.0-only +python3: + licenses: + - PSF-2.0 +python3-minimal: + licenses: + - PSF-2.0 +python3.11: + licenses: + - PSF-2.0 +python3.11-minimal: + licenses: + - PSF-2.0 +python3-numpy: + licenses: + - BSD-3-Clause + - BSD-2-Clause + - PSF-2.0 + - Apache-2.0 + - MIT +python3-pkg-resources: + licenses: + - MIT + - BSD-3-Clause + - Apache-2.0 +python3-tk: + licenses: + - PSF-2.0 ruby-narray: - licenses: [ - GPL-2.0-or-later, - Ruby OR GPL-2.0-only, - ] + licenses: + - GPL-2.0-or-later + - Ruby OR GPL-2.0-only shared-mime-info: - licenses: [ - GPL-2.0-or-later - ] + licenses: + - GPL-2.0-or-later sshd-regen-keys: - licenses: [ - MIT, - GPL-2.0-only - ] -tee-supplicant: - licenses: [ - BSD-2-Clause - ] + licenses: + - MIT + - GPL-2.0-only +tk8.6-blt2.5: + licenses: + license: + - MIT-1 + - MIT-2 + - MIT-3 + - MIT-4 + - MIT-5 + - MIT-6 + - TCL + text: + MIT-1: blt/MIT-1.txt + MIT-2: blt/MIT-2.txt + MIT-3: blt/MIT-3.txt + MIT-4: blt/MIT-4.txt + MIT-5: blt/MIT-5.txt + MIT-6: blt/MIT-6.txt weston-init: - licenses: [ - MIT, - ] + licenses: + - MIT x11-common: - licenses: [ - MIT, - GPL-2.0-or-later - ] + licenses: + - GPL-2.0-or-later + - X11 xkb-data: - licenses: [ - MIT, - X11, - HPND, - MIT-open-group, - xkeyboard-config-Zinovie - ] + licenses: + license: + - HPND-sell-variant + - X11 + - Mitos + text: + Mitos: xkb-data/Mitos.txt +x11-xkb-utils: + licenses: + - HPND-sell-variant + - MIT-open-group + - DEC-3-Clause + - MIT +xserver-common: + licenses: + - MIT + - HPND-sell-variant + - SGI-B-2.0 + - BSD-3-Clause +xwayland: + licenses: + license: + - MIT + - Adobe-Display-PostScript + - BSD-3-Clause + - DEC-3-Clause + - HPND + - HPND-Netrek + - HPND-sell-MIT-disclaimer-xserver + - HPND-sell-variant + - HPND-UC + - ICU + - ISC + - MIT-open-group + - NTP + - SGI-B-2.0 + - SMLNJ + - X11 + - X11-no-permit-persons + text: + X11-no-permit-persons: xwayland/X11-no-permit-persons.txt diff --git a/scripts/create_sbom.py b/scripts/create_sbom.py index 972a5087..0c7cda21 100755 --- a/scripts/create_sbom.py +++ b/scripts/create_sbom.py @@ -6,25 +6,30 @@ import io from debian import copyright import debian.debfile +from debian.deb822 import Packages import json import yaml import glob import hashlib +from pathlib import Path -sys.path.append(os.path.join(os.path.dirname(__file__), 'lib/python')) -sys.path.append(os.path.join(os.path.dirname(__file__), 'lib/python/sbom')) +sys.path.append(os.path.join(os.path.dirname(__file__), "lib/python")) +sys.path.append(os.path.join(os.path.dirname(__file__), "lib/python/sbom")) import logging -logging.basicConfig(level = logging.INFO, format='%(asctime)s:%(levelname)s: %(message)s') + +logging.basicConfig(level=logging.INFO, format="%(asctime)s:%(levelname)s: %(message)s") logger = logging.getLogger("emlinux-sbom-creator") import bitbake_runner import sbom_cyclonedx import sbom_spdx +import licensing # Only show critical error from debian copyright library copyright.logger.setLevel(logging.CRITICAL) + def merge_package_data(installed_pkgs, packages_info): for pkg in installed_pkgs: if pkg in packages_info: @@ -33,8 +38,9 @@ def merge_package_data(installed_pkgs, packages_info): return installed_pkgs + def find_deb_packages(dl_dir, repo_isar_dir, distro, image_distro): - targets = [ + targets = [ f"{dl_dir}/deb/debian-{distro}/*.deb", f"{repo_isar_dir}/{image_distro}/pool/**/*.deb", ] @@ -46,7 +52,10 @@ def find_deb_packages(dl_dir, repo_isar_dir, distro, image_distro): return ret -def get_package_info_from_control(dl_dir, repo_isar_dir, distro, image_distro, distro_arch): + +def get_package_info_from_control( + dl_dir, repo_isar_dir, distro, image_distro, distro_arch +): ret = {} debs = find_deb_packages(dl_dir, repo_isar_dir, distro, image_distro) @@ -55,8 +64,8 @@ def get_package_info_from_control(dl_dir, repo_isar_dir, distro, image_distro, d with debian.debfile.DebFile(debfile) as deb: control = deb.debcontrol() pkgname = control.get("Package", "Unknown") - arch = control.get('Architecture', 'Unknown') - desc = control.get("Description", "") + arch = control.get("Architecture", "Unknown") + desc = control.get("Description", "No description") if arch == distro_arch or arch == "all": sha256sum = None @@ -66,113 +75,284 @@ def get_package_info_from_control(dl_dir, repo_isar_dir, distro, image_distro, d sha256hash.update(block) sha256sum = sha256hash.hexdigest() ret[pkgname] = { - "sha256sum": sha256sum, - "description": desc, + "sha256sum": sha256sum, + "description": desc, } return ret + def parse_copyright_file(copyright_file): - licenses = [] + licenses = {} - with io.open(copyright_file, "rt", encoding='utf-8') as f: + with io.open(copyright_file, "rt", encoding="utf-8") as f: try: c = copyright.Copyright(f, strict=False) - except Exception as e: - logger.debug(f"Read copyright file error for {copyright_file}") - licenses.append("unknown") + except Exception: + logger.debug( + f"Read copyright file error for {copyright_file}. May be this file uses old foromat." + ) else: for p in c.all_files_paragraphs(): - files = " ".join(p.files) - if p.license: - licenses.append(p.license.synopsis) - else: - if not "unknown" in licenses: - licenses.append("unknown") + if p.license and p.license.synopsis: + licenses.setdefault("synopsis", []).append(p.license.synopsis) + if len(p.license.text) > 0: + licenses.setdefault("text", {})[ + p.license.synopsis + ] = p.license.text + for text in c.all_license_paragraphs(): + if text.license: + licenses.setdefault("text", {})[ + text.license.synopsis + ] = text.license.text + + return licenses - return sorted(licenses) def parse_dpkg_status(dpkgstatus): ret = {} with open(dpkgstatus, "r") as f: - lines = f.readlines() - d = {} - for line in lines: - line = line.strip() - if line.startswith("Package:"): - d["package"] = line.split(":")[1].strip() - elif line.startswith("Source:"): - # some package contain version number so remove it. - # util-linux (2.38.1-5) - d["source"] = line.split(":")[1].strip().split(" ")[0].strip() - elif line.startswith("Version:"): - d["version"] = line.split(" ")[1].strip() - elif line.startswith("Maintainer:"): - d["maintainer"] = " ".join(line.split(" ")[1:]).strip() - elif line.startswith("Section:"): - d["section"] = line.split(":")[1].strip() - elif line.startswith("Homepage:"): - d["homepage"] = "".join(line.split(":")[1:]).strip() - elif line.startswith("Architecture:"): - d["arch"] = line.split(":")[1].strip() - elif len(line) == 0: - if not "source" in d: - # If source is not found in data, source package name should - # be same as binary package name - d["source"] = d["package"] - - ret[d["package"]] = d - d = {} + for pkg in Packages.iter_paragraphs(f, use_apt_pkg=False): + d = {} + + d["package"] = pkg.get("Package") + d["source"] = pkg.get("Source") + d["version"] = pkg.get("Version") + d["maintainer"] = pkg.get("Maintainer") + d["section"] = pkg.get("Section") + d["homepage"] = pkg.get("Homepage", "No Homepage") + d["arch"] = pkg.get("Architecture") + if d["source"] is None: + d["source"] = d["package"] + d["description"] = pkg.get("Description", "No description") + + ret[d["package"]] = d return ret -def find_copyright_files(rootfs, installed_pkgs, user_defined_licenses): - + +def read_copyright_files(rootfs, installed_pkgs, user_defined_licenses): for pkg in installed_pkgs: - if pkg in user_defined_licenses: - installed_pkgs[pkg]["licenses"] = user_defined_licenses[pkg]["licenses"] - else: - path = f"{rootfs}/usr/share/doc/{installed_pkgs[pkg]['package']}/copyright" + logger.debug(f"Checking copyright for {pkg}") + path = f"{rootfs}/usr/share/doc/{installed_pkgs[pkg]['package']}/copyright" + + if os.path.exists(path): + licenses = parse_copyright_file(path) + if bool(licenses): + installed_pkgs[pkg]["licenses"] = licenses + # else: + # logger.warning(f"Packge {pkg} does not contain copyright file") + + # When failed to parse copyright file or package name is in user defined license file, + # set license from license defined file + if not "licenses" in installed_pkgs[pkg] or pkg in user_defined_licenses: + logger.debug(f"Check user defined mapping file for {pkg}") + if pkg in user_defined_licenses: + logger.debug(f"found {pkg} in user defined license file") + synopsis = user_defined_licenses[pkg]["synopsis"] + + installed_pkgs[pkg]["licenses"] = { + "synopsis": synopsis, + "text": {}, + } - if os.path.exists(path): - installed_pkgs[pkg]["licenses"] = parse_copyright_file(path) - else: - installed_pkgs[pkg]["licenses"] = ["unknown"] + for lic_name in user_defined_licenses[pkg]["license_data"]: + lic_data = user_defined_licenses[pkg]["license_data"][lic_name] + installed_pkgs[pkg]["licenses"]["text"][lic_name] = lic_data["text"] + + if not "licenses" in installed_pkgs[pkg]: + logger.warning( + f"{pkg}: Cannot get licenses from Copyright file and user defined license mapping file. So, set NOASSERTION as license." + ) + installed_pkgs[pkg]["licenses"] = {"synopsis": ["NOASSERTION"], "text": {}} -def read_user_defined_license_file(user_defined_licenses): - name = os.path.join(os.path.dirname(__file__), "../conf/licenses/licenses.yml") +def make_user_defined_license_data(yml_file_name): + license_data = {} data = None - with open(name, "r") as f: + with open(yml_file_name, "r") as f: data = yaml.safe_load(f) - if user_defined_licenses: - with open(user_defined_licenses, "r") as f: - tmp = yaml.safe_load(f) - if tmp: - data.update(tmp) + if data is None: + return license_data + + for pkg in data: + license_data[pkg] = {"license_data": {}, "synopsis": {}} + + pkg_data = data[pkg] + typename = type(pkg_data["licenses"]) + # logger.debug(f"{pkg} data type {typename}") + if typename == dict: + for synopsis in pkg_data["licenses"]["license"]: + lic_text_path = None + lic_text = None + + licenses = licensing.split_synopsis_tokens_only(synopsis) + for lic_name in licenses: + if lic_name in pkg_data["licenses"]["text"]: + lic_text_path = pkg_data["licenses"]["text"].get(lic_name) + + if lic_text_path is not None: + lic_text_path = Path(lic_text_path) + if not lic_text_path.is_absolute(): + lic_text_path = yml_file_name.parent.joinpath( + "license_texts", lic_text_path + ) + + if not lic_text_path.exists(): + logger.error( + f"License file {lic_text_path} for {pkg} doesn't exist" + ) + exit(1) + logger.debug( + f"{pkg} read license {lic_name} text from {lic_text_path}" + ) + with open(lic_text_path) as f: + lic_text = f.read() + + license_data[pkg]["license_data"][lic_name] = { + "synopsis": synopsis, + "licenses": licenses, + "text": lic_text, + } + + elif typename == list: + for lic_name in pkg_data["licenses"]: + license_data[pkg]["license_data"][lic_name] = { + "synopsis": lic_name, + "licenses": licensing.split_synopsis_tokens_only(lic_name), + "text": None, + } + elif typename == str: + lic_name = pkg_data["licenses"] + license_data[pkg]["license_data"][lic_name] = { + "synopsis": lic_name, + "licenses": licensing.split_synopsis_tokens_only(lic_name), + "text": None, + } - return data + synopsis = [] + for lic_name in license_data[pkg]["license_data"]: + s = license_data[pkg]["license_data"][lic_name]["synopsis"] + if not s in synopsis: + synopsis.append(s) + + license_data[pkg]["synopsis"] = synopsis + + return license_data + + +def find_pre_defined_file_common(layers, target_path): + ret = [] + + meta_emlinux_file = None + for layer in layers: + layer_name = os.path.basename(layer) + filepath = Path(f"{layer}/{target_path}") + if os.path.exists(filepath): + if layer_name == "meta-emlinux": + meta_emlinux_file = filepath.absolute() + else: + ret.append(filepath.absolute()) + + # meta-emlinux layer is always first + if meta_emlinux_file: + ret.insert(0, meta_emlinux_file) + return ret + + +def find_pre_defined_license_mapping_files(layers): + return find_pre_defined_file_common(layers, "conf/licenses/license-mapping.yml") -def read_license_mapping_file(user_defined_license_mapping): - name = os.path.join(os.path.dirname(__file__), "../conf/licenses/license-mapping.yml") - data = None - with open(name, "r") as f: - data = yaml.safe_load(f) + +def find_pre_defined_licenses_files(layers): + return find_pre_defined_file_common(layers, "conf/licenses/licenses.yml") + + +def read_pre_defined_license_files(files): + license_data = {} + for filepath in files: + license_data.update(make_user_defined_license_data(filepath)) + + return license_data + + +def read_user_defined_license_file(user_defined_license_files): + license_data = {} + if user_defined_license_files: + tmp = make_user_defined_license_data(user_defined_license_files) + license_data.update(tmp) + + return license_data + + +def read_pre_defined_license_mapping_file(files): + license_data = {} + for filepath in files: + with open(filepath) as f: + license_data.update(yaml.safe_load(f)) + + return license_data + + +def read_user_defined_license_mapping_file(user_defined_license_mapping): + license_data = {} if user_defined_license_mapping: with open(user_defined_license_mapping, "r") as f: tmp = yaml.safe_load(f) if tmp: - data.update(tmp) - return data + license_data.update(tmp) + return license_data -def write_sbom_json(output_filepath, sbom_data): +def read_license_files(layers, user_defined_license_file): + license_data = {} + files = find_pre_defined_licenses_files(layers) + license_data.update(read_pre_defined_license_files(files)) + license_data.update(read_user_defined_license_file(user_defined_license_file)) + + return license_data + + +def read_license_mapping_files(layers, user_defined_license_mapping_file): + license_data = {} + files = find_pre_defined_license_mapping_files(layers) + license_data.update(read_pre_defined_license_mapping_file(files)) + license_data.update( + read_user_defined_license_mapping_file(user_defined_license_mapping_file) + ) + return license_data + + +def write_sbom_json(output_filepath, sbom_data): with open(output_filepath, "w") as f: json.dump(sbom_data, f, indent=4, sort_keys=True) + +def create_license_data(installed_pkgs, license_mapping): + for pkg in installed_pkgs: + logger.debug(f"Create data for {pkg}") + licenses = installed_pkgs[pkg]["licenses"] + installed_pkgs[pkg]["normalized_licenses"] = [] + + for synopsis in installed_pkgs[pkg]["licenses"]["synopsis"]: + license_data = licensing.debian_synopsis_to_spdx_license_id( + pkg, synopsis, licenses.get("text"), license_mapping + ) + # do not append duplicated data. + if not license_data in installed_pkgs[pkg]["normalized_licenses"]: + installed_pkgs[pkg]["normalized_licenses"].append(license_data) + + # licenses is no longer needed. + del installed_pkgs[pkg]["licenses"] + license_id_text = licensing.create_single_line_license_id_text( + installed_pkgs[pkg]["normalized_licenses"] + ) + installed_pkgs[pkg]["license_id_text"] = license_id_text + + def main(args): if args.verbose_output: logger.setLevel(logging.DEBUG) @@ -186,16 +366,25 @@ def main(args): distro = bitbakeinfo["image_distro"].split("-")[1] installed_pkgs = parse_dpkg_status(dpkg_status) - - user_defined_licenses = read_user_defined_license_file(args.user_defined_licenses) - license_mapping = read_license_mapping_file(args.user_defined_license_mapping) - packages_info = get_package_info_from_control(bitbakeinfo["dl_dir"], bitbakeinfo["repo_isar_dir"], - distro, bitbakeinfo["image_distro"], bitbakeinfo["distro_arch"]) + layers = bitbake_runner.find_layers() + user_defined_licenses = read_license_files(layers, args.user_defined_licenses) + license_mapping = read_license_mapping_files( + layers, args.user_defined_license_mapping + ) + + packages_info = get_package_info_from_control( + bitbakeinfo["dl_dir"], + bitbakeinfo["repo_isar_dir"], + distro, + bitbakeinfo["image_distro"], + bitbakeinfo["distro_arch"], + ) installed_pkgs = merge_package_data(installed_pkgs, packages_info) - find_copyright_files(rootfs, installed_pkgs, user_defined_licenses) + read_copyright_files(rootfs, installed_pkgs, user_defined_licenses) + create_license_data(installed_pkgs, license_mapping) output_dir = f"{bitbakeinfo['deploy_dir']}/sbom/{bitbakeinfo['image_full_name']}" if not os.path.exists(output_dir): @@ -208,9 +397,18 @@ def main(args): logger.info(f"Create {args.sbom_format} format sbom for {args.image}") if args.sbom_format == "cyclonedx": - sbom_data = sbom_cyclonedx.create_cyclonedx_sbom(args.product, args.image, distro, installed_pkgs, args.supplier, license_mapping) + sbom_data = sbom_cyclonedx.create_cyclonedx_sbom( + args.product, + args.image, + distro, + installed_pkgs, + args.supplier, + license_mapping, + ) else: - sbom_data = sbom_spdx.create_spdx_sbom(args.product, args.image, distro, installed_pkgs, args.supplier, license_mapping) + sbom_data = sbom_spdx.create_spdx_sbom( + args.product, args.image, distro, installed_pkgs, args.supplier + ) if sbom_data: write_sbom_json(output_filepath, sbom_data) @@ -218,26 +416,64 @@ def main(args): else: logger.critical("Failed to create SBOM.") + def parse_options(): parser = argparse.ArgumentParser() - parser.add_argument("--image", dest="image", help="EMLinux image name", - metavar="IMAGENAME", required=True) - parser.add_argument("--sbom-format", dest="sbom_format", help="spdx or cyclonedx", - metavar="SBOM_FORMAT", required=True) - parser.add_argument("--distro", dest="distro", help="debian distro name(e.g. bookworm)", - metavar="DISTRO") - parser.add_argument("--licenses", dest="user_defined_licenses", help="license yaml file", - metavar="FILE") - parser.add_argument("--license-mapping", dest="user_defined_license_mapping", help="license mapping yaml file", - metavar="FILE") - parser.add_argument("--supplier", dest="supplier", help="Supplier name(e.g. company name)", - metavar="SUPPLIER", required=True) - parser.add_argument("--product", dest="product", help="Product name", - metavar="PRODUCT", required=True) - parser.add_argument("--verbose", dest="verbose_output", help="Enable verbose output", - action="store_true") + parser.add_argument( + "--image", + dest="image", + help="EMLinux image name", + metavar="IMAGENAME", + required=True, + ) + parser.add_argument( + "--sbom-format", + dest="sbom_format", + help="spdx or cyclonedx", + metavar="SBOM_FORMAT", + required=True, + ) + parser.add_argument( + "--distro", + dest="distro", + help="debian distro name(e.g. bookworm)", + metavar="DISTRO", + ) + parser.add_argument( + "--licenses", + dest="user_defined_licenses", + help="license yaml file", + metavar="FILE", + ) + parser.add_argument( + "--license-mapping", + dest="user_defined_license_mapping", + help="license mapping yaml file", + metavar="FILE", + ) + parser.add_argument( + "--supplier", + dest="supplier", + help="Supplier name(e.g. company name)", + metavar="SUPPLIER", + required=True, + ) + parser.add_argument( + "--product", + dest="product", + help="Product name", + metavar="PRODUCT", + required=True, + ) + parser.add_argument( + "--verbose", + dest="verbose_output", + help="Enable verbose output", + action="store_true", + ) return parser.parse_args() + if __name__ == "__main__": main(parse_options()) diff --git a/scripts/lib/python/sbom/licensing.py b/scripts/lib/python/sbom/licensing.py index 2167bd10..65488f23 100644 --- a/scripts/lib/python/sbom/licensing.py +++ b/scripts/lib/python/sbom/licensing.py @@ -1,102 +1,165 @@ -def normalize_licenses(lics, license_mapping): - new_licenses = [] +from spdx_tools.common.spdx_licensing import spdx_licensing - for lic in lics: - if lic in license_mapping: - new_licenses.append(license_mapping[lic]) - else: - new_licenses.append(lic) - return new_licenses - -def split_licenses(lic, sep): - arr = [] - - lics = lic.split(sep) - for l in lics: - arr.append(l.strip()) - - return arr - - -def split_licesense_and_normalize(lic, license_mapping): - """ - Normalize license string based on https://scancode-licensedb.aboutcode.org/ - """ - lics = [] - - if lic in license_mapping: - return [license_mapping[lic]] - - if "~" in lic: - lic = lic.replace("~", "") - - if " exception" in lic: - lic = lic.replace(" exception", "-exception") - - if ", and " in lic: - lics += normalize_licenses(split_licenses(lic, ", and "), license_mapping) - elif "," in lic: - lics += normalize_licenses(split_licenses(lic, ","), license_mapping) - elif "/" in lic: - tmp = normalize_licenses(split_licenses(lic, "/"), license_mapping) - lics.append("-".join(tmp)) - elif " with " in lic: - tmp = normalize_licenses(split_licenses(lic, " with "), license_mapping) - lics.append(" WITH ".join(tmp)) - elif "-WITH-" in lic: - tmp = normalize_licenses(split_licenses(lic, "-WITH-"), license_mapping) - lics.append(" WITH ".join(tmp)) - elif " and/or " in lic: - tmp = normalize_licenses(split_licenses(lic, "and/or"), license_mapping) - lics.append("-and-or-".join(" and-or ", "-and-or-")) - elif " and-or " in lic: - tmp = normalize_licenses(split_licenses(lic, " and-or "), license_mapping) - lics.append("-and-or-".join(tmp)) - elif " OR " in lic: - tmp = normalize_licenses(split_licenses(lic, " OR "), license_mapping) - l = f"({' OR '.join(tmp)})" - lics.append(l) - elif " or " in lic: - tmp = normalize_licenses(split_licenses(lic, " or "), license_mapping) - l = f"({' OR '.join(tmp)})" - lics.append(l) - - else: - lics += normalize_licenses([lic], license_mapping) - - return lics - -def split_licenses_simple(licenses): - ret = [] - splited = False - - for lic in licenses: - if ", and " in lic: - ret += lic.split(", and ") - splited = True - elif " and " in lic: - ret += lic.split(" and ") - splited = True - else: - ret.append(lic) +from license_expression import ( + ExpressionParseError, + ExpressionError, +) - if splited: - return split_licenses_simple(ret) - - return ret +import hashlib +import re -def normalize_for_sbom(licenses, license_mapping): - tmp = [] - normalized = [] +import logging - lics = split_licenses_simple(licenses) - for lic in lics: - tmp += split_licesense_and_normalize(lic, license_mapping) +logger = logging.getLogger("emlinux-sbom-creator") - for lic in tmp: - if not lic.startswith("(") and " " in lic: - normalized.append(lic.replace(" ", "-")) +def create_licenseref_id(pkgname, lic): + m = hashlib.sha256() + m.update(b"{pkgname}-{lic}") + h = m.hexdigest() + return f"LicenseRef-{pkgname}-{lic}-{h}" + + +def split_synopsis(synopsis): + s = synopsis + s = re.sub(r"\s+and/or\s+", " OR ", s, flags=re.IGNORECASE) + s = re.sub(r",\s+and\s+", " AND ", s, flags=re.IGNORECASE) + s = re.sub(r",\s+or\s+", " OR ", s, flags=re.IGNORECASE) + + return re.split( + r"(\s+\bAND\b\s+|\s+\bOR\b\s+|\s+\band\b\s+|\s+\bor\s+|\s*,\s*)", + s, + flags=re.IGNORECASE, + ) + + +def split_synopsis_tokens_only(synopsis): + raw_tokens = split_synopsis(synopsis) + + tokens = [ + t.strip() + for t in raw_tokens + if t and t.strip() and t.strip().upper() not in ["AND", "OR", ","] + ] + + return tokens + + +def sanitize_spdx_idstring(text: str) -> str: + # Replace invalid charcters for SPDX license ID to "-" + sanitized = re.sub(r"[^A-Za-z0-9.-]", "-", text) + if not text == sanitized: + logger.debug(f"Convert {text} to {sanitized}") + sanitized = re.sub(r"-+", "-", sanitized) + + return sanitized.strip(".-") + + +def get_license_text_by_name(license_texts, licence_name): + if license_texts.get(licence_name) is None: + return "No license information is available." + + return license_texts[licence_name] + + +def debian_synopsis_to_spdx_license_id( + pkgname, synopsis, license_texts, license_mapping +): + license_data = {} + extracted_texts_map = {} + + tokens = split_synopsis(synopsis) + processed_tokens = [] + has_operator = False + + for token in tokens: + if not token: + continue + + token_strip = token.strip().upper() + + if token_strip in ["AND", "OR"] or "," in token: + has_operator = True + if token_strip == "AND": + processed_tokens.append(" AND ") + elif token_strip == "OR": + processed_tokens.append(" OR ") + elif "," in token: + processed_tokens.append(" AND ") + continue + + lic = token.strip() + license_id = None + + try: + if lic in license_mapping: + lic = license_mapping[lic] + spdx_licensing.parse(lic) + error = spdx_licensing.validate(lic) + if error and len(error.errors) > 0: + raise ExpressionError(error.errors) + license_id = lic + + except Exception as e: + sanitaized_lic = lic + + # logger.warning(f"Exception type is {type(e)}") + if type(e) == ExpressionError or type(e) == ExpressionParseError: + # "NTP~legal-disclaimer" : this type of license is thrown as ExpressionError + # "LGPL-2.1+ with OpenSSL exception" : this type of license is thrown as ExpressionParseError + sanitaized_lic = sanitize_spdx_idstring(lic) + + if lic in license_texts: + license_id = create_licenseref_id(pkgname, sanitaized_lic) + logger.debug( + f"License token is in license texts. Token '{lic}' -> Create extracted_license {license_id}" + ) + extracted_texts_map[license_id] = get_license_text_by_name( + license_texts, lic + ) + elif synopsis in license_texts: + license_id = create_licenseref_id(pkgname, sanitaized_lic) + logger.debug( + f"Synopsis is in license texts. Synopsis {synopsis} -> Create extracted_license {license_id}" + ) + extracted_texts_map[license_id] = get_license_text_by_name( + license_texts, synopsis + ) + else: + if lic == "public-domain" or lic == "PublicDomain": + license_id = create_licenseref_id(pkgname, sanitaized_lic) + logger.debug("Set dummy Extracted text for public domain lincense") + extracted_texts_map[license_id] = "PUBLIC DOMAIN" + elif not lic == "NOASSERTION": + logger.warning( + f"{pkgname}: Cannot understand licence {lic} so set 'NOASSERTION'" + ) + license_id = "NOASSERTION" + else: + license_id = "NOASSERTION" + + processed_tokens.append(license_id) + + parsed_licenses = "".join(processed_tokens) + parsed_licenses = re.sub(r"\s+", " ", parsed_licenses).strip() + + if has_operator and not ( + parsed_licenses.startswith("(") and parsed_licenses.endswith(")") + ): + parsed_licenses = f"({parsed_licenses})" + + license_data["parsed_synopsis"] = parsed_licenses + license_data["extracted_texts_map"] = extracted_texts_map + + return license_data + + +def create_single_line_license_id_text(licenses): + ret = None + for license in licenses: + synopsis = license["parsed_synopsis"] + if ret is None: + ret = synopsis else: - normalized.append(lic) + ret = f"{ret} AND {synopsis}" - return list(set(normalized)) + return ret diff --git a/scripts/lib/python/sbom/sbom_cyclonedx.py b/scripts/lib/python/sbom/sbom_cyclonedx.py index 1e2ead36..db9c7d96 100644 --- a/scripts/lib/python/sbom/sbom_cyclonedx.py +++ b/scripts/lib/python/sbom/sbom_cyclonedx.py @@ -2,7 +2,7 @@ from cyclonedx.exception import MissingOptionalDependencyException from cyclonedx.factory.license import LicenseFactory -from cyclonedx.model import HashType +from cyclonedx.model import HashType, AttachedText from cyclonedx.model.bom import Bom from cyclonedx.model.component import Component, ComponentType from cyclonedx.model.contact import OrganizationalEntity @@ -10,17 +10,18 @@ from cyclonedx.output.json import JsonV1Dot5 from cyclonedx.schema import SchemaVersion from cyclonedx.validation.json import JsonStrictValidator -from cyclonedx.model.license import LicenseExpression +from cyclonedx.model.license import LicenseExpression, DisjunctiveLicense import json - +import re import os.path import sys + sys.path.append(os.path.dirname(__file__)) import sbom_common -import licensing import logging + logger = logging.getLogger("emlinux-sbom-creator") def debian_section_to_component_type(section): @@ -40,100 +41,154 @@ def debian_section_to_component_type(section): elif section == "kernel": return ComponentType.OPERATING_SYSTEM - return ComponentType.APPLICATION - -def make_license_info(factory, licenses, license_mapping): - ret = None - - uniq_licenses = licensing.normalize_for_sbom(licenses, license_mapping) - for lic in uniq_licenses: - tmp = factory["lc_factory"].make_with_name(lic) - if ret is None: - ret = tmp.name - else: - ret = f"{ret} AND {tmp.name}" + return ComponentType.APPLICATION - return ret def create_organization_entity(pkg): return OrganizationalEntity( - name = pkg["maintainer"], + name=pkg["maintainer"], ) + def create_package_url(distro, pkg): - return PackageURL("deb/debian", - "", - pkg["package"], - pkg["version"], - { - "arch": pkg["arch"], - "distro": distro, - } - ) + return PackageURL( + "deb/debian", + "", + pkg["package"], + pkg["version"], + { + "arch": pkg["arch"], + "distro": distro, + }, + ) + def create_hashes_data(pkg): return [HashType.from_composite_str(f"sha256:{pkg['sha256sum']}")] + +def build_cyclonedx_licenses(pkg): + """ + Builds a list of CycloneDX license objects from package metadata. + Handles the distinction between standard SPDX IDs and custom LicenseRef identifiers. + """ + licenses_string = pkg.get("license_id_text", "") + has_license_ref = "LicenseRef-" in licenses_string + + # Pattern 1: No custom licenses found (all are standard SPDX IDs) + # -> Unify into a single LicenseExpression to avoid schema validation errors. + if not has_license_ref: + if licenses_string: + return [LicenseExpression(value=licenses_string)] + return [] + + # Pattern 2: Custom licenses found (LicenseRef-xxx exists) + # -> Unify everything into a list of DisjunctiveLicense objects to avoid mixed-type errors. + cdx_licenses = [] + + for norm_lic in pkg.get("normalized_licenses", []): + synopsis = norm_lic.get("parsed_synopsis", "").strip() + if not synopsis: + continue + + # Split partially-parsed elements that contain operators (AND/OR) or parentheses + # e.g., "(BSD-4-clause-UC AND LicenseRef-bash-MIT-like...)" + # -> ["BSD-4-clause-UC", "LicenseRef-bash-MIT-like..."] + raw_identifiers = re.split(r"[\s()]+(?:AND|OR)?[\s()]*|[\s()]+", synopsis) + identifiers = [ + id_str + for id_str in raw_identifiers + if id_str and id_str not in ("AND", "OR", "and", "or") + ] + + for single_id in identifiers: + # 2-A. For custom identifiers (LicenseRef-xxx) + if single_id.startswith("LicenseRef-"): + text_map = norm_lic.get("extracted_texts_map", {}) + license_text = ( + text_map.get(single_id) or text_map.get(synopsis) or "PUBLIC DOMAIN" + ) + + cdx_licenses.append( + DisjunctiveLicense( + name=single_id, + text=AttachedText( + content=license_text, content_type="text/plain" + ), + ) + ) + # 2-B. For standard SPDX IDs when custom licenses coexist in the same array + # -> Store in the 'name' field instead of 'id' to bypass strict schema validation rules. + else: + cdx_licenses.append(DisjunctiveLicense(name=single_id)) + + return cdx_licenses + + def create_component(factory, distro, pkg, license_mapping): # https://cyclonedx.org/docs/1.5/json/#components # https://github.com/package-url/purl-spec purl_info = create_package_url(distro, pkg) - pkgname_hash = sbom_common.package_name_hash(pkg['package'], pkg['source']) + pkgname_hash = sbom_common.package_name_hash(pkg["package"], pkg["source"]) - licenses_string = make_license_info(factory, pkg["licenses"], license_mapping) return Component( - type = debian_section_to_component_type(pkg["section"]), - name = pkg["package"], - group = pkg["source"], - version = pkg["version"], - licenses = [LicenseExpression(value=licenses_string)], - supplier = create_organization_entity(pkg), - bom_ref = BomRef(f"{pkg['package']}@{pkg['version']}-{pkgname_hash}"), - purl = purl_info, - hashes = create_hashes_data(pkg), - description = pkg["description"], + type=debian_section_to_component_type(pkg["section"]), + name=pkg["package"], + group=pkg["source"], + version=pkg["version"], + licenses=build_cyclonedx_licenses(pkg), + supplier=create_organization_entity(pkg), + bom_ref=BomRef(f"{pkg['package']}@{pkg['version']}-{pkgname_hash}"), + purl=purl_info, + hashes=create_hashes_data(pkg), + description=pkg["description"], ) + def create_meta(factory, product, image, supplier): - license = factory["lc_factory"].make_from_string('MIT') - + license = factory["lc_factory"].make_from_string("MIT") + product_name_hash = sbom_common.package_name_hash(product, "") factory["bom"].metadata.component = root_component = Component( - name = image, - type = ComponentType.OPERATING_SYSTEM, - licenses = [ license ], - bom_ref = BomRef(f"{product}-{product_name_hash}"), - supplier = OrganizationalEntity(name = supplier), + name=image, + type=ComponentType.OPERATING_SYSTEM, + licenses=[license], + bom_ref=BomRef(f"{product}-{product_name_hash}"), + supplier=OrganizationalEntity(name=supplier), ) return root_component + def create_sbom_json(bom): outputter = JsonV1Dot5(bom) - serialized_json = outputter.output_as_string(indent = 2) + serialized_json = outputter.output_as_string(indent=2) validator = JsonStrictValidator(SchemaVersion.V1_5) try: validation_errors = validator.validate_str(serialized_json) if validation_errors: - logger.debug('JSON invalid', 'ValidationError:', repr(validation_errors), sep='\n', file=sys.stderr) + logger.debug("CycloneDX Validation message") + logger.debug(validation_errors) return None return json.loads(serialized_json) except MissingOptionalDependencyException as error: - logger.debug('JSON-validation was skipped due to', error) + logger.debug("JSON-validation was skipped due to", error) return None return None + def init_bom(): return { "lc_factory": LicenseFactory(), "bom": Bom(), } + def create_cyclonedx_sbom(product, image, distro, packages, supplier, license_mapping): factory = init_bom() @@ -148,4 +203,3 @@ def create_cyclonedx_sbom(product, image, distro, packages, supplier, license_ma factory["bom"].register_dependency(root, components) return create_sbom_json(factory["bom"]) - diff --git a/scripts/lib/python/sbom/sbom_spdx.py b/scripts/lib/python/sbom/sbom_spdx.py index ab482845..98dd42dc 100644 --- a/scripts/lib/python/sbom/sbom_spdx.py +++ b/scripts/lib/python/sbom/sbom_spdx.py @@ -1,5 +1,4 @@ from datetime import datetime -from typing import List from spdx_tools.spdx.constants import DOCUMENT_SPDX_ID from spdx_tools.common.spdx_licensing import spdx_licensing @@ -14,9 +13,9 @@ PackagePurpose, Relationship, RelationshipType, + ExtractedLicensingInfo, ) from spdx_tools.spdx.validation.document_validator import validate_full_spdx_document -from spdx_tools.spdx.validation.validation_message import ValidationMessage from spdx_tools.spdx.writer.write_anything import write_file from spdx_tools.spdx.model.spdx_none import SpdxNone from license_expression import ExpressionParseError @@ -28,13 +27,15 @@ import uuid import logging + logger = logging.getLogger("emlinux-sbom-creator") import os.path import sys + sys.path.append(os.path.dirname(__file__)) import sbom_common -import licensing + def debian_section_to_component_type(section): if section == "libs" or section == "oldlibs": @@ -48,6 +49,7 @@ def debian_section_to_component_type(section): return PackagePurpose.APPLICATION + def get_maintainer_name_and_email(pkg): s = pkg["maintainer"] @@ -67,69 +69,77 @@ def get_maintainer_name_and_email(pkg): return email, name -def create_uniq_list(data): - return list(set(data)) -def split_licenses(lic, sep): - arr = [] +def create_extracted_license_info(pkg): + ret = [] - lics = lic.split(sep) - for l in lics: - arr.append(l.strip()) + created = [] + name = pkg["package"] + for ext in pkg["normalized_licenses"]: + text_maps = ext["extracted_texts_map"] + if not bool(text_maps): + continue - return arr + for license_name in text_maps: + if license_name in created: + continue -def create_license_string(pkg, license_mapping): - licenses = [] - s = "" + text = text_maps[license_name] + logger.debug(f"Create ExtractedLicensingInfo for {license_name}") + extracted_info = ExtractedLicensingInfo( + license_id=license_name, + extracted_text=text, + license_name=f"Custom License for {name} {license_name}", + ) + ret.append(extracted_info) + created.append(license_name) + return ret - licenses_tmp = licensing.normalize_for_sbom(create_uniq_list(pkg["licenses"]), license_mapping) - try: - for lic in licenses_tmp: - spdx_licensing.parse(lic) - licenses.append(lic) - except ExpressionParseError as e: - logger.debug(f"Invalid license name '{lic}'") - licenses.append("unknown") +def create_package_info(pkg, distro): + email, name = get_maintainer_name_and_email(pkg) - s = " AND ".join(licenses) + try: + license_id_text = spdx_licensing.parse(pkg["license_id_text"]) + except ExpressionParseError: + logger.warning(f"Failed to parse {pkg['license_id_text']} so set NOASSERTION") + license_id_text = spdx_licensing.parse("NOASSERTION") - return spdx_licensing.parse(s) + extracted_licenses = create_extracted_license_info(pkg) -def create_package_info(pkg, distro, license_mapping): - email, name = get_maintainer_name_and_email(pkg) - - licenses = create_license_string(pkg, license_mapping) - purl_str = quote(f"pkg:deb/debian/{pkg['package']}@{pkg['version']}?arch={pkg['arch']}&distro={distro}", safe = "@=&/:?") + purl_str = quote( + f"pkg:deb/debian/{pkg['package']}@{pkg['version']}?arch={pkg['arch']}&distro={distro}", + safe="@=&/:?", + ) pkg_name_hash = sbom_common.package_name_hash(pkg["package"], pkg["version"]) spdxid = f"SPDXRef-Package-{pkg_name_hash}" package = Package( - name = pkg["package"], - spdx_id = spdxid, - download_location = SpdxNone(), - version = pkg["version"], - source_info = f"build from: {pkg['source']} {pkg['version']}", - supplier = Actor(ActorType.ORGANIZATION, name, email), - license_concluded = licenses, - license_declared = licenses, - primary_package_purpose = debian_section_to_component_type(pkg["section"]), - external_references = [ + name=pkg["package"], + spdx_id=spdxid, + download_location=SpdxNone(), + version=pkg["version"], + source_info=f"build from: {pkg['source']} {pkg['version']}", + supplier=Actor(ActorType.ORGANIZATION, name, email), + license_concluded=license_id_text, + license_declared=license_id_text, + primary_package_purpose=debian_section_to_component_type(pkg["section"]), + external_references=[ ExternalPackageRef( - category = ExternalPackageRefCategory.PACKAGE_MANAGER, - reference_type = "purl", - locator = purl_str, + category=ExternalPackageRefCategory.PACKAGE_MANAGER, + reference_type="purl", + locator=purl_str, ) ], - files_analyzed = False, - attribution_texts = [ f"PkgID: {pkg['package']}@{pkg['version']}" ], - description = pkg["description"], + files_analyzed=False, + attribution_texts=[f"PkgID: {pkg['package']}@{pkg['version']}"], + description=pkg["description"], ) - return spdxid, package + return spdxid, package, extracted_licenses + def create_meta(product, image, supplier): today = datetime.now() @@ -137,33 +147,61 @@ def create_meta(product, image, supplier): doc_name = f"{product}" ci = CreationInfo( - spdx_version = "SPDX-2.3", - spdx_id = spdxid, - name = doc_name, - data_license = "CC0-1.0", + spdx_version="SPDX-2.3", + spdx_id=spdxid, + name=doc_name, + data_license="CC0-1.0", # see https://spdx.github.io/spdx-spec/v2.3/document-creation-information/#65-spdx-document-namespace-field - document_namespace = f"https://github.com/miraclelinux/meta-emlinux/spdx/{doc_name}-{uuid.uuid4()}", - creators = [Actor(ActorType.ORGANIZATION, supplier)], - created = datetime(today.year, today.month, today.day, today.hour, today.minute, today.second), + document_namespace=f"https://github.com/miraclelinux/meta-emlinux/spdx/{doc_name}-{uuid.uuid4()}", + creators=[Actor(ActorType.ORGANIZATION, supplier)], + created=datetime( + today.year, today.month, today.day, today.hour, today.minute, today.second + ), ) return spdxid, Document(ci) -def create_spdx_sbom(product, image, distro, packages, supplier, license_mapping): + +def create_spdx_sbom(product, image, distro, packages, supplier): doc_spdxid, doc = create_meta(product, image, supplier) + # Root package + root_spdxid = f"SPDXRef-RootPackage-{product}" + root_package = Package( + name=product, + spdx_id=root_spdxid, + download_location=SpdxNone(), + files_analyzed=False, + primary_package_purpose=PackagePurpose.OPERATING_SYSTEM, + description=f"Root image for {product}", + ) + doc.packages.append(root_package) + + doc.relationships.append( + Relationship(doc_spdxid, RelationshipType.DESCRIBES, root_spdxid) + ) + for name in packages: - pkg_spdxid, package = create_package_info(packages[name], distro, license_mapping) + pkg_spdxid, package, extracted_licenses = create_package_info( + packages[name], distro + ) doc.packages.append(package) - doc.relationships.append(Relationship(doc_spdxid, RelationshipType.DESCRIBES, pkg_spdxid)) - + + # Add debian package to Root package + doc.relationships.append( + Relationship(root_spdxid, RelationshipType.CONTAINS, pkg_spdxid) + ) + + for el in extracted_licenses: + doc.extracted_licensing_info.append(el) + validation_messages = validate_full_spdx_document(doc) if validation_messages: logger.debug("SPDX Validation message") for vm in validation_messages: logger.debug(f"- {vm.validation_message}") - + tempname = f"{tempfile.mktemp()}.json" write_file(doc, tempname, False)