<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.osselot.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ckresse</id>
	<title>OSSelot - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.osselot.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ckresse"/>
	<link rel="alternate" type="text/html" href="https://wiki.osselot.org/index.php/Special:Contributions/Ckresse"/>
	<updated>2026-05-18T06:56:04Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://wiki.osselot.org/index.php?title=Curation_guideline&amp;diff=259</id>
		<title>Curation guideline</title>
		<link rel="alternate" type="text/html" href="https://wiki.osselot.org/index.php?title=Curation_guideline&amp;diff=259"/>
		<updated>2026-03-23T07:43:00Z</updated>

		<summary type="html">&lt;p&gt;Ckresse: Adapt to consider new FOSSology version and Github actions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This information is intended to provide guidelines on how data are curated for the &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;OSSelot&amp;lt;/span&amp;gt; project and how contributing works. The curator should be familiar with their preferred scanning tool (ours is [[FOSSology|Fossology]]) and have a general understanding of copyright law and in particular knowledge of FOSS licensing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note:&#039;&#039; Whenever information is given that is specific to [[FOSSology|Fossology]], it is prepended with the keyword &#039;&#039;&#039;fossy&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Preparation ==&lt;br /&gt;
* Obtain the component in source code form.&lt;br /&gt;
** Note the download URL.&lt;br /&gt;
* Naming convention:&lt;br /&gt;
** Try to follow the project’s naming and version convention, e.g. as given by the release’s git tag.&lt;br /&gt;
** If this is not consistent, use only lowercase letters.&lt;br /&gt;
** [package name]-[version number], e.g. angular-15.1.0.&lt;br /&gt;
* Analyze the component with a license scan tool (e.g. [[FOSSology|Fossology]], [[Scancode|Scancode]]).&lt;br /&gt;
** &#039;&#039;&#039;fossy:&#039;&#039;&#039; [[FOSSology|Fossology]] default settings for analysis:&lt;br /&gt;
*** 7. Select optional analysis:&lt;br /&gt;
**** Upload from file&lt;br /&gt;
**** Copyright/Email/URL/Author Analysis&lt;br /&gt;
**** Monk License Analysis, scanning for licenses performing a text comparison&lt;br /&gt;
**** Nomos License Analysis, scanning for licenses using regular expressions&lt;br /&gt;
**** Ojo License Analysis, scanning for licenses using SPDX-License-Identifier&lt;br /&gt;
*** 10. ScanCode Toolkit, scan for&lt;br /&gt;
**** License&lt;br /&gt;
**** Copyright&lt;br /&gt;
** [[Scancode|Scancode]] default options for analysis:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
scancode -cli --license-text -json [package name-version].json [package]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;c: copyrights; l: licenses; i: file information; --license-text: include full license text&lt;br /&gt;
&lt;br /&gt;
== Data curation ==&lt;br /&gt;
* A licensing expert reviews and analyzes the scanning results.&lt;br /&gt;
* [[FOSSology|Fossology]] can directly be used to review the results. The [[Scancode]] results must be reviewed with an external tool, e.g. [https://github.com/opossum-tool/opossumUI Opossum].&lt;br /&gt;
* Review is done on file level, i.e. every file in the source code tree for which at least one scanner found a result is analyzed.&lt;br /&gt;
** &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], you can browse through the relevant files by selecting &amp;quot;Go through all files with licenses and no clearing result&amp;quot;.&lt;br /&gt;
* That means:&lt;br /&gt;
** scanner findings are confirmed, or&lt;br /&gt;
** scanner findings are corrected.&lt;br /&gt;
* If there are no findings for a file, the conclusion is NO ASSERTION (for SPDX tag &#039;&#039;LicenseConcluded&#039;&#039;).&lt;br /&gt;
** &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], this is given by the clearing decision types &amp;quot;No license known&amp;quot; or &amp;quot;Irrelevant&amp;quot; or &amp;quot;Non-functional&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;LicenseComments&#039;&#039; ===&lt;br /&gt;
In case a license conclusion is not obvious, the decision is explained.&lt;br /&gt;
* This is done with the following heuristic:&amp;lt;blockquote&amp;gt;The information in the file is:&amp;lt;br/&amp;gt;&amp;quot;[Quote licensing information in the source code file]&amp;quot;&amp;lt;br/&amp;gt;[Give reason for conclusion] Therefore, [license] is concluded.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* Example 1: No version&amp;lt;blockquote&amp;gt;The information in the file is:&amp;lt;br/&amp;gt;&amp;quot;This file is GPL&#039;d.&amp;quot;&amp;lt;br/&amp;gt;As no version of the GPL is given, GPL-1.0-or-later is concluded.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* Example 2: URL for license text&amp;lt;blockquote&amp;gt;The information in the file is:&amp;lt;br/&amp;gt;&amp;quot;This file is licensed under License A. You can find the license text at &amp;lt;nowiki&amp;gt;https://www.LicenseTextOfLicenseA.com&amp;lt;/nowiki&amp;gt;.&amp;quot;&amp;lt;br/&amp;gt;The URL contains the license text of License A, therefore License A is concluded. The information was retrieved on [date].&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In Fossology, the explanations are given in the &amp;quot;Comment&amp;quot; section which maps to the SPDX tag &#039;&#039;LicenseComments&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Correcting scanner findings ===&lt;br /&gt;
The following list includes typical cases where scanner findings have to be corrected and how to do so.&lt;br /&gt;
&lt;br /&gt;
==== Not a license ====&lt;br /&gt;
The scanner concludes a license from an expression in a file that is not actually a license expression at all. In this case, the incorrect license finding is removed.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], the source of the scanner finding is highlighted when clicking on the number (#1) behind the scanner.&lt;br /&gt;
==== Not the file&#039;s license ====&lt;br /&gt;
The scanner concludes a license from a license expression that is part of the file’s content but not the license of the file itself. In this case, the incorrect license finding is removed.&lt;br /&gt;
==== License text ====&lt;br /&gt;
Files that contain only a license text (e.g. COPYING) are concluded by the scanners to be licensed under the respective license. This is usually not correct. Most license texts are not explicitly licensed, so the finding is removed. The GNU licenses contain a license statement for the license text itself which is concluded for these cases (&#039;&#039;License-of-GNU-licenses&#039;&#039;).&lt;br /&gt;
==== Imprecise finding ====&lt;br /&gt;
The scanner finding might be imprecise, e.g. w.r.t. to the version of a license, e.g. no version number is given. If this is the case, the imprecise finding is removed and the specified license and version is concluded. If no version is given, the lowest existing version with the -or-later extension is concluded.&lt;br /&gt;
==== Dual licensing ====&lt;br /&gt;
A file might offer a choice of two or more licenses under which it can be used. If the context requires to chose one specific license, this choice must be noted. However, all applicable licenses must be concluded. Also, dual license cases require additional post-processing, see section &amp;quot;Post-processing&amp;quot; below.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], add the following text to the &amp;quot;Acknowledgement&amp;quot; section of the &amp;quot;Dual-license&amp;quot; finding to note the license choice, if applicable:&amp;lt;blockquote&amp;gt;To the extend files may be licensed under License A or License B, in this context License B has been chosen. This shall not restrict the freedom of other users to choose either License A or License B. For convenience, all license texts are provided.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
==== License exceptions ====&lt;br /&gt;
In particular for the GNU licenses, there are a number of license exceptions.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; [[FOSSology|Fossology]] notes the license and the exception as separate findings. This is corrected to one finding using the SPDX license expression [License] WITH [exception], e.g. GPL-2.0-or-later WITH GCC-exception-2.0.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; If the [[FOSSology|Fossology]] license database does not yet contain these licenses, they have to be added. &lt;br /&gt;
==== Generic license texts ====&lt;br /&gt;
For some licenses, especially the BSD-type licenses, many variants of the license texts exist. The scanners often provide only the generic license texts. If an individual text differs from the generic text, the individual license text is provided.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], click percentage of match to see differences.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; The individual text is copied from the file into the &amp;quot;License&amp;quot; section of [[FOSSology|Fossology]].&lt;br /&gt;
==== External references ====&lt;br /&gt;
Sometimes the file does not contain the name or text of a license but references an external resource such as a COPYRIGHT file in the root directory or a URL. In these cases, the external reference is checked and the detected license is concluded and the process is documented as a &#039;&#039;LicenseComment&#039;&#039; (in case of a URL, the date of access is noted).&lt;br /&gt;
==== (Partially) global license assignment ====&lt;br /&gt;
Sometimes there is a Readme file or similar that contains a statement assigning a license to several files within the source tree (e.g. all files in a specific directory). As such information is often outdated or does not account for individual licensing of files, it is not used to assign a license to a file here.&lt;br /&gt;
==== Acknowledgment ====&lt;br /&gt;
If a license has an acknowledgment requirement, the respective acknowledgment text is given. In particular for CC_BY licenses, the acknowledgment must contain the following information (if available): name of the creator, copyright notice, license notice, disclaimer, link to the material.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], the acknowledgment text is given in the &amp;quot;Acknowledgement&amp;quot; section.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;fossy:&#039;&#039;&#039; Bulk statements ===&lt;br /&gt;
In [[FOSSology|Fossology]], scanner findings can be confirmed, removed or corrected with bulk statements.&lt;br /&gt;
* When doing so, it is crucial to start with the shorter bulk statements as these can be part of a longer bulk statement which would then be modified by running the short bulk statement after the long one. For example (abbreviated):&amp;lt;blockquote&amp;gt;Short bulk statement: &amp;quot;This file is licensed under GPL version 2.0.&amp;quot;&amp;lt;br/&amp;gt;Long bulk statement: &amp;quot;This file is licensed under GPL version 2.0. As a special exception, you may...&amp;quot;&amp;lt;/blockquote&amp;gt; Here, the short bulk statement will modify the findings for the file with the long bulk statement. It should therefore be run first so that afterwards, the long bulk statement can correct the conclusion for the relevant files.&lt;br /&gt;
* Do not limit the scope of bulk statements, rather choose unique bulk statements. When reusing bulk statements for future uploads, the initial scope is not preserved, but they are applied to the entire upload, so it might yield false results.&lt;br /&gt;
&lt;br /&gt;
=== Curating copyright statements ===&lt;br /&gt;
* Remove findings that were incorrectly identified as a copyright statement (e.g. license texts, code, etc.).&lt;br /&gt;
* Remove content from copyright statements that is not part of the copyright notice (e.g. formatting signs, license notices, comments on content, code, etc.).&lt;br /&gt;
* If the source code tree contains an AUTHORS file, the content of this is given as value to the SPDX tag &#039;&#039;PackageCopyrightText&#039;&#039; in the post-processing stage (see section “Post-processing” below).&lt;br /&gt;
&lt;br /&gt;
=== Package license ===&lt;br /&gt;
Only If there is a LICENSE or COPYING or similar file in the root directory that states a main license for the package, we give this information as value to the SPDX tag &#039;&#039;PackageLicenseDeclared&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], this is marked as the &amp;quot;main license&amp;quot; by activating the star symbol. Caution: If the main license is a custom text, [[FOSSology|Fossology]] takes the standard template text anyway. This has to be corrected manually in the post-processing stage (see section “Post-processing” below).&lt;br /&gt;
&lt;br /&gt;
== Report export and post-processing ==&lt;br /&gt;
In the SPDX standard, licenses are denoted by a short identifier (e.g. GPL-2.0-only or LicenseRef-MIT-customized). Licenses that are not listed in the [https://spdx.org/licenses SPDX License List] are prefixed by &amp;quot;LicenseRef-&amp;quot;, and in the section &amp;quot;License information&amp;quot; of the SPDX tag:value file, the full license text is given. Licenses with standard texts according to the [https://spdx.org/licenses SPDX License List] do not carry the &amp;quot;LicenseRef-&amp;quot; prefix, and their license text is not given in the tag:value file. For the &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;OSSelot&amp;lt;/span&amp;gt; project however, the SPDX tag:value file is intended to be self-consistent, i.e. for every short license identifier the corresponding full license text must be given.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In order to achieve this while ensuring the SPDX file can be valid, we have patched our [[FOSSology|Fossology]] installation to add the &amp;quot;LicenseRef-&amp;quot; prefix to all license identifiers. For details, see the article on [[FOSSology|Fossology]].&lt;br /&gt;
&lt;br /&gt;
=== Export reports ===&lt;br /&gt;
When all license information and copyright statements of the entire package are curated, the result is exported as SPDX tag:value and OSS Disclosure files.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; The [[FOSSology|Fossology]] settings for report generation must be changed for every new package. Go to &#039;&#039;Conf → SPDX Report Settings&#039;&#039;, select &amp;quot;Show SPDX license comments&amp;quot; and submit the change.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; Export SPDX tag:value report.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; Export ReadMe_OSS (OSS disclosure report).&lt;br /&gt;
&lt;br /&gt;
=== Post-processing ===&lt;br /&gt;
Some post-processing operations on the SPDX tag:value and the OSS disclosure reports are required. At least some of these operations can be easily scripted.&lt;br /&gt;
* Rename files to fit naming convention&lt;br /&gt;
** SPDX tag:value report: [package name]-[version number]-SPDX2TV.spdx, e.g. angular-15.1.0-SPDX2TV.spdx.&lt;br /&gt;
** OSS disclosure file: [package name]-[version number]-OSS-disclosure.txt, e.g. angular-15.1.0-OSS-disclosure.txt.&lt;br /&gt;
&lt;br /&gt;
==== Both reports ====&lt;br /&gt;
* Set line break to 80 characters for license texts (please note: Not for the entire SPDX file, as this will break checksums and render an invalid SPDX report)&lt;br /&gt;
* Remove empty lines.   &lt;br /&gt;
&lt;br /&gt;
* Only required for FOSSology versions 4.2 or lower:&lt;br /&gt;
** For &amp;quot;or later&amp;quot; license references, replace &amp;quot;+&amp;quot; with &amp;quot;-or-later&amp;quot;, e.g. GPL-2.0+ → GPL-2.0-or-later.&lt;br /&gt;
** For GNU licenses without &amp;quot;or later&amp;quot; extension, add &amp;quot;-only&amp;quot;, e.g. GPL-2.0 → GPL-2.0-only.&lt;br /&gt;
&lt;br /&gt;
==== OSS disclosure report ====&lt;br /&gt;
* Remove headings &amp;quot;Main license&amp;quot; and &amp;quot;Other licenses&amp;quot;, and replace by heading &amp;quot;Licenses&amp;quot;.&lt;br /&gt;
==== SPDX tag:value report ====&lt;br /&gt;
To see how the SPDX tag:value file is generally used in &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;OSSelot&amp;lt;/span&amp;gt; have a look at the [[SPDX2TV template|SPDX2TV template]].&lt;br /&gt;
&lt;br /&gt;
The following tags must be edited:&lt;br /&gt;
* &#039;&#039;Creator: Person:&#039;&#039; [name of creator]&lt;br /&gt;
* &#039;&#039;CreatorComment:&#039;&#039; &amp;lt;text&amp;gt;This document was created using license information and a generator from Fossology. It contains the license and copyright analysis of [package]. Please check &amp;quot;LicenseComments&amp;quot; for explanations of concluded licenses.&amp;lt;/text&amp;gt;&lt;br /&gt;
* &#039;&#039;PackageLicenseConcluded:&#039;&#039; NOASSERTION&lt;br /&gt;
* (Not required for FOSSology versions 4.3 or higher) If main license is not a template license text, add correct customized license reference to &#039;&#039;PackageLicenseDeclared&#039;&#039;.&lt;br /&gt;
* Dual licensing conclusions: In cases where more than two licenses are involved, manual post-processing is required. Remove &amp;quot;LicenseRef-Dual-license&amp;quot; and correct AND operator to the correct SPDX license expression (e.g. LicenseA AND LicenseB AND LicenseC AND LicenseRef-Dual-license → (LicenseA OR LicenseB) AND LicenseC). Be aware of the SPDX operator hierarchy (default order of precedence: WITH, AND, OR).&lt;br /&gt;
* As the SPDX standard does not contain template license texts but the OSSelot variant does, we need to add the prefix &amp;quot;LicenseRef-&amp;quot; to all license IDs that do not yet carry it to obtain a valid SPDX document. See patch in [[FOSSology#Customization]]. From FOSSology 4.6 and higher, this is included when selecting the report setting &amp;quot;Enable OSSelot export&amp;quot; for the SPDX report.&lt;br /&gt;
&lt;br /&gt;
The SPDX tag:value file should be validated either with the [https://tools.spdx.org/app/ SPDX online tools] or with the [https://github.com/spdx/tools-java CLI tools], however, the report will also be validated on merge into the Github repository. The conversion to spdx.json, spdx.rdf.xml, spdx.yaml formats will also be automatically done at merge.&lt;br /&gt;
&lt;br /&gt;
== Contribution ==&lt;br /&gt;
The contribution of a newly curated package must contain the following artifacts:&lt;br /&gt;
* README with download URL, purl, creator name&lt;br /&gt;
* OSS disclosure file&lt;br /&gt;
&lt;br /&gt;
To contribute, the repository [https://github.com/Open-Source-Compliance/package-analysis https://github.com/Open-Source-Compliance/package-analysis] must be forked and a pull request must be created.&lt;br /&gt;
* The Contribution must be licensed under CC0-1.0.&lt;br /&gt;
* The pull request must contain a &amp;quot;Signed-off-by: [Name] &amp;lt;Email&amp;gt;&amp;quot; statement to indicate acceptance of the [https://github.com/Open-Source-Compliance/package-analysis/blob/main/CONTRIBUTING.md Certificate of Origin].&lt;br /&gt;
* The contribution will be reviewed. If changes are required, we kindly ask the contributor to be persistent and resubmit the reworked contribution. When it is accepted, the artifacts will be published.&lt;br /&gt;
&lt;br /&gt;
== Contact ==&lt;br /&gt;
Please direct any questions or remarks to [mailto:info@osselot.org info@osselot.org]. We will be happy to help.&lt;/div&gt;</summary>
		<author><name>Ckresse</name></author>
	</entry>
	<entry>
		<id>https://wiki.osselot.org/index.php?title=FOSSology&amp;diff=229</id>
		<title>FOSSology</title>
		<link rel="alternate" type="text/html" href="https://wiki.osselot.org/index.php?title=FOSSology&amp;diff=229"/>
		<updated>2024-01-19T10:21:43Z</updated>

		<summary type="html">&lt;p&gt;Ckresse: /* Customization */ : Add note on patch offset&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Installation==&lt;br /&gt;
The Fossology software can be downloaded from the [https://www.fossology.org/ project&#039;s home page].&lt;br /&gt;
==Manual addition of [[Scancode]]==&lt;br /&gt;
In addition to the default installation, the [[Scancode]] Open Source scan tool should be installed, and an interface from the FOSSology instance to it should be configured. The rationale behind the recommendation to use a certain variety of scanners is that each scanner has its own strengths and weaknesses and by combining the individual scan findings, the overall result can be optimized.&lt;br /&gt;
&lt;br /&gt;
== Customization ==&lt;br /&gt;
In the SPDX standard, licenses are denoted by a short identifier (e.g. GPL-2.0-only or LicenseRef-MIT-customized). Licenses that are not listed in the [https://spdx.org/licenses SPDX License List] are prefixed by &amp;quot;LicenseRef-&amp;quot;, and in the section &amp;quot;License information&amp;quot; of the SPDX tag:value file, the full license text is given. Licenses with standard texts according to the [https://spdx.org/licenses SPDX License List] do not carry the &amp;quot;LicenseRef-&amp;quot; prefix, and their license text is not given in the tag:value file. For the &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;OSSelot&amp;lt;/span&amp;gt; project however, the SPDX tag:value file is intended to be self-consistent, i.e. for every short license identifier the corresponding full license text must be given. In order to achieve this while ensuring the SPDX file can be valid, we have patched our Fossology installation to add the &amp;quot;LicenseRef-&amp;quot; prefix to all license identifiers. In our Fossology installation (version 4.1.0.95), the patch directory is /usr/local/share/fossology/patches and the patch list-all-license-texts-in-spdxtv-export.patch looks as follows:&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
Index: fossology/spdx2/agent/template/spdx2-document.xml.twig&lt;br /&gt;
===================================================================&lt;br /&gt;
--- fossology.orig/spdx2/agent/template/spdx2-document.xml.twig&lt;br /&gt;
+++ fossology/spdx2/agent/template/spdx2-document.xml.twig&lt;br /&gt;
@@ -21,7 +21,7 @@&lt;br /&gt;
   &amp;lt;rdfs:comment&amp;gt;&lt;br /&gt;
     This document was created using license information and a generator from Fossology.&lt;br /&gt;
   &amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
-  {% for licenseId,licenseData in licenseTexts %}{% if licenseId starts with &#039;LicenseRef-&#039; %}&lt;br /&gt;
+  {% for licenseId,licenseData in licenseTexts %}&lt;br /&gt;
   &amp;lt;spdx:hasExtractedLicensingInfo&amp;gt;&lt;br /&gt;
 {% if licenseId starts with &#039;LicenseRef-&#039; %}&lt;br /&gt;
     &amp;lt;spdx:ExtractedLicensingInfo rdf:about=&amp;quot;{{ uri }}#{{ licenseId|replace({&#039; &#039;: &#039;-&#039;})|url_encode }}&amp;quot;&amp;gt;&lt;br /&gt;
@@ -36,7 +36,7 @@&lt;br /&gt;
       ]]&amp;gt;&amp;lt;/spdx:extractedText&amp;gt;&lt;br /&gt;
     &amp;lt;/spdx:ExtractedLicensingInfo&amp;gt;&lt;br /&gt;
   &amp;lt;/spdx:hasExtractedLicensingInfo&amp;gt;&lt;br /&gt;
-{% endif %}{% endfor %}&lt;br /&gt;
+{% endfor %}&lt;br /&gt;
   {{ packageNodes|replace({&#039;\n&#039;:&#039;\n  &#039;}) }}&lt;br /&gt;
 &amp;lt;/spdx:SpdxDocument&amp;gt;&lt;br /&gt;
 &amp;lt;/rdf:RDF&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Index: fossology/spdx2/agent/template/spdx2tv-document.twig&lt;br /&gt;
===================================================================&lt;br /&gt;
--- fossology.orig/spdx2/agent/template/spdx2tv-document.twig&lt;br /&gt;
+++ fossology/spdx2/agent/template/spdx2tv-document.twig&lt;br /&gt;
@@ -40,10 +40,10 @@ LicenseListVersion: 2.6&lt;br /&gt;
 ## License Information&lt;br /&gt;
 ##-------------------------&lt;br /&gt;
 &lt;br /&gt;
-{% for licenseId,licenseData in licenseTexts %}{% if licenseId starts with &#039;LicenseRef-&#039; %}&lt;br /&gt;
+{% for licenseId,licenseData in licenseTexts %}&lt;br /&gt;
 LicenseID: {{ licenseId|replace({&#039; &#039;: &#039;-&#039;}) }}&lt;br /&gt;
 LicenseName: {{ licenseData[&#039;name&#039;] }}&lt;br /&gt;
 ExtractedText: &amp;lt;text&amp;gt; {{ licenseData[&#039;text&#039;]|replace({&#039;&amp;lt;text&amp;gt;&#039;:&#039;&amp;amp;lt;text&amp;amp;gt;&#039;,&#039;&amp;lt;/text&amp;gt;&#039;:&#039;&amp;amp;lt;/text&amp;amp;gt;&#039;})&lt;br /&gt;
                                             |replace({&#039;\f&#039;:&#039;&#039;}) }} &amp;lt;/text&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
-{% endif %}{% endfor %}&lt;br /&gt;
+{% endfor %}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For newer Fossology versions, there might be a slight offset when applying the patch.&lt;br /&gt;
&lt;br /&gt;
==Community server==&lt;br /&gt;
The reference community FOSSology server &amp;lt;i&amp;gt;[https://fossy.osadl.org Fossy]&amp;lt;/i&amp;gt; is available on the Internet and internally used for primary curation and review; however, it is not publicly available. Future contributors may be granted login to the &amp;lt;i&amp;gt;Fossy&amp;lt;/i&amp;gt; server after they successfully underwent &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;OSSelot&amp;lt;/span&amp;gt; curators&#039; training.&lt;br /&gt;
&lt;br /&gt;
==Basic workflow==&lt;br /&gt;
The basic workflow for clearing a package with Fossology is given on the [https://www.fossology.org/get-started/basic-workflow/ Fossology project page].&lt;/div&gt;</summary>
		<author><name>Ckresse</name></author>
	</entry>
	<entry>
		<id>https://wiki.osselot.org/index.php?title=Curation_guideline&amp;diff=228</id>
		<title>Curation guideline</title>
		<link rel="alternate" type="text/html" href="https://wiki.osselot.org/index.php?title=Curation_guideline&amp;diff=228"/>
		<updated>2024-01-09T11:10:47Z</updated>

		<summary type="html">&lt;p&gt;Ckresse: /* Post-processing */ : Layout hints&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This information is intended to provide guidelines on how data are curated for the &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;OSSelot&amp;lt;/span&amp;gt; project and how contributing works. The curator should be familiar with their preferred scanning tool (ours is [[FOSSology|Fossology]]) and have a general understanding of copyright law and in particular knowledge of FOSS licensing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note:&#039;&#039; Whenever information is given that is specific to [[FOSSology|Fossology]], it is prepended with the keyword &#039;&#039;&#039;fossy&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Preparation ==&lt;br /&gt;
* Obtain the component in source code form.&lt;br /&gt;
** Note the download URL.&lt;br /&gt;
* Naming convention:&lt;br /&gt;
** Try to follow the project’s naming and version convention, e.g. as given by the release’s git tag.&lt;br /&gt;
** If this is not consistent, use only lowercase letters.&lt;br /&gt;
** [package name]-[version number], e.g. angular-15.1.0.&lt;br /&gt;
* Analyze the component with a license scan tool (e.g. [[FOSSology|Fossology]], [[Scancode|Scancode]]).&lt;br /&gt;
** &#039;&#039;&#039;fossy:&#039;&#039;&#039; [[FOSSology|Fossology]] default settings for analysis:&lt;br /&gt;
*** 7. Select optional analysis:&lt;br /&gt;
**** Upload from file&lt;br /&gt;
**** Copyright/Email/URL/Author Analysis&lt;br /&gt;
**** Monk License Analysis, scanning for licenses performing a text comparison&lt;br /&gt;
**** Nomos License Analysis, scanning for licenses using regular expressions&lt;br /&gt;
**** Ojo License Analysis, scanning for licenses using SPDX-License-Identifier&lt;br /&gt;
*** 10. ScanCode Toolkit, scan for&lt;br /&gt;
**** License&lt;br /&gt;
**** Copyright&lt;br /&gt;
** [[Scancode|Scancode]] default options for analysis:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
scancode -cli --license-text -json [package name-version].json [package]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;c: copyrights; l: licenses; i: file information; --license-text: include full license text&lt;br /&gt;
&lt;br /&gt;
== Data curation ==&lt;br /&gt;
* A licensing expert reviews and analyzes the scanning results.&lt;br /&gt;
* [[FOSSology|Fossology]] can directly be used to review the results. The [[Scancode]] results must be reviewed with an external tool, e.g. [https://github.com/opossum-tool/opossumUI Opossum].&lt;br /&gt;
* Review is done on file level, i.e. every file in the source code tree for which at least one scanner found a result is analyzed.&lt;br /&gt;
** &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], you can browse through the relevant files by selecting &amp;quot;Go through all files with licenses and no clearing result&amp;quot;.&lt;br /&gt;
* That means:&lt;br /&gt;
** scanner findings are confirmed, or&lt;br /&gt;
** scanner findings are corrected.&lt;br /&gt;
* If there are no findings for a file, the conclusion is NO ASSERTION (for SPDX tag &#039;&#039;LicenseConcluded&#039;&#039;).&lt;br /&gt;
** &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], this is given by the clearing decision types &amp;quot;No license known&amp;quot; or &amp;quot;Irrelevant&amp;quot; or &amp;quot;Non-functional&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;LicenseComments&#039;&#039; ===&lt;br /&gt;
In case a license conclusion is not obvious, the decision is explained.&lt;br /&gt;
* This is done with the following heuristic:&amp;lt;blockquote&amp;gt;The information in the file is:&amp;lt;br/&amp;gt;&amp;quot;[Quote licensing information in the source code file]&amp;quot;&amp;lt;br/&amp;gt;[Give reason for conclusion] Therefore, [license] is concluded.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* Example 1: No version&amp;lt;blockquote&amp;gt;The information in the file is:&amp;lt;br/&amp;gt;&amp;quot;This file is GPL&#039;d.&amp;quot;&amp;lt;br/&amp;gt;As no version of the GPL is given, GPL-1.0-or-later is concluded.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* Example 2: URL for license text&amp;lt;blockquote&amp;gt;The information in the file is:&amp;lt;br/&amp;gt;&amp;quot;This file is licensed under License A. You can find the license text at &amp;lt;nowiki&amp;gt;https://www.LicenseTextOfLicenseA.com&amp;lt;/nowiki&amp;gt;.&amp;quot;&amp;lt;br/&amp;gt;The URL contains the license text of License A, therefore License A is concluded. The information was retrieved on [date].&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In Fossology, the explanations are given in the &amp;quot;Comment&amp;quot; section which maps to the SPDX tag &#039;&#039;LicenseComments&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Correcting scanner findings ===&lt;br /&gt;
The following list includes typical cases where scanner findings have to be corrected and how to do so.&lt;br /&gt;
&lt;br /&gt;
==== Not a license ====&lt;br /&gt;
The scanner concludes a license from an expression in a file that is not actually a license expression at all. In this case, the incorrect license finding is removed.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], the source of the scanner finding is highlighted when clicking on the number (#1) behind the scanner.&lt;br /&gt;
==== Not the file&#039;s license ====&lt;br /&gt;
The scanner concludes a license from a license expression that is part of the file’s content but not the license of the file itself. In this case, the incorrect license finding is removed.&lt;br /&gt;
==== License text ====&lt;br /&gt;
Files that contain only a license text (e.g. COPYING) are concluded by the scanners to be licensed under the respective license. This is usually not correct. Most license texts are not explicitly licensed, so the finding is removed. The GNU licenses contain a license statement for the license text itself which is concluded for these cases (&#039;&#039;License-of-GNU-licenses&#039;&#039;).&lt;br /&gt;
==== Imprecise finding ====&lt;br /&gt;
The scanner finding might be imprecise, e.g. w.r.t. to the version of a license, e.g. no version number is given. If this is the case, the imprecise finding is removed and the specified license and version is concluded. If no version is given, the lowest existing version with the -or-later extension is concluded.&lt;br /&gt;
==== Dual licensing ====&lt;br /&gt;
A file might offer a choice of two or more licenses under which it can be used. If the context requires to chose one specific license, this choice must be noted. However, all applicable licenses must be concluded. Also, dual license cases require additional post-processing, see section &amp;quot;Post-processing&amp;quot; below.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], add the following text to the &amp;quot;Acknowledgement&amp;quot; section of the &amp;quot;Dual-license&amp;quot; finding to note the license choice, if applicable:&amp;lt;blockquote&amp;gt;To the extend files may be licensed under License A or License B, in this context License B has been chosen. This shall not restrict the freedom of other users to choose either License A or License B. For convenience, all license texts are provided.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
==== License exceptions ====&lt;br /&gt;
In particular for the GNU licenses, there are a number of license exceptions.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; [[FOSSology|Fossology]] notes the license and the exception as separate findings. This is corrected to one finding using the SPDX license expression [License] WITH [exception], e.g. GPL-2.0-or-later WITH GCC-exception-2.0.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; If the [[FOSSology|Fossology]] license database does not yet contain these licenses, they have to be added. &lt;br /&gt;
==== Generic license texts ====&lt;br /&gt;
For some licenses, especially the BSD-type licenses, many variants of the license texts exist. The scanners often provide only the generic license texts. If an individual text differs from the generic text, the individual license text is provided.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], click percentage of match to see differences.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; The individual text is copied from the file into the &amp;quot;License&amp;quot; section of [[FOSSology|Fossology]].&lt;br /&gt;
==== External references ====&lt;br /&gt;
Sometimes the file does not contain the name or text of a license but references an external resource such as a COPYRIGHT file in the root directory or a URL. In these cases, the external reference is checked and the detected license is concluded and the process is documented as a &#039;&#039;LicenseComment&#039;&#039; (in case of a URL, the date of access is noted).&lt;br /&gt;
==== (Partially) global license assignment ====&lt;br /&gt;
Sometimes there is a Readme file or similar that contains a statement assigning a license to several files within the source tree (e.g. all files in a specific directory). As such information is often outdated or does not account for individual licensing of files, it is not used to assign a license to a file here.&lt;br /&gt;
==== Acknowledgment ====&lt;br /&gt;
If a license has an acknowledgment requirement, the respective acknowledgment text is given. In particular for CC_BY licenses, the acknowledgment must contain the following information (if available): name of the creator, copyright notice, license notice, disclaimer, link to the material.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], the acknowledgment text is given in the &amp;quot;Acknowledgement&amp;quot; section.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;fossy:&#039;&#039;&#039; Bulk statements ===&lt;br /&gt;
In [[FOSSology|Fossology]], scanner findings can be confirmed, removed or corrected with bulk statements.&lt;br /&gt;
* When doing so, it is crucial to start with the shorter bulk statements as these can be part of a longer bulk statement which would then be modified by running the short bulk statement after the long one. For example (abbreviated):&amp;lt;blockquote&amp;gt;Short bulk statement: &amp;quot;This file is licensed under GPL version 2.0.&amp;quot;&amp;lt;br/&amp;gt;Long bulk statement: &amp;quot;This file is licensed under GPL version 2.0. As a special exception, you may...&amp;quot;&amp;lt;/blockquote&amp;gt; Here, the short bulk statement will modify the findings for the file with the long bulk statement. It should therefore be run first so that afterwards, the long bulk statement can correct the conclusion for the relevant files.&lt;br /&gt;
* Do not limit the scope of bulk statements, rather choose unique bulk statements. When reusing bulk statements for future uploads, the initial scope is not preserved, but they are applied to the entire upload, so it might yield false results.&lt;br /&gt;
&lt;br /&gt;
=== Curating copyright statements ===&lt;br /&gt;
* Remove findings that were incorrectly identified as a copyright statement (e.g. license texts, code, etc.).&lt;br /&gt;
* Remove content from copyright statements that is not part of the copyright notice (e.g. formatting signs, license notices, comments on content, code, etc.).&lt;br /&gt;
* If the source code tree contains an AUTHORS file, the content of this is given as value to the SPDX tag &#039;&#039;PackageCopyrightText&#039;&#039; in the post-processing stage (see section “Post-processing” below).&lt;br /&gt;
&lt;br /&gt;
=== Package license ===&lt;br /&gt;
Only If there is a LICENSE or COPYING or similar file in the root directory that states a main license for the package, we give this information as value to the SPDX tag &#039;&#039;PackageLicenseDeclared&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], this is marked as the &amp;quot;main license&amp;quot; by activating the star symbol. Caution: If the main license is a custom text, [[FOSSology|Fossology]] takes the standard template text anyway. This has to be corrected manually in the post-processing stage (see section “Post-processing” below).&lt;br /&gt;
&lt;br /&gt;
== Report export and post-processing ==&lt;br /&gt;
In the SPDX standard, licenses are denoted by a short identifier (e.g. GPL-2.0-only or LicenseRef-MIT-customized). Licenses that are not listed in the [https://spdx.org/licenses SPDX License List] are prefixed by &amp;quot;LicenseRef-&amp;quot;, and in the section &amp;quot;License information&amp;quot; of the SPDX tag:value file, the full license text is given. Licenses with standard texts according to the [https://spdx.org/licenses SPDX License List] do not carry the &amp;quot;LicenseRef-&amp;quot; prefix, and their license text is not given in the tag:value file. For the &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;OSSelot&amp;lt;/span&amp;gt; project however, the SPDX tag:value file is intended to be self-consistent, i.e. for every short license identifier the corresponding full license text must be given.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In order to achieve this while ensuring the SPDX file can be valid, we have patched our [[FOSSology|Fossology]] installation to add the &amp;quot;LicenseRef-&amp;quot; prefix to all license identifiers. For details, see the article on [[FOSSology|Fossology]].&lt;br /&gt;
&lt;br /&gt;
=== Export reports ===&lt;br /&gt;
When all license information and copyright statements of the entire package are curated, the result is exported as SPDX tag:value and OSS Disclosure files.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; The [[FOSSology|Fossology]] settings for report generation must be changed for every new package. Go to &#039;&#039;Conf → SPDX Report Settings&#039;&#039;, select &amp;quot;Show SPDX license comments&amp;quot; and submit the change.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; Export SPDX tag:value report.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; Export ReadMe_OSS (OSS disclosure report).&lt;br /&gt;
&lt;br /&gt;
=== Post-processing ===&lt;br /&gt;
Some post-processing operations on the SPDX tag:value and the OSS disclosure reports are required. At least some of these operations can be easily scripted.&lt;br /&gt;
* Rename files to fit naming convention&lt;br /&gt;
** SPDX tag:value report: [package name]-[version number]-SPDX2TV.spdx, e.g. angular-15.1.0-SPDX2TV.spdx.&lt;br /&gt;
** OSS disclosure file: [package name]-[version number]-OSS-disclosure.txt, e.g. angular-15.1.0-OSS-disclosure.txt.&lt;br /&gt;
&lt;br /&gt;
==== Both reports ====&lt;br /&gt;
* Set line break to 80 characters.&lt;br /&gt;
* Remove empty lines.   &lt;br /&gt;
&lt;br /&gt;
* Only required for FOSSology versions 4.2 or lower:&lt;br /&gt;
** For &amp;quot;or later&amp;quot; license references, replace &amp;quot;+&amp;quot; with &amp;quot;-or-later&amp;quot;, e.g. GPL-2.0+ → GPL-2.0-or-later.&lt;br /&gt;
** For GNU licenses without &amp;quot;or later&amp;quot; extension, add &amp;quot;-only&amp;quot;, e.g. GPL-2.0 → GPL-2.0-only.&lt;br /&gt;
&lt;br /&gt;
==== OSS disclosure report ====&lt;br /&gt;
* Remove headings &amp;quot;Main license&amp;quot; and &amp;quot;Other licenses&amp;quot;, and replace by heading &amp;quot;Licenses&amp;quot;.&lt;br /&gt;
==== SPDX tag:value report ====&lt;br /&gt;
To see how the SPDX tag:value file is generally used in &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;OSSelot&amp;lt;/span&amp;gt; have a look at the [[SPDX2TV template|SPDX2TV template]].&lt;br /&gt;
&lt;br /&gt;
The following tags must be edited:&lt;br /&gt;
* &#039;&#039;Creator: Person:&#039;&#039; [name of creator]&lt;br /&gt;
* &#039;&#039;CreatorComment:&#039;&#039; &amp;lt;text&amp;gt;This document was created using license information and a generator from Fossology. It contains the license and copyright analysis of [package]. Please check &amp;quot;LicenseComments&amp;quot; for explanations of concluded licenses.&amp;lt;/text&amp;gt;&lt;br /&gt;
* &#039;&#039;PackageLicenseConcluded:&#039;&#039; NOASSERTION&lt;br /&gt;
* (Not required for FOSSology versions 4.3 or higher) If main license is not a template license text, add correct customized license reference to &#039;&#039;PackageLicenseDeclared&#039;&#039;.&lt;br /&gt;
* Dual licensing conclusions: Remove &amp;quot;LicenseRef-Dual-license&amp;quot; and correct AND operator to OR (e.g. LicenseA AND LicenseB AND LicenseRef-Dual-license → LicenseA OR LicenseB). If there is dual licensing and multiple licenses, be aware of the SPDX operator hierarchy (default order of precedence: WITH, AND, OR). For only two licenses, this is not required for FOSSology versions 4.3 or higher, but for three or more licenses, manual editing is still necessary.&lt;br /&gt;
* As the SPDX standard does not contain template license texts but the OSSelot variant does, we need to add the prefix &amp;quot;LicenseRef-&amp;quot; to all license IDs that do not yet carry it to obtain a valid SPDX document. See patch in [[FOSSology#Customization]].&lt;br /&gt;
&lt;br /&gt;
The SPDX tag:value file must be validated either with the [https://tools.spdx.org/app/ SPDX online tools] or with the [https://github.com/spdx/tools-java CLI tools]. When the SPDX tag:value file is valid, convert to spdx.json, spdx.rdf.xml, spdx.yaml formats.&lt;br /&gt;
&lt;br /&gt;
== Contribution ==&lt;br /&gt;
The contribution of a newly curated package must contain the following artifacts:&lt;br /&gt;
* README with download URL, purl, creator name&lt;br /&gt;
* OSS disclosure file&lt;br /&gt;
* SPDX tag:value file&lt;br /&gt;
* SPDX json file&lt;br /&gt;
* SPDX rdf.xml file&lt;br /&gt;
* SPDX yaml file&lt;br /&gt;
&lt;br /&gt;
To contribute, the repository [https://github.com/Open-Source-Compliance/package-analysis https://github.com/Open-Source-Compliance/package-analysis] must be forked and a pull request must be created.&lt;br /&gt;
* The Contribution must be licensed under CC0-1.0.&lt;br /&gt;
* The pull request must contain a &amp;quot;Signed-off-by: [Name] &amp;lt;Email&amp;gt;&amp;quot; statement to indicate acceptance of the [https://github.com/Open-Source-Compliance/package-analysis/blob/main/CONTRIBUTING.md Certificate of Origin].&lt;br /&gt;
* The contribution will be reviewed. If changes are required, we kindly ask the contributor to be persistent and resubmit the reworked contribution. When it is accepted, the artifacts will be published.&lt;br /&gt;
&lt;br /&gt;
== Contact ==&lt;br /&gt;
Please direct any questions or remarks to [mailto:info@osselot.org info@osselot.org]. We will be happy to help.&lt;/div&gt;</summary>
		<author><name>Ckresse</name></author>
	</entry>
	<entry>
		<id>https://wiki.osselot.org/index.php?title=Curation_guideline&amp;diff=227</id>
		<title>Curation guideline</title>
		<link rel="alternate" type="text/html" href="https://wiki.osselot.org/index.php?title=Curation_guideline&amp;diff=227"/>
		<updated>2024-01-09T10:14:55Z</updated>

		<summary type="html">&lt;p&gt;Ckresse: /* SPDX tag:value report */ : Fix wikilink to patch&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This information is intended to provide guidelines on how data are curated for the &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;OSSelot&amp;lt;/span&amp;gt; project and how contributing works. The curator should be familiar with their preferred scanning tool (ours is [[FOSSology|Fossology]]) and have a general understanding of copyright law and in particular knowledge of FOSS licensing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note:&#039;&#039; Whenever information is given that is specific to [[FOSSology|Fossology]], it is prepended with the keyword &#039;&#039;&#039;fossy&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Preparation ==&lt;br /&gt;
* Obtain the component in source code form.&lt;br /&gt;
** Note the download URL.&lt;br /&gt;
* Naming convention:&lt;br /&gt;
** Try to follow the project’s naming and version convention, e.g. as given by the release’s git tag.&lt;br /&gt;
** If this is not consistent, use only lowercase letters.&lt;br /&gt;
** [package name]-[version number], e.g. angular-15.1.0.&lt;br /&gt;
* Analyze the component with a license scan tool (e.g. [[FOSSology|Fossology]], [[Scancode|Scancode]]).&lt;br /&gt;
** &#039;&#039;&#039;fossy:&#039;&#039;&#039; [[FOSSology|Fossology]] default settings for analysis:&lt;br /&gt;
*** 7. Select optional analysis:&lt;br /&gt;
**** Upload from file&lt;br /&gt;
**** Copyright/Email/URL/Author Analysis&lt;br /&gt;
**** Monk License Analysis, scanning for licenses performing a text comparison&lt;br /&gt;
**** Nomos License Analysis, scanning for licenses using regular expressions&lt;br /&gt;
**** Ojo License Analysis, scanning for licenses using SPDX-License-Identifier&lt;br /&gt;
*** 10. ScanCode Toolkit, scan for&lt;br /&gt;
**** License&lt;br /&gt;
**** Copyright&lt;br /&gt;
** [[Scancode|Scancode]] default options for analysis:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
scancode -cli --license-text -json [package name-version].json [package]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;c: copyrights; l: licenses; i: file information; --license-text: include full license text&lt;br /&gt;
&lt;br /&gt;
== Data curation ==&lt;br /&gt;
* A licensing expert reviews and analyzes the scanning results.&lt;br /&gt;
* [[FOSSology|Fossology]] can directly be used to review the results. The [[Scancode]] results must be reviewed with an external tool, e.g. [https://github.com/opossum-tool/opossumUI Opossum].&lt;br /&gt;
* Review is done on file level, i.e. every file in the source code tree for which at least one scanner found a result is analyzed.&lt;br /&gt;
** &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], you can browse through the relevant files by selecting &amp;quot;Go through all files with licenses and no clearing result&amp;quot;.&lt;br /&gt;
* That means:&lt;br /&gt;
** scanner findings are confirmed, or&lt;br /&gt;
** scanner findings are corrected.&lt;br /&gt;
* If there are no findings for a file, the conclusion is NO ASSERTION (for SPDX tag &#039;&#039;LicenseConcluded&#039;&#039;).&lt;br /&gt;
** &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], this is given by the clearing decision types &amp;quot;No license known&amp;quot; or &amp;quot;Irrelevant&amp;quot; or &amp;quot;Non-functional&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;LicenseComments&#039;&#039; ===&lt;br /&gt;
In case a license conclusion is not obvious, the decision is explained.&lt;br /&gt;
* This is done with the following heuristic:&amp;lt;blockquote&amp;gt;The information in the file is:&amp;lt;br/&amp;gt;&amp;quot;[Quote licensing information in the source code file]&amp;quot;&amp;lt;br/&amp;gt;[Give reason for conclusion] Therefore, [license] is concluded.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* Example 1: No version&amp;lt;blockquote&amp;gt;The information in the file is:&amp;lt;br/&amp;gt;&amp;quot;This file is GPL&#039;d.&amp;quot;&amp;lt;br/&amp;gt;As no version of the GPL is given, GPL-1.0-or-later is concluded.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* Example 2: URL for license text&amp;lt;blockquote&amp;gt;The information in the file is:&amp;lt;br/&amp;gt;&amp;quot;This file is licensed under License A. You can find the license text at &amp;lt;nowiki&amp;gt;https://www.LicenseTextOfLicenseA.com&amp;lt;/nowiki&amp;gt;.&amp;quot;&amp;lt;br/&amp;gt;The URL contains the license text of License A, therefore License A is concluded. The information was retrieved on [date].&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In Fossology, the explanations are given in the &amp;quot;Comment&amp;quot; section which maps to the SPDX tag &#039;&#039;LicenseComments&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Correcting scanner findings ===&lt;br /&gt;
The following list includes typical cases where scanner findings have to be corrected and how to do so.&lt;br /&gt;
&lt;br /&gt;
==== Not a license ====&lt;br /&gt;
The scanner concludes a license from an expression in a file that is not actually a license expression at all. In this case, the incorrect license finding is removed.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], the source of the scanner finding is highlighted when clicking on the number (#1) behind the scanner.&lt;br /&gt;
==== Not the file&#039;s license ====&lt;br /&gt;
The scanner concludes a license from a license expression that is part of the file’s content but not the license of the file itself. In this case, the incorrect license finding is removed.&lt;br /&gt;
==== License text ====&lt;br /&gt;
Files that contain only a license text (e.g. COPYING) are concluded by the scanners to be licensed under the respective license. This is usually not correct. Most license texts are not explicitly licensed, so the finding is removed. The GNU licenses contain a license statement for the license text itself which is concluded for these cases (&#039;&#039;License-of-GNU-licenses&#039;&#039;).&lt;br /&gt;
==== Imprecise finding ====&lt;br /&gt;
The scanner finding might be imprecise, e.g. w.r.t. to the version of a license, e.g. no version number is given. If this is the case, the imprecise finding is removed and the specified license and version is concluded. If no version is given, the lowest existing version with the -or-later extension is concluded.&lt;br /&gt;
==== Dual licensing ====&lt;br /&gt;
A file might offer a choice of two or more licenses under which it can be used. If the context requires to chose one specific license, this choice must be noted. However, all applicable licenses must be concluded. Also, dual license cases require additional post-processing, see section &amp;quot;Post-processing&amp;quot; below.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], add the following text to the &amp;quot;Acknowledgement&amp;quot; section of the &amp;quot;Dual-license&amp;quot; finding to note the license choice, if applicable:&amp;lt;blockquote&amp;gt;To the extend files may be licensed under License A or License B, in this context License B has been chosen. This shall not restrict the freedom of other users to choose either License A or License B. For convenience, all license texts are provided.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
==== License exceptions ====&lt;br /&gt;
In particular for the GNU licenses, there are a number of license exceptions.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; [[FOSSology|Fossology]] notes the license and the exception as separate findings. This is corrected to one finding using the SPDX license expression [License] WITH [exception], e.g. GPL-2.0-or-later WITH GCC-exception-2.0.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; If the [[FOSSology|Fossology]] license database does not yet contain these licenses, they have to be added. &lt;br /&gt;
==== Generic license texts ====&lt;br /&gt;
For some licenses, especially the BSD-type licenses, many variants of the license texts exist. The scanners often provide only the generic license texts. If an individual text differs from the generic text, the individual license text is provided.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], click percentage of match to see differences.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; The individual text is copied from the file into the &amp;quot;License&amp;quot; section of [[FOSSology|Fossology]].&lt;br /&gt;
==== External references ====&lt;br /&gt;
Sometimes the file does not contain the name or text of a license but references an external resource such as a COPYRIGHT file in the root directory or a URL. In these cases, the external reference is checked and the detected license is concluded and the process is documented as a &#039;&#039;LicenseComment&#039;&#039; (in case of a URL, the date of access is noted).&lt;br /&gt;
==== (Partially) global license assignment ====&lt;br /&gt;
Sometimes there is a Readme file or similar that contains a statement assigning a license to several files within the source tree (e.g. all files in a specific directory). As such information is often outdated or does not account for individual licensing of files, it is not used to assign a license to a file here.&lt;br /&gt;
==== Acknowledgment ====&lt;br /&gt;
If a license has an acknowledgment requirement, the respective acknowledgment text is given. In particular for CC_BY licenses, the acknowledgment must contain the following information (if available): name of the creator, copyright notice, license notice, disclaimer, link to the material.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], the acknowledgment text is given in the &amp;quot;Acknowledgement&amp;quot; section.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;fossy:&#039;&#039;&#039; Bulk statements ===&lt;br /&gt;
In [[FOSSology|Fossology]], scanner findings can be confirmed, removed or corrected with bulk statements.&lt;br /&gt;
* When doing so, it is crucial to start with the shorter bulk statements as these can be part of a longer bulk statement which would then be modified by running the short bulk statement after the long one. For example (abbreviated):&amp;lt;blockquote&amp;gt;Short bulk statement: &amp;quot;This file is licensed under GPL version 2.0.&amp;quot;&amp;lt;br/&amp;gt;Long bulk statement: &amp;quot;This file is licensed under GPL version 2.0. As a special exception, you may...&amp;quot;&amp;lt;/blockquote&amp;gt; Here, the short bulk statement will modify the findings for the file with the long bulk statement. It should therefore be run first so that afterwards, the long bulk statement can correct the conclusion for the relevant files.&lt;br /&gt;
* Do not limit the scope of bulk statements, rather choose unique bulk statements. When reusing bulk statements for future uploads, the initial scope is not preserved, but they are applied to the entire upload, so it might yield false results.&lt;br /&gt;
&lt;br /&gt;
=== Curating copyright statements ===&lt;br /&gt;
* Remove findings that were incorrectly identified as a copyright statement (e.g. license texts, code, etc.).&lt;br /&gt;
* Remove content from copyright statements that is not part of the copyright notice (e.g. formatting signs, license notices, comments on content, code, etc.).&lt;br /&gt;
* If the source code tree contains an AUTHORS file, the content of this is given as value to the SPDX tag &#039;&#039;PackageCopyrightText&#039;&#039; in the post-processing stage (see section “Post-processing” below).&lt;br /&gt;
&lt;br /&gt;
=== Package license ===&lt;br /&gt;
Only If there is a LICENSE or COPYING or similar file in the root directory that states a main license for the package, we give this information as value to the SPDX tag &#039;&#039;PackageLicenseDeclared&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], this is marked as the &amp;quot;main license&amp;quot; by activating the star symbol. Caution: If the main license is a custom text, [[FOSSology|Fossology]] takes the standard template text anyway. This has to be corrected manually in the post-processing stage (see section “Post-processing” below).&lt;br /&gt;
&lt;br /&gt;
== Report export and post-processing ==&lt;br /&gt;
In the SPDX standard, licenses are denoted by a short identifier (e.g. GPL-2.0-only or LicenseRef-MIT-customized). Licenses that are not listed in the [https://spdx.org/licenses SPDX License List] are prefixed by &amp;quot;LicenseRef-&amp;quot;, and in the section &amp;quot;License information&amp;quot; of the SPDX tag:value file, the full license text is given. Licenses with standard texts according to the [https://spdx.org/licenses SPDX License List] do not carry the &amp;quot;LicenseRef-&amp;quot; prefix, and their license text is not given in the tag:value file. For the &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;OSSelot&amp;lt;/span&amp;gt; project however, the SPDX tag:value file is intended to be self-consistent, i.e. for every short license identifier the corresponding full license text must be given.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In order to achieve this while ensuring the SPDX file can be valid, we have patched our [[FOSSology|Fossology]] installation to add the &amp;quot;LicenseRef-&amp;quot; prefix to all license identifiers. For details, see the article on [[FOSSology|Fossology]].&lt;br /&gt;
&lt;br /&gt;
=== Export reports ===&lt;br /&gt;
When all license information and copyright statements of the entire package are curated, the result is exported as SPDX tag:value and OSS Disclosure files.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; The [[FOSSology|Fossology]] settings for report generation must be changed for every new package. Go to &#039;&#039;Conf → SPDX Report Settings&#039;&#039;, select &amp;quot;Show SPDX license comments&amp;quot; and submit the change.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; Export SPDX tag:value report.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; Export ReadMe_OSS (OSS disclosure report).&lt;br /&gt;
&lt;br /&gt;
=== Post-processing ===&lt;br /&gt;
Some post-processing operations on the SPDX tag:value and the OSS disclosure reports are required. At least some of these operations can be easily scripted.&lt;br /&gt;
* Rename files to fit naming convention&lt;br /&gt;
** SPDX tag:value report: [package name]-[version number]-SPDX2TV.spdx, e.g. angular-15.1.0-SPDX2TV.spdx.&lt;br /&gt;
** OSS disclosure file: [package name]-[version number]-OSS-disclosure.txt, e.g. angular-15.1.0-OSS-disclosure.txt.&lt;br /&gt;
&lt;br /&gt;
==== Both reports ====&lt;br /&gt;
(Not required for FOSSology versions 4.3 or higher.)&lt;br /&gt;
* For &amp;quot;or later&amp;quot; license references, replace &amp;quot;+&amp;quot; with &amp;quot;-or-later&amp;quot;, e.g. GPL-2.0+ → GPL-2.0-or-later.&lt;br /&gt;
* For GNU licenses without &amp;quot;or later&amp;quot; extension, add &amp;quot;-only&amp;quot;, e.g. GPL-2.0 → GPL-2.0-only.&lt;br /&gt;
&lt;br /&gt;
==== OSS disclosure report ====&lt;br /&gt;
* Remove headings &amp;quot;Main license&amp;quot; and &amp;quot;Other licenses&amp;quot;, and replace by heading &amp;quot;Licenses&amp;quot;.&lt;br /&gt;
==== SPDX tag:value report ====&lt;br /&gt;
To see how the SPDX tag:value file is generally used in &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;OSSelot&amp;lt;/span&amp;gt; have a look at the [[SPDX2TV template|SPDX2TV template]].&lt;br /&gt;
&lt;br /&gt;
The following tags must be edited:&lt;br /&gt;
* &#039;&#039;Creator: Person:&#039;&#039; [name of creator]&lt;br /&gt;
* &#039;&#039;CreatorComment:&#039;&#039; &amp;lt;text&amp;gt;This document was created using license information and a generator from Fossology. It contains the license and copyright analysis of [package]. Please check &amp;quot;LicenseComments&amp;quot; for explanations of concluded licenses.&amp;lt;/text&amp;gt;&lt;br /&gt;
* &#039;&#039;PackageLicenseConcluded:&#039;&#039; NOASSERTION&lt;br /&gt;
* (Not required for FOSSology versions 4.3 or higher) If main license is not a template license text, add correct customized license reference to &#039;&#039;PackageLicenseDeclared&#039;&#039;.&lt;br /&gt;
* Dual licensing conclusions: Remove &amp;quot;LicenseRef-Dual-license&amp;quot; and correct AND operator to OR (e.g. LicenseA AND LicenseB AND LicenseRef-Dual-license → LicenseA OR LicenseB). If there is dual licensing and multiple licenses, be aware of the SPDX operator hierarchy (default order of precedence: WITH, AND, OR). For only two licenses, this is not required for FOSSology versions 4.3 or higher, but for three or more licenses, manual editing is still necessary.&lt;br /&gt;
* As the SPDX standard does not contain template license texts but the OSSelot variant does, we need to add the prefix &amp;quot;LicenseRef-&amp;quot; to all license IDs that do not yet carry it to obtain a valid SPDX document. See patch in [[FOSSology#Customization]].&lt;br /&gt;
&lt;br /&gt;
The SPDX tag:value file must be validated either with the [https://tools.spdx.org/app/ SPDX online tools] or with the [https://github.com/spdx/tools-java CLI tools]. When the SPDX tag:value file is valid, convert to spdx.json, spdx.rdf.xml, spdx.yaml formats.&lt;br /&gt;
&lt;br /&gt;
== Contribution ==&lt;br /&gt;
The contribution of a newly curated package must contain the following artifacts:&lt;br /&gt;
* README with download URL, purl, creator name&lt;br /&gt;
* OSS disclosure file&lt;br /&gt;
* SPDX tag:value file&lt;br /&gt;
* SPDX json file&lt;br /&gt;
* SPDX rdf.xml file&lt;br /&gt;
* SPDX yaml file&lt;br /&gt;
&lt;br /&gt;
To contribute, the repository [https://github.com/Open-Source-Compliance/package-analysis https://github.com/Open-Source-Compliance/package-analysis] must be forked and a pull request must be created.&lt;br /&gt;
* The Contribution must be licensed under CC0-1.0.&lt;br /&gt;
* The pull request must contain a &amp;quot;Signed-off-by: [Name] &amp;lt;Email&amp;gt;&amp;quot; statement to indicate acceptance of the [https://github.com/Open-Source-Compliance/package-analysis/blob/main/CONTRIBUTING.md Certificate of Origin].&lt;br /&gt;
* The contribution will be reviewed. If changes are required, we kindly ask the contributor to be persistent and resubmit the reworked contribution. When it is accepted, the artifacts will be published.&lt;br /&gt;
&lt;br /&gt;
== Contact ==&lt;br /&gt;
Please direct any questions or remarks to [mailto:info@osselot.org info@osselot.org]. We will be happy to help.&lt;/div&gt;</summary>
		<author><name>Ckresse</name></author>
	</entry>
	<entry>
		<id>https://wiki.osselot.org/index.php?title=FOSSology&amp;diff=226</id>
		<title>FOSSology</title>
		<link rel="alternate" type="text/html" href="https://wiki.osselot.org/index.php?title=FOSSology&amp;diff=226"/>
		<updated>2024-01-09T10:12:11Z</updated>

		<summary type="html">&lt;p&gt;Ckresse: /* Customization */: Remove anchor&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Installation==&lt;br /&gt;
The Fossology software can be downloaded from the [https://www.fossology.org/ project&#039;s home page].&lt;br /&gt;
==Manual addition of [[Scancode]]==&lt;br /&gt;
In addition to the default installation, the [[Scancode]] Open Source scan tool should be installed, and an interface from the FOSSology instance to it should be configured. The rationale behind the recommendation to use a certain variety of scanners is that each scanner has its own strengths and weaknesses and by combining the individual scan findings, the overall result can be optimized.&lt;br /&gt;
&lt;br /&gt;
== Customization ==&lt;br /&gt;
In the SPDX standard, licenses are denoted by a short identifier (e.g. GPL-2.0-only or LicenseRef-MIT-customized). Licenses that are not listed in the [https://spdx.org/licenses SPDX License List] are prefixed by &amp;quot;LicenseRef-&amp;quot;, and in the section &amp;quot;License information&amp;quot; of the SPDX tag:value file, the full license text is given. Licenses with standard texts according to the [https://spdx.org/licenses SPDX License List] do not carry the &amp;quot;LicenseRef-&amp;quot; prefix, and their license text is not given in the tag:value file. For the &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;OSSelot&amp;lt;/span&amp;gt; project however, the SPDX tag:value file is intended to be self-consistent, i.e. for every short license identifier the corresponding full license text must be given. In order to achieve this while ensuring the SPDX file can be valid, we have patched our Fossology installation to add the &amp;quot;LicenseRef-&amp;quot; prefix to all license identifiers. In our Fossology installation, the patch directory is /usr/local/share/fossology/patches and the patch list-all-license-texts-in-spdxtv-export.patch looks as follows:&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
Index: fossology/spdx2/agent/template/spdx2-document.xml.twig&lt;br /&gt;
===================================================================&lt;br /&gt;
--- fossology.orig/spdx2/agent/template/spdx2-document.xml.twig&lt;br /&gt;
+++ fossology/spdx2/agent/template/spdx2-document.xml.twig&lt;br /&gt;
@@ -21,7 +21,7 @@&lt;br /&gt;
   &amp;lt;rdfs:comment&amp;gt;&lt;br /&gt;
     This document was created using license information and a generator from Fossology.&lt;br /&gt;
   &amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
-  {% for licenseId,licenseData in licenseTexts %}{% if licenseId starts with &#039;LicenseRef-&#039; %}&lt;br /&gt;
+  {% for licenseId,licenseData in licenseTexts %}&lt;br /&gt;
   &amp;lt;spdx:hasExtractedLicensingInfo&amp;gt;&lt;br /&gt;
 {% if licenseId starts with &#039;LicenseRef-&#039; %}&lt;br /&gt;
     &amp;lt;spdx:ExtractedLicensingInfo rdf:about=&amp;quot;{{ uri }}#{{ licenseId|replace({&#039; &#039;: &#039;-&#039;})|url_encode }}&amp;quot;&amp;gt;&lt;br /&gt;
@@ -36,7 +36,7 @@&lt;br /&gt;
       ]]&amp;gt;&amp;lt;/spdx:extractedText&amp;gt;&lt;br /&gt;
     &amp;lt;/spdx:ExtractedLicensingInfo&amp;gt;&lt;br /&gt;
   &amp;lt;/spdx:hasExtractedLicensingInfo&amp;gt;&lt;br /&gt;
-{% endif %}{% endfor %}&lt;br /&gt;
+{% endfor %}&lt;br /&gt;
   {{ packageNodes|replace({&#039;\n&#039;:&#039;\n  &#039;}) }}&lt;br /&gt;
 &amp;lt;/spdx:SpdxDocument&amp;gt;&lt;br /&gt;
 &amp;lt;/rdf:RDF&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Index: fossology/spdx2/agent/template/spdx2tv-document.twig&lt;br /&gt;
===================================================================&lt;br /&gt;
--- fossology.orig/spdx2/agent/template/spdx2tv-document.twig&lt;br /&gt;
+++ fossology/spdx2/agent/template/spdx2tv-document.twig&lt;br /&gt;
@@ -40,10 +40,10 @@ LicenseListVersion: 2.6&lt;br /&gt;
 ## License Information&lt;br /&gt;
 ##-------------------------&lt;br /&gt;
 &lt;br /&gt;
-{% for licenseId,licenseData in licenseTexts %}{% if licenseId starts with &#039;LicenseRef-&#039; %}&lt;br /&gt;
+{% for licenseId,licenseData in licenseTexts %}&lt;br /&gt;
 LicenseID: {{ licenseId|replace({&#039; &#039;: &#039;-&#039;}) }}&lt;br /&gt;
 LicenseName: {{ licenseData[&#039;name&#039;] }}&lt;br /&gt;
 ExtractedText: &amp;lt;text&amp;gt; {{ licenseData[&#039;text&#039;]|replace({&#039;&amp;lt;text&amp;gt;&#039;:&#039;&amp;amp;lt;text&amp;amp;gt;&#039;,&#039;&amp;lt;/text&amp;gt;&#039;:&#039;&amp;amp;lt;/text&amp;amp;gt;&#039;})&lt;br /&gt;
                                             |replace({&#039;\f&#039;:&#039;&#039;}) }} &amp;lt;/text&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
-{% endif %}{% endfor %}&lt;br /&gt;
+{% endfor %}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Community server==&lt;br /&gt;
The reference community FOSSology server &amp;lt;i&amp;gt;[https://fossy.osadl.org Fossy]&amp;lt;/i&amp;gt; is available on the Internet and internally used for primary curation and review; however, it is not publicly available. Future contributors may be granted login to the &amp;lt;i&amp;gt;Fossy&amp;lt;/i&amp;gt; server after they successfully underwent &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;OSSelot&amp;lt;/span&amp;gt; curators&#039; training.&lt;br /&gt;
&lt;br /&gt;
==Basic workflow==&lt;br /&gt;
The basic workflow for clearing a package with Fossology is given on the [https://www.fossology.org/get-started/basic-workflow/ Fossology project page].&lt;/div&gt;</summary>
		<author><name>Ckresse</name></author>
	</entry>
	<entry>
		<id>https://wiki.osselot.org/index.php?title=Curation_guideline&amp;diff=225</id>
		<title>Curation guideline</title>
		<link rel="alternate" type="text/html" href="https://wiki.osselot.org/index.php?title=Curation_guideline&amp;diff=225"/>
		<updated>2024-01-09T10:09:50Z</updated>

		<summary type="html">&lt;p&gt;Ckresse: /* SPDX tag:value report */: Add version variants&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This information is intended to provide guidelines on how data are curated for the &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;OSSelot&amp;lt;/span&amp;gt; project and how contributing works. The curator should be familiar with their preferred scanning tool (ours is [[FOSSology|Fossology]]) and have a general understanding of copyright law and in particular knowledge of FOSS licensing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note:&#039;&#039; Whenever information is given that is specific to [[FOSSology|Fossology]], it is prepended with the keyword &#039;&#039;&#039;fossy&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Preparation ==&lt;br /&gt;
* Obtain the component in source code form.&lt;br /&gt;
** Note the download URL.&lt;br /&gt;
* Naming convention:&lt;br /&gt;
** Try to follow the project’s naming and version convention, e.g. as given by the release’s git tag.&lt;br /&gt;
** If this is not consistent, use only lowercase letters.&lt;br /&gt;
** [package name]-[version number], e.g. angular-15.1.0.&lt;br /&gt;
* Analyze the component with a license scan tool (e.g. [[FOSSology|Fossology]], [[Scancode|Scancode]]).&lt;br /&gt;
** &#039;&#039;&#039;fossy:&#039;&#039;&#039; [[FOSSology|Fossology]] default settings for analysis:&lt;br /&gt;
*** 7. Select optional analysis:&lt;br /&gt;
**** Upload from file&lt;br /&gt;
**** Copyright/Email/URL/Author Analysis&lt;br /&gt;
**** Monk License Analysis, scanning for licenses performing a text comparison&lt;br /&gt;
**** Nomos License Analysis, scanning for licenses using regular expressions&lt;br /&gt;
**** Ojo License Analysis, scanning for licenses using SPDX-License-Identifier&lt;br /&gt;
*** 10. ScanCode Toolkit, scan for&lt;br /&gt;
**** License&lt;br /&gt;
**** Copyright&lt;br /&gt;
** [[Scancode|Scancode]] default options for analysis:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
scancode -cli --license-text -json [package name-version].json [package]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;c: copyrights; l: licenses; i: file information; --license-text: include full license text&lt;br /&gt;
&lt;br /&gt;
== Data curation ==&lt;br /&gt;
* A licensing expert reviews and analyzes the scanning results.&lt;br /&gt;
* [[FOSSology|Fossology]] can directly be used to review the results. The [[Scancode]] results must be reviewed with an external tool, e.g. [https://github.com/opossum-tool/opossumUI Opossum].&lt;br /&gt;
* Review is done on file level, i.e. every file in the source code tree for which at least one scanner found a result is analyzed.&lt;br /&gt;
** &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], you can browse through the relevant files by selecting &amp;quot;Go through all files with licenses and no clearing result&amp;quot;.&lt;br /&gt;
* That means:&lt;br /&gt;
** scanner findings are confirmed, or&lt;br /&gt;
** scanner findings are corrected.&lt;br /&gt;
* If there are no findings for a file, the conclusion is NO ASSERTION (for SPDX tag &#039;&#039;LicenseConcluded&#039;&#039;).&lt;br /&gt;
** &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], this is given by the clearing decision types &amp;quot;No license known&amp;quot; or &amp;quot;Irrelevant&amp;quot; or &amp;quot;Non-functional&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;LicenseComments&#039;&#039; ===&lt;br /&gt;
In case a license conclusion is not obvious, the decision is explained.&lt;br /&gt;
* This is done with the following heuristic:&amp;lt;blockquote&amp;gt;The information in the file is:&amp;lt;br/&amp;gt;&amp;quot;[Quote licensing information in the source code file]&amp;quot;&amp;lt;br/&amp;gt;[Give reason for conclusion] Therefore, [license] is concluded.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* Example 1: No version&amp;lt;blockquote&amp;gt;The information in the file is:&amp;lt;br/&amp;gt;&amp;quot;This file is GPL&#039;d.&amp;quot;&amp;lt;br/&amp;gt;As no version of the GPL is given, GPL-1.0-or-later is concluded.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* Example 2: URL for license text&amp;lt;blockquote&amp;gt;The information in the file is:&amp;lt;br/&amp;gt;&amp;quot;This file is licensed under License A. You can find the license text at &amp;lt;nowiki&amp;gt;https://www.LicenseTextOfLicenseA.com&amp;lt;/nowiki&amp;gt;.&amp;quot;&amp;lt;br/&amp;gt;The URL contains the license text of License A, therefore License A is concluded. The information was retrieved on [date].&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In Fossology, the explanations are given in the &amp;quot;Comment&amp;quot; section which maps to the SPDX tag &#039;&#039;LicenseComments&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Correcting scanner findings ===&lt;br /&gt;
The following list includes typical cases where scanner findings have to be corrected and how to do so.&lt;br /&gt;
&lt;br /&gt;
==== Not a license ====&lt;br /&gt;
The scanner concludes a license from an expression in a file that is not actually a license expression at all. In this case, the incorrect license finding is removed.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], the source of the scanner finding is highlighted when clicking on the number (#1) behind the scanner.&lt;br /&gt;
==== Not the file&#039;s license ====&lt;br /&gt;
The scanner concludes a license from a license expression that is part of the file’s content but not the license of the file itself. In this case, the incorrect license finding is removed.&lt;br /&gt;
==== License text ====&lt;br /&gt;
Files that contain only a license text (e.g. COPYING) are concluded by the scanners to be licensed under the respective license. This is usually not correct. Most license texts are not explicitly licensed, so the finding is removed. The GNU licenses contain a license statement for the license text itself which is concluded for these cases (&#039;&#039;License-of-GNU-licenses&#039;&#039;).&lt;br /&gt;
==== Imprecise finding ====&lt;br /&gt;
The scanner finding might be imprecise, e.g. w.r.t. to the version of a license, e.g. no version number is given. If this is the case, the imprecise finding is removed and the specified license and version is concluded. If no version is given, the lowest existing version with the -or-later extension is concluded.&lt;br /&gt;
==== Dual licensing ====&lt;br /&gt;
A file might offer a choice of two or more licenses under which it can be used. If the context requires to chose one specific license, this choice must be noted. However, all applicable licenses must be concluded. Also, dual license cases require additional post-processing, see section &amp;quot;Post-processing&amp;quot; below.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], add the following text to the &amp;quot;Acknowledgement&amp;quot; section of the &amp;quot;Dual-license&amp;quot; finding to note the license choice, if applicable:&amp;lt;blockquote&amp;gt;To the extend files may be licensed under License A or License B, in this context License B has been chosen. This shall not restrict the freedom of other users to choose either License A or License B. For convenience, all license texts are provided.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
==== License exceptions ====&lt;br /&gt;
In particular for the GNU licenses, there are a number of license exceptions.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; [[FOSSology|Fossology]] notes the license and the exception as separate findings. This is corrected to one finding using the SPDX license expression [License] WITH [exception], e.g. GPL-2.0-or-later WITH GCC-exception-2.0.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; If the [[FOSSology|Fossology]] license database does not yet contain these licenses, they have to be added. &lt;br /&gt;
==== Generic license texts ====&lt;br /&gt;
For some licenses, especially the BSD-type licenses, many variants of the license texts exist. The scanners often provide only the generic license texts. If an individual text differs from the generic text, the individual license text is provided.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], click percentage of match to see differences.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; The individual text is copied from the file into the &amp;quot;License&amp;quot; section of [[FOSSology|Fossology]].&lt;br /&gt;
==== External references ====&lt;br /&gt;
Sometimes the file does not contain the name or text of a license but references an external resource such as a COPYRIGHT file in the root directory or a URL. In these cases, the external reference is checked and the detected license is concluded and the process is documented as a &#039;&#039;LicenseComment&#039;&#039; (in case of a URL, the date of access is noted).&lt;br /&gt;
==== (Partially) global license assignment ====&lt;br /&gt;
Sometimes there is a Readme file or similar that contains a statement assigning a license to several files within the source tree (e.g. all files in a specific directory). As such information is often outdated or does not account for individual licensing of files, it is not used to assign a license to a file here.&lt;br /&gt;
==== Acknowledgment ====&lt;br /&gt;
If a license has an acknowledgment requirement, the respective acknowledgment text is given. In particular for CC_BY licenses, the acknowledgment must contain the following information (if available): name of the creator, copyright notice, license notice, disclaimer, link to the material.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], the acknowledgment text is given in the &amp;quot;Acknowledgement&amp;quot; section.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;fossy:&#039;&#039;&#039; Bulk statements ===&lt;br /&gt;
In [[FOSSology|Fossology]], scanner findings can be confirmed, removed or corrected with bulk statements.&lt;br /&gt;
* When doing so, it is crucial to start with the shorter bulk statements as these can be part of a longer bulk statement which would then be modified by running the short bulk statement after the long one. For example (abbreviated):&amp;lt;blockquote&amp;gt;Short bulk statement: &amp;quot;This file is licensed under GPL version 2.0.&amp;quot;&amp;lt;br/&amp;gt;Long bulk statement: &amp;quot;This file is licensed under GPL version 2.0. As a special exception, you may...&amp;quot;&amp;lt;/blockquote&amp;gt; Here, the short bulk statement will modify the findings for the file with the long bulk statement. It should therefore be run first so that afterwards, the long bulk statement can correct the conclusion for the relevant files.&lt;br /&gt;
* Do not limit the scope of bulk statements, rather choose unique bulk statements. When reusing bulk statements for future uploads, the initial scope is not preserved, but they are applied to the entire upload, so it might yield false results.&lt;br /&gt;
&lt;br /&gt;
=== Curating copyright statements ===&lt;br /&gt;
* Remove findings that were incorrectly identified as a copyright statement (e.g. license texts, code, etc.).&lt;br /&gt;
* Remove content from copyright statements that is not part of the copyright notice (e.g. formatting signs, license notices, comments on content, code, etc.).&lt;br /&gt;
* If the source code tree contains an AUTHORS file, the content of this is given as value to the SPDX tag &#039;&#039;PackageCopyrightText&#039;&#039; in the post-processing stage (see section “Post-processing” below).&lt;br /&gt;
&lt;br /&gt;
=== Package license ===&lt;br /&gt;
Only If there is a LICENSE or COPYING or similar file in the root directory that states a main license for the package, we give this information as value to the SPDX tag &#039;&#039;PackageLicenseDeclared&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], this is marked as the &amp;quot;main license&amp;quot; by activating the star symbol. Caution: If the main license is a custom text, [[FOSSology|Fossology]] takes the standard template text anyway. This has to be corrected manually in the post-processing stage (see section “Post-processing” below).&lt;br /&gt;
&lt;br /&gt;
== Report export and post-processing ==&lt;br /&gt;
In the SPDX standard, licenses are denoted by a short identifier (e.g. GPL-2.0-only or LicenseRef-MIT-customized). Licenses that are not listed in the [https://spdx.org/licenses SPDX License List] are prefixed by &amp;quot;LicenseRef-&amp;quot;, and in the section &amp;quot;License information&amp;quot; of the SPDX tag:value file, the full license text is given. Licenses with standard texts according to the [https://spdx.org/licenses SPDX License List] do not carry the &amp;quot;LicenseRef-&amp;quot; prefix, and their license text is not given in the tag:value file. For the &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;OSSelot&amp;lt;/span&amp;gt; project however, the SPDX tag:value file is intended to be self-consistent, i.e. for every short license identifier the corresponding full license text must be given.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In order to achieve this while ensuring the SPDX file can be valid, we have patched our [[FOSSology|Fossology]] installation to add the &amp;quot;LicenseRef-&amp;quot; prefix to all license identifiers. For details, see the article on [[FOSSology|Fossology]].&lt;br /&gt;
&lt;br /&gt;
=== Export reports ===&lt;br /&gt;
When all license information and copyright statements of the entire package are curated, the result is exported as SPDX tag:value and OSS Disclosure files.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; The [[FOSSology|Fossology]] settings for report generation must be changed for every new package. Go to &#039;&#039;Conf → SPDX Report Settings&#039;&#039;, select &amp;quot;Show SPDX license comments&amp;quot; and submit the change.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; Export SPDX tag:value report.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; Export ReadMe_OSS (OSS disclosure report).&lt;br /&gt;
&lt;br /&gt;
=== Post-processing ===&lt;br /&gt;
Some post-processing operations on the SPDX tag:value and the OSS disclosure reports are required. At least some of these operations can be easily scripted.&lt;br /&gt;
* Rename files to fit naming convention&lt;br /&gt;
** SPDX tag:value report: [package name]-[version number]-SPDX2TV.spdx, e.g. angular-15.1.0-SPDX2TV.spdx.&lt;br /&gt;
** OSS disclosure file: [package name]-[version number]-OSS-disclosure.txt, e.g. angular-15.1.0-OSS-disclosure.txt.&lt;br /&gt;
&lt;br /&gt;
==== Both reports ====&lt;br /&gt;
(Not required for FOSSology versions 4.3 or higher.)&lt;br /&gt;
* For &amp;quot;or later&amp;quot; license references, replace &amp;quot;+&amp;quot; with &amp;quot;-or-later&amp;quot;, e.g. GPL-2.0+ → GPL-2.0-or-later.&lt;br /&gt;
* For GNU licenses without &amp;quot;or later&amp;quot; extension, add &amp;quot;-only&amp;quot;, e.g. GPL-2.0 → GPL-2.0-only.&lt;br /&gt;
&lt;br /&gt;
==== OSS disclosure report ====&lt;br /&gt;
* Remove headings &amp;quot;Main license&amp;quot; and &amp;quot;Other licenses&amp;quot;, and replace by heading &amp;quot;Licenses&amp;quot;.&lt;br /&gt;
==== SPDX tag:value report ====&lt;br /&gt;
To see how the SPDX tag:value file is generally used in &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;OSSelot&amp;lt;/span&amp;gt; have a look at the [[SPDX2TV template|SPDX2TV template]].&lt;br /&gt;
&lt;br /&gt;
The following tags must be edited:&lt;br /&gt;
* &#039;&#039;Creator: Person:&#039;&#039; [name of creator]&lt;br /&gt;
* &#039;&#039;CreatorComment:&#039;&#039; &amp;lt;text&amp;gt;This document was created using license information and a generator from Fossology. It contains the license and copyright analysis of [package]. Please check &amp;quot;LicenseComments&amp;quot; for explanations of concluded licenses.&amp;lt;/text&amp;gt;&lt;br /&gt;
* &#039;&#039;PackageLicenseConcluded:&#039;&#039; NOASSERTION&lt;br /&gt;
* (Not required for FOSSology versions 4.3 or higher) If main license is not a template license text, add correct customized license reference to &#039;&#039;PackageLicenseDeclared&#039;&#039;.&lt;br /&gt;
* Dual licensing conclusions: Remove &amp;quot;LicenseRef-Dual-license&amp;quot; and correct AND operator to OR (e.g. LicenseA AND LicenseB AND LicenseRef-Dual-license → LicenseA OR LicenseB). If there is dual licensing and multiple licenses, be aware of the SPDX operator hierarchy (default order of precedence: WITH, AND, OR). For only two licenses, this is not required for FOSSology versions 4.3 or higher, but for three or more licenses, manual editing is still necessary.&lt;br /&gt;
* As the SPDX standard does not contain template license texts but the OSSelot variant does, we need to add the prefix &amp;quot;LicenseRef-&amp;quot; to all license IDs that do not yet carry it to obtain a valid SPDX document. See patch in [[fossypatch|FOSSology:Customization]].&lt;br /&gt;
&lt;br /&gt;
The SPDX tag:value file must be validated either with the [https://tools.spdx.org/app/ SPDX online tools] or with the [https://github.com/spdx/tools-java CLI tools]. When the SPDX tag:value file is valid, convert to spdx.json, spdx.rdf.xml, spdx.yaml formats.&lt;br /&gt;
&lt;br /&gt;
== Contribution ==&lt;br /&gt;
The contribution of a newly curated package must contain the following artifacts:&lt;br /&gt;
* README with download URL, purl, creator name&lt;br /&gt;
* OSS disclosure file&lt;br /&gt;
* SPDX tag:value file&lt;br /&gt;
* SPDX json file&lt;br /&gt;
* SPDX rdf.xml file&lt;br /&gt;
* SPDX yaml file&lt;br /&gt;
&lt;br /&gt;
To contribute, the repository [https://github.com/Open-Source-Compliance/package-analysis https://github.com/Open-Source-Compliance/package-analysis] must be forked and a pull request must be created.&lt;br /&gt;
* The Contribution must be licensed under CC0-1.0.&lt;br /&gt;
* The pull request must contain a &amp;quot;Signed-off-by: [Name] &amp;lt;Email&amp;gt;&amp;quot; statement to indicate acceptance of the [https://github.com/Open-Source-Compliance/package-analysis/blob/main/CONTRIBUTING.md Certificate of Origin].&lt;br /&gt;
* The contribution will be reviewed. If changes are required, we kindly ask the contributor to be persistent and resubmit the reworked contribution. When it is accepted, the artifacts will be published.&lt;br /&gt;
&lt;br /&gt;
== Contact ==&lt;br /&gt;
Please direct any questions or remarks to [mailto:info@osselot.org info@osselot.org]. We will be happy to help.&lt;/div&gt;</summary>
		<author><name>Ckresse</name></author>
	</entry>
	<entry>
		<id>https://wiki.osselot.org/index.php?title=FOSSology&amp;diff=224</id>
		<title>FOSSology</title>
		<link rel="alternate" type="text/html" href="https://wiki.osselot.org/index.php?title=FOSSology&amp;diff=224"/>
		<updated>2024-01-09T10:08:22Z</updated>

		<summary type="html">&lt;p&gt;Ckresse: Add anchor to /* Customization */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Installation==&lt;br /&gt;
The Fossology software can be downloaded from the [https://www.fossology.org/ project&#039;s home page].&lt;br /&gt;
==Manual addition of [[Scancode]]==&lt;br /&gt;
In addition to the default installation, the [[Scancode]] Open Source scan tool should be installed, and an interface from the FOSSology instance to it should be configured. The rationale behind the recommendation to use a certain variety of scanners is that each scanner has its own strengths and weaknesses and by combining the individual scan findings, the overall result can be optimized.&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;div id=&amp;quot;fossypatch&amp;quot;&amp;gt;Customization&amp;lt;/div&amp;gt; ==&lt;br /&gt;
In the SPDX standard, licenses are denoted by a short identifier (e.g. GPL-2.0-only or LicenseRef-MIT-customized). Licenses that are not listed in the [https://spdx.org/licenses SPDX License List] are prefixed by &amp;quot;LicenseRef-&amp;quot;, and in the section &amp;quot;License information&amp;quot; of the SPDX tag:value file, the full license text is given. Licenses with standard texts according to the [https://spdx.org/licenses SPDX License List] do not carry the &amp;quot;LicenseRef-&amp;quot; prefix, and their license text is not given in the tag:value file. For the &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;OSSelot&amp;lt;/span&amp;gt; project however, the SPDX tag:value file is intended to be self-consistent, i.e. for every short license identifier the corresponding full license text must be given. In order to achieve this while ensuring the SPDX file can be valid, we have patched our Fossology installation to add the &amp;quot;LicenseRef-&amp;quot; prefix to all license identifiers. In our Fossology installation, the patch directory is /usr/local/share/fossology/patches and the patch list-all-license-texts-in-spdxtv-export.patch looks as follows:&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
Index: fossology/spdx2/agent/template/spdx2-document.xml.twig&lt;br /&gt;
===================================================================&lt;br /&gt;
--- fossology.orig/spdx2/agent/template/spdx2-document.xml.twig&lt;br /&gt;
+++ fossology/spdx2/agent/template/spdx2-document.xml.twig&lt;br /&gt;
@@ -21,7 +21,7 @@&lt;br /&gt;
   &amp;lt;rdfs:comment&amp;gt;&lt;br /&gt;
     This document was created using license information and a generator from Fossology.&lt;br /&gt;
   &amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
-  {% for licenseId,licenseData in licenseTexts %}{% if licenseId starts with &#039;LicenseRef-&#039; %}&lt;br /&gt;
+  {% for licenseId,licenseData in licenseTexts %}&lt;br /&gt;
   &amp;lt;spdx:hasExtractedLicensingInfo&amp;gt;&lt;br /&gt;
 {% if licenseId starts with &#039;LicenseRef-&#039; %}&lt;br /&gt;
     &amp;lt;spdx:ExtractedLicensingInfo rdf:about=&amp;quot;{{ uri }}#{{ licenseId|replace({&#039; &#039;: &#039;-&#039;})|url_encode }}&amp;quot;&amp;gt;&lt;br /&gt;
@@ -36,7 +36,7 @@&lt;br /&gt;
       ]]&amp;gt;&amp;lt;/spdx:extractedText&amp;gt;&lt;br /&gt;
     &amp;lt;/spdx:ExtractedLicensingInfo&amp;gt;&lt;br /&gt;
   &amp;lt;/spdx:hasExtractedLicensingInfo&amp;gt;&lt;br /&gt;
-{% endif %}{% endfor %}&lt;br /&gt;
+{% endfor %}&lt;br /&gt;
   {{ packageNodes|replace({&#039;\n&#039;:&#039;\n  &#039;}) }}&lt;br /&gt;
 &amp;lt;/spdx:SpdxDocument&amp;gt;&lt;br /&gt;
 &amp;lt;/rdf:RDF&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Index: fossology/spdx2/agent/template/spdx2tv-document.twig&lt;br /&gt;
===================================================================&lt;br /&gt;
--- fossology.orig/spdx2/agent/template/spdx2tv-document.twig&lt;br /&gt;
+++ fossology/spdx2/agent/template/spdx2tv-document.twig&lt;br /&gt;
@@ -40,10 +40,10 @@ LicenseListVersion: 2.6&lt;br /&gt;
 ## License Information&lt;br /&gt;
 ##-------------------------&lt;br /&gt;
 &lt;br /&gt;
-{% for licenseId,licenseData in licenseTexts %}{% if licenseId starts with &#039;LicenseRef-&#039; %}&lt;br /&gt;
+{% for licenseId,licenseData in licenseTexts %}&lt;br /&gt;
 LicenseID: {{ licenseId|replace({&#039; &#039;: &#039;-&#039;}) }}&lt;br /&gt;
 LicenseName: {{ licenseData[&#039;name&#039;] }}&lt;br /&gt;
 ExtractedText: &amp;lt;text&amp;gt; {{ licenseData[&#039;text&#039;]|replace({&#039;&amp;lt;text&amp;gt;&#039;:&#039;&amp;amp;lt;text&amp;amp;gt;&#039;,&#039;&amp;lt;/text&amp;gt;&#039;:&#039;&amp;amp;lt;/text&amp;amp;gt;&#039;})&lt;br /&gt;
                                             |replace({&#039;\f&#039;:&#039;&#039;}) }} &amp;lt;/text&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
-{% endif %}{% endfor %}&lt;br /&gt;
+{% endfor %}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Community server==&lt;br /&gt;
The reference community FOSSology server &amp;lt;i&amp;gt;[https://fossy.osadl.org Fossy]&amp;lt;/i&amp;gt; is available on the Internet and internally used for primary curation and review; however, it is not publicly available. Future contributors may be granted login to the &amp;lt;i&amp;gt;Fossy&amp;lt;/i&amp;gt; server after they successfully underwent &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;OSSelot&amp;lt;/span&amp;gt; curators&#039; training.&lt;br /&gt;
&lt;br /&gt;
==Basic workflow==&lt;br /&gt;
The basic workflow for clearing a package with Fossology is given on the [https://www.fossology.org/get-started/basic-workflow/ Fossology project page].&lt;/div&gt;</summary>
		<author><name>Ckresse</name></author>
	</entry>
	<entry>
		<id>https://wiki.osselot.org/index.php?title=Curation_guideline&amp;diff=223</id>
		<title>Curation guideline</title>
		<link rel="alternate" type="text/html" href="https://wiki.osselot.org/index.php?title=Curation_guideline&amp;diff=223"/>
		<updated>2024-01-09T09:59:25Z</updated>

		<summary type="html">&lt;p&gt;Ckresse: Version update&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This information is intended to provide guidelines on how data are curated for the &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;OSSelot&amp;lt;/span&amp;gt; project and how contributing works. The curator should be familiar with their preferred scanning tool (ours is [[FOSSology|Fossology]]) and have a general understanding of copyright law and in particular knowledge of FOSS licensing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note:&#039;&#039; Whenever information is given that is specific to [[FOSSology|Fossology]], it is prepended with the keyword &#039;&#039;&#039;fossy&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Preparation ==&lt;br /&gt;
* Obtain the component in source code form.&lt;br /&gt;
** Note the download URL.&lt;br /&gt;
* Naming convention:&lt;br /&gt;
** Try to follow the project’s naming and version convention, e.g. as given by the release’s git tag.&lt;br /&gt;
** If this is not consistent, use only lowercase letters.&lt;br /&gt;
** [package name]-[version number], e.g. angular-15.1.0.&lt;br /&gt;
* Analyze the component with a license scan tool (e.g. [[FOSSology|Fossology]], [[Scancode|Scancode]]).&lt;br /&gt;
** &#039;&#039;&#039;fossy:&#039;&#039;&#039; [[FOSSology|Fossology]] default settings for analysis:&lt;br /&gt;
*** 7. Select optional analysis:&lt;br /&gt;
**** Upload from file&lt;br /&gt;
**** Copyright/Email/URL/Author Analysis&lt;br /&gt;
**** Monk License Analysis, scanning for licenses performing a text comparison&lt;br /&gt;
**** Nomos License Analysis, scanning for licenses using regular expressions&lt;br /&gt;
**** Ojo License Analysis, scanning for licenses using SPDX-License-Identifier&lt;br /&gt;
*** 10. ScanCode Toolkit, scan for&lt;br /&gt;
**** License&lt;br /&gt;
**** Copyright&lt;br /&gt;
** [[Scancode|Scancode]] default options for analysis:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
scancode -cli --license-text -json [package name-version].json [package]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;c: copyrights; l: licenses; i: file information; --license-text: include full license text&lt;br /&gt;
&lt;br /&gt;
== Data curation ==&lt;br /&gt;
* A licensing expert reviews and analyzes the scanning results.&lt;br /&gt;
* [[FOSSology|Fossology]] can directly be used to review the results. The [[Scancode]] results must be reviewed with an external tool, e.g. [https://github.com/opossum-tool/opossumUI Opossum].&lt;br /&gt;
* Review is done on file level, i.e. every file in the source code tree for which at least one scanner found a result is analyzed.&lt;br /&gt;
** &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], you can browse through the relevant files by selecting &amp;quot;Go through all files with licenses and no clearing result&amp;quot;.&lt;br /&gt;
* That means:&lt;br /&gt;
** scanner findings are confirmed, or&lt;br /&gt;
** scanner findings are corrected.&lt;br /&gt;
* If there are no findings for a file, the conclusion is NO ASSERTION (for SPDX tag &#039;&#039;LicenseConcluded&#039;&#039;).&lt;br /&gt;
** &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], this is given by the clearing decision types &amp;quot;No license known&amp;quot; or &amp;quot;Irrelevant&amp;quot; or &amp;quot;Non-functional&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;LicenseComments&#039;&#039; ===&lt;br /&gt;
In case a license conclusion is not obvious, the decision is explained.&lt;br /&gt;
* This is done with the following heuristic:&amp;lt;blockquote&amp;gt;The information in the file is:&amp;lt;br/&amp;gt;&amp;quot;[Quote licensing information in the source code file]&amp;quot;&amp;lt;br/&amp;gt;[Give reason for conclusion] Therefore, [license] is concluded.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* Example 1: No version&amp;lt;blockquote&amp;gt;The information in the file is:&amp;lt;br/&amp;gt;&amp;quot;This file is GPL&#039;d.&amp;quot;&amp;lt;br/&amp;gt;As no version of the GPL is given, GPL-1.0-or-later is concluded.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* Example 2: URL for license text&amp;lt;blockquote&amp;gt;The information in the file is:&amp;lt;br/&amp;gt;&amp;quot;This file is licensed under License A. You can find the license text at &amp;lt;nowiki&amp;gt;https://www.LicenseTextOfLicenseA.com&amp;lt;/nowiki&amp;gt;.&amp;quot;&amp;lt;br/&amp;gt;The URL contains the license text of License A, therefore License A is concluded. The information was retrieved on [date].&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In Fossology, the explanations are given in the &amp;quot;Comment&amp;quot; section which maps to the SPDX tag &#039;&#039;LicenseComments&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Correcting scanner findings ===&lt;br /&gt;
The following list includes typical cases where scanner findings have to be corrected and how to do so.&lt;br /&gt;
&lt;br /&gt;
==== Not a license ====&lt;br /&gt;
The scanner concludes a license from an expression in a file that is not actually a license expression at all. In this case, the incorrect license finding is removed.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], the source of the scanner finding is highlighted when clicking on the number (#1) behind the scanner.&lt;br /&gt;
==== Not the file&#039;s license ====&lt;br /&gt;
The scanner concludes a license from a license expression that is part of the file’s content but not the license of the file itself. In this case, the incorrect license finding is removed.&lt;br /&gt;
==== License text ====&lt;br /&gt;
Files that contain only a license text (e.g. COPYING) are concluded by the scanners to be licensed under the respective license. This is usually not correct. Most license texts are not explicitly licensed, so the finding is removed. The GNU licenses contain a license statement for the license text itself which is concluded for these cases (&#039;&#039;License-of-GNU-licenses&#039;&#039;).&lt;br /&gt;
==== Imprecise finding ====&lt;br /&gt;
The scanner finding might be imprecise, e.g. w.r.t. to the version of a license, e.g. no version number is given. If this is the case, the imprecise finding is removed and the specified license and version is concluded. If no version is given, the lowest existing version with the -or-later extension is concluded.&lt;br /&gt;
==== Dual licensing ====&lt;br /&gt;
A file might offer a choice of two or more licenses under which it can be used. If the context requires to chose one specific license, this choice must be noted. However, all applicable licenses must be concluded. Also, dual license cases require additional post-processing, see section &amp;quot;Post-processing&amp;quot; below.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], add the following text to the &amp;quot;Acknowledgement&amp;quot; section of the &amp;quot;Dual-license&amp;quot; finding to note the license choice, if applicable:&amp;lt;blockquote&amp;gt;To the extend files may be licensed under License A or License B, in this context License B has been chosen. This shall not restrict the freedom of other users to choose either License A or License B. For convenience, all license texts are provided.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
==== License exceptions ====&lt;br /&gt;
In particular for the GNU licenses, there are a number of license exceptions.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; [[FOSSology|Fossology]] notes the license and the exception as separate findings. This is corrected to one finding using the SPDX license expression [License] WITH [exception], e.g. GPL-2.0-or-later WITH GCC-exception-2.0.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; If the [[FOSSology|Fossology]] license database does not yet contain these licenses, they have to be added. &lt;br /&gt;
==== Generic license texts ====&lt;br /&gt;
For some licenses, especially the BSD-type licenses, many variants of the license texts exist. The scanners often provide only the generic license texts. If an individual text differs from the generic text, the individual license text is provided.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], click percentage of match to see differences.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; The individual text is copied from the file into the &amp;quot;License&amp;quot; section of [[FOSSology|Fossology]].&lt;br /&gt;
==== External references ====&lt;br /&gt;
Sometimes the file does not contain the name or text of a license but references an external resource such as a COPYRIGHT file in the root directory or a URL. In these cases, the external reference is checked and the detected license is concluded and the process is documented as a &#039;&#039;LicenseComment&#039;&#039; (in case of a URL, the date of access is noted).&lt;br /&gt;
==== (Partially) global license assignment ====&lt;br /&gt;
Sometimes there is a Readme file or similar that contains a statement assigning a license to several files within the source tree (e.g. all files in a specific directory). As such information is often outdated or does not account for individual licensing of files, it is not used to assign a license to a file here.&lt;br /&gt;
==== Acknowledgment ====&lt;br /&gt;
If a license has an acknowledgment requirement, the respective acknowledgment text is given. In particular for CC_BY licenses, the acknowledgment must contain the following information (if available): name of the creator, copyright notice, license notice, disclaimer, link to the material.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], the acknowledgment text is given in the &amp;quot;Acknowledgement&amp;quot; section.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;fossy:&#039;&#039;&#039; Bulk statements ===&lt;br /&gt;
In [[FOSSology|Fossology]], scanner findings can be confirmed, removed or corrected with bulk statements.&lt;br /&gt;
* When doing so, it is crucial to start with the shorter bulk statements as these can be part of a longer bulk statement which would then be modified by running the short bulk statement after the long one. For example (abbreviated):&amp;lt;blockquote&amp;gt;Short bulk statement: &amp;quot;This file is licensed under GPL version 2.0.&amp;quot;&amp;lt;br/&amp;gt;Long bulk statement: &amp;quot;This file is licensed under GPL version 2.0. As a special exception, you may...&amp;quot;&amp;lt;/blockquote&amp;gt; Here, the short bulk statement will modify the findings for the file with the long bulk statement. It should therefore be run first so that afterwards, the long bulk statement can correct the conclusion for the relevant files.&lt;br /&gt;
* Do not limit the scope of bulk statements, rather choose unique bulk statements. When reusing bulk statements for future uploads, the initial scope is not preserved, but they are applied to the entire upload, so it might yield false results.&lt;br /&gt;
&lt;br /&gt;
=== Curating copyright statements ===&lt;br /&gt;
* Remove findings that were incorrectly identified as a copyright statement (e.g. license texts, code, etc.).&lt;br /&gt;
* Remove content from copyright statements that is not part of the copyright notice (e.g. formatting signs, license notices, comments on content, code, etc.).&lt;br /&gt;
* If the source code tree contains an AUTHORS file, the content of this is given as value to the SPDX tag &#039;&#039;PackageCopyrightText&#039;&#039; in the post-processing stage (see section “Post-processing” below).&lt;br /&gt;
&lt;br /&gt;
=== Package license ===&lt;br /&gt;
Only If there is a LICENSE or COPYING or similar file in the root directory that states a main license for the package, we give this information as value to the SPDX tag &#039;&#039;PackageLicenseDeclared&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], this is marked as the &amp;quot;main license&amp;quot; by activating the star symbol. Caution: If the main license is a custom text, [[FOSSology|Fossology]] takes the standard template text anyway. This has to be corrected manually in the post-processing stage (see section “Post-processing” below).&lt;br /&gt;
&lt;br /&gt;
== Report export and post-processing ==&lt;br /&gt;
In the SPDX standard, licenses are denoted by a short identifier (e.g. GPL-2.0-only or LicenseRef-MIT-customized). Licenses that are not listed in the [https://spdx.org/licenses SPDX License List] are prefixed by &amp;quot;LicenseRef-&amp;quot;, and in the section &amp;quot;License information&amp;quot; of the SPDX tag:value file, the full license text is given. Licenses with standard texts according to the [https://spdx.org/licenses SPDX License List] do not carry the &amp;quot;LicenseRef-&amp;quot; prefix, and their license text is not given in the tag:value file. For the &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;OSSelot&amp;lt;/span&amp;gt; project however, the SPDX tag:value file is intended to be self-consistent, i.e. for every short license identifier the corresponding full license text must be given.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In order to achieve this while ensuring the SPDX file can be valid, we have patched our [[FOSSology|Fossology]] installation to add the &amp;quot;LicenseRef-&amp;quot; prefix to all license identifiers. For details, see the article on [[FOSSology|Fossology]].&lt;br /&gt;
&lt;br /&gt;
=== Export reports ===&lt;br /&gt;
When all license information and copyright statements of the entire package are curated, the result is exported as SPDX tag:value and OSS Disclosure files.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; The [[FOSSology|Fossology]] settings for report generation must be changed for every new package. Go to &#039;&#039;Conf → SPDX Report Settings&#039;&#039;, select &amp;quot;Show SPDX license comments&amp;quot; and submit the change.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; Export SPDX tag:value report.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; Export ReadMe_OSS (OSS disclosure report).&lt;br /&gt;
&lt;br /&gt;
=== Post-processing ===&lt;br /&gt;
Some post-processing operations on the SPDX tag:value and the OSS disclosure reports are required. At least some of these operations can be easily scripted.&lt;br /&gt;
* Rename files to fit naming convention&lt;br /&gt;
** SPDX tag:value report: [package name]-[version number]-SPDX2TV.spdx, e.g. angular-15.1.0-SPDX2TV.spdx.&lt;br /&gt;
** OSS disclosure file: [package name]-[version number]-OSS-disclosure.txt, e.g. angular-15.1.0-OSS-disclosure.txt.&lt;br /&gt;
&lt;br /&gt;
==== Both reports ====&lt;br /&gt;
(Not required for FOSSology versions 4.3 or higher.)&lt;br /&gt;
* For &amp;quot;or later&amp;quot; license references, replace &amp;quot;+&amp;quot; with &amp;quot;-or-later&amp;quot;, e.g. GPL-2.0+ → GPL-2.0-or-later.&lt;br /&gt;
* For GNU licenses without &amp;quot;or later&amp;quot; extension, add &amp;quot;-only&amp;quot;, e.g. GPL-2.0 → GPL-2.0-only.&lt;br /&gt;
&lt;br /&gt;
==== OSS disclosure report ====&lt;br /&gt;
* Remove headings &amp;quot;Main license&amp;quot; and &amp;quot;Other licenses&amp;quot;, and replace by heading &amp;quot;Licenses&amp;quot;.&lt;br /&gt;
==== SPDX tag:value report ====&lt;br /&gt;
To see how the SPDX tag:value file is generally used in &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;OSSelot&amp;lt;/span&amp;gt; have a look at the [[SPDX2TV template|SPDX2TV template]].&lt;br /&gt;
&lt;br /&gt;
The following tags must be edited:&lt;br /&gt;
* &#039;&#039;Creator: Person:&#039;&#039; [name of creator]&lt;br /&gt;
* &#039;&#039;CreatorComment:&#039;&#039; &amp;lt;text&amp;gt;This document was created using license information and a generator from Fossology. It contains the license and copyright analysis of [package]. Please check &amp;quot;LicenseComments&amp;quot; for explanations of concluded licenses.&amp;lt;/text&amp;gt;&lt;br /&gt;
* &#039;&#039;PackageLicenseConcluded:&#039;&#039; NOASSERTION&lt;br /&gt;
* If main license is not a template license text, add correct customized license reference to &#039;&#039;PackageLicenseDeclared&#039;&#039;.&lt;br /&gt;
* Dual licensing conclusions: Remove &amp;quot;LicenseRef-Dual-license&amp;quot; and correct AND operator to OR (e.g. LicenseA AND LicenseB AND LicenseRef-Dual-license → LicenseA OR LicenseB). If there is dual licensing and multiple licenses, be aware of the SPDX operator hierarchy (default order of precedence: WITH, AND, OR).&lt;br /&gt;
* As the SPDX standard does not contain template license texts but the OSSelot variant does, we need to add the prefix &amp;quot;LicenseRef-&amp;quot; to all license IDs that do not yet carry it to obtain a valid SPDX document.&lt;br /&gt;
&lt;br /&gt;
The SPDX tag:value file must be validated either with the [https://tools.spdx.org/app/ SPDX online tools] or with the [https://github.com/spdx/tools-java CLI tools]. When the SPDX tag:value file is valid, convert to spdx.json, spdx.rdf.xml, spdx.yaml formats.&lt;br /&gt;
&lt;br /&gt;
== Contribution ==&lt;br /&gt;
The contribution of a newly curated package must contain the following artifacts:&lt;br /&gt;
* README with download URL, purl, creator name&lt;br /&gt;
* OSS disclosure file&lt;br /&gt;
* SPDX tag:value file&lt;br /&gt;
* SPDX json file&lt;br /&gt;
* SPDX rdf.xml file&lt;br /&gt;
* SPDX yaml file&lt;br /&gt;
&lt;br /&gt;
To contribute, the repository [https://github.com/Open-Source-Compliance/package-analysis https://github.com/Open-Source-Compliance/package-analysis] must be forked and a pull request must be created.&lt;br /&gt;
* The Contribution must be licensed under CC0-1.0.&lt;br /&gt;
* The pull request must contain a &amp;quot;Signed-off-by: [Name] &amp;lt;Email&amp;gt;&amp;quot; statement to indicate acceptance of the [https://github.com/Open-Source-Compliance/package-analysis/blob/main/CONTRIBUTING.md Certificate of Origin].&lt;br /&gt;
* The contribution will be reviewed. If changes are required, we kindly ask the contributor to be persistent and resubmit the reworked contribution. When it is accepted, the artifacts will be published.&lt;br /&gt;
&lt;br /&gt;
== Contact ==&lt;br /&gt;
Please direct any questions or remarks to [mailto:info@osselot.org info@osselot.org]. We will be happy to help.&lt;/div&gt;</summary>
		<author><name>Ckresse</name></author>
	</entry>
	<entry>
		<id>https://wiki.osselot.org/index.php?title=Curation_guideline&amp;diff=222</id>
		<title>Curation guideline</title>
		<link rel="alternate" type="text/html" href="https://wiki.osselot.org/index.php?title=Curation_guideline&amp;diff=222"/>
		<updated>2023-11-06T10:43:15Z</updated>

		<summary type="html">&lt;p&gt;Ckresse: /* SPDX tag:value report */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This information is intended to provide guidelines on how data are curated for the &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;OSSelot&amp;lt;/span&amp;gt; project and how contributing works. The curator should be familiar with their preferred scanning tool (ours is [[FOSSology|Fossology]]) and have a general understanding of copyright law and in particular knowledge of FOSS licensing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note:&#039;&#039; Whenever information is given that is specific to [[FOSSology|Fossology]], it is prepended with the keyword &#039;&#039;&#039;fossy&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Preparation ==&lt;br /&gt;
* Obtain the component in source code form.&lt;br /&gt;
** Note the download URL.&lt;br /&gt;
* Naming convention:&lt;br /&gt;
** Try to follow the project’s naming and version convention, e.g. as given by the release’s git tag.&lt;br /&gt;
** If this is not consistent, use only lowercase letters.&lt;br /&gt;
** [package name]-[version number], e.g. angular-15.1.0.&lt;br /&gt;
* Analyze the component with a license scan tool (e.g. [[FOSSology|Fossology]], [[Scancode|Scancode]]).&lt;br /&gt;
** &#039;&#039;&#039;fossy:&#039;&#039;&#039; [[FOSSology|Fossology]] default settings for analysis:&lt;br /&gt;
*** 7. Select optional analysis:&lt;br /&gt;
**** Upload from file&lt;br /&gt;
**** Copyright/Email/URL/Author Analysis&lt;br /&gt;
**** Monk License Analysis, scanning for licenses performing a text comparison&lt;br /&gt;
**** Nomos License Analysis, scanning for licenses using regular expressions&lt;br /&gt;
**** Ojo License Analysis, scanning for licenses using SPDX-License-Identifier&lt;br /&gt;
*** 10. ScanCode Toolkit, scan for&lt;br /&gt;
**** License&lt;br /&gt;
**** Copyright&lt;br /&gt;
** [[Scancode|Scancode]] default options for analysis:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
scancode -cli --license-text -json [package name-version].json [package]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;c: copyrights; l: licenses; i: file information; --license-text: include full license text&lt;br /&gt;
&lt;br /&gt;
== Data curation ==&lt;br /&gt;
* A licensing expert reviews and analyzes the scanning results.&lt;br /&gt;
* [[FOSSology|Fossology]] can directly be used to review the results. The [[Scancode]] results must be reviewed with an external tool, e.g. [https://github.com/opossum-tool/opossumUI Opossum].&lt;br /&gt;
* Review is done on file level, i.e. every file in the source code tree for which at least one scanner found a result is analyzed.&lt;br /&gt;
** &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], you can browse through the relevant files by selecting &amp;quot;Go through all files with licenses and no clearing result&amp;quot;.&lt;br /&gt;
* That means:&lt;br /&gt;
** scanner findings are confirmed, or&lt;br /&gt;
** scanner findings are corrected.&lt;br /&gt;
* If there are no findings for a file, the conclusion is NO ASSERTION (for SPDX tag &#039;&#039;LicenseConcluded&#039;&#039;).&lt;br /&gt;
** &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], this is given by the clearing decision types &amp;quot;No license known&amp;quot; or &amp;quot;Irrelevant&amp;quot; or &amp;quot;Non-functional&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;LicenseComments&#039;&#039; ===&lt;br /&gt;
In case a license conclusion is not obvious, the decision is explained.&lt;br /&gt;
* This is done with the following heuristic:&amp;lt;blockquote&amp;gt;The information in the file is:&amp;lt;br/&amp;gt;&amp;quot;[Quote licensing information in the source code file]&amp;quot;&amp;lt;br/&amp;gt;[Give reason for conclusion] Therefore, [license] is concluded.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* Example 1: No version&amp;lt;blockquote&amp;gt;The information in the file is:&amp;lt;br/&amp;gt;&amp;quot;This file is GPL&#039;d.&amp;quot;&amp;lt;br/&amp;gt;As no version of the GPL is given, GPL-1.0-or-later is concluded.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* Example 2: URL for license text&amp;lt;blockquote&amp;gt;The information in the file is:&amp;lt;br/&amp;gt;&amp;quot;This file is licensed under License A. You can find the license text at &amp;lt;nowiki&amp;gt;https://www.LicenseTextOfLicenseA.com&amp;lt;/nowiki&amp;gt;.&amp;quot;&amp;lt;br/&amp;gt;The URL contains the license text of License A, therefore License A is concluded. The information was retrieved on [date].&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In Fossology, the explanations are given in the &amp;quot;Comment&amp;quot; section which maps to the SPDX tag &#039;&#039;LicenseComments&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Correcting scanner findings ===&lt;br /&gt;
The following list includes typical cases where scanner findings have to be corrected and how to do so.&lt;br /&gt;
&lt;br /&gt;
==== Not a license ====&lt;br /&gt;
The scanner concludes a license from an expression in a file that is not actually a license expression at all. In this case, the incorrect license finding is removed.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], the source of the scanner finding is highlighted when clicking on the number (#1) behind the scanner.&lt;br /&gt;
==== Not the file&#039;s license ====&lt;br /&gt;
The scanner concludes a license from a license expression that is part of the file’s content but not the license of the file itself. In this case, the incorrect license finding is removed.&lt;br /&gt;
==== License text ====&lt;br /&gt;
Files that contain only a license text (e.g. COPYING) are concluded by the scanners to be licensed under the respective license. This is usually not correct. Most license texts are not explicitly licensed, so the finding is removed. The GNU licenses contain a license statement for the license text itself which is concluded for these cases (&#039;&#039;License-of-GNU-licenses&#039;&#039;).&lt;br /&gt;
==== Imprecise finding ====&lt;br /&gt;
The scanner finding might be imprecise, e.g. w.r.t. to the version of a license, e.g. no version number is given. If this is the case, the imprecise finding is removed and the specified license and version is concluded. If no version is given, the lowest existing version with the -or-later extension is concluded.&lt;br /&gt;
==== Dual licensing ====&lt;br /&gt;
A file might offer a choice of two or more licenses under which it can be used. If the context requires to chose one specific license, this choice must be noted. However, all applicable licenses must be concluded. Also, dual license cases require additional post-processing, see section &amp;quot;Post-processing&amp;quot; below.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], add the following text to the &amp;quot;Acknowledgement&amp;quot; section of the &amp;quot;Dual-license&amp;quot; finding to note the license choice, if applicable:&amp;lt;blockquote&amp;gt;To the extend files may be licensed under License A or License B, in this context License B has been chosen. This shall not restrict the freedom of other users to choose either License A or License B. For convenience, all license texts are provided.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
==== License exceptions ====&lt;br /&gt;
In particular for the GNU licenses, there are a number of license exceptions.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; [[FOSSology|Fossology]] notes the license and the exception as separate findings. This is corrected to one finding using the SPDX license expression [License] WITH [exception], e.g. GPL-2.0-or-later WITH GCC-exception-2.0.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; If the [[FOSSology|Fossology]] license database does not yet contain these licenses, they have to be added. &lt;br /&gt;
==== Generic license texts ====&lt;br /&gt;
For some licenses, especially the BSD-type licenses, many variants of the license texts exist. The scanners often provide only the generic license texts. If an individual text differs from the generic text, the individual license text is provided.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], click percentage of match to see differences.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; The individual text is copied from the file into the &amp;quot;License&amp;quot; section of [[FOSSology|Fossology]].&lt;br /&gt;
==== External references ====&lt;br /&gt;
Sometimes the file does not contain the name or text of a license but references an external resource such as a COPYRIGHT file in the root directory or a URL. In these cases, the external reference is checked and the detected license is concluded and the process is documented as a &#039;&#039;LicenseComment&#039;&#039; (in case of a URL, the date of access is noted).&lt;br /&gt;
==== (Partially) global license assignment ====&lt;br /&gt;
Sometimes there is a Readme file or similar that contains a statement assigning a license to several files within the source tree (e.g. all files in a specific directory). As such information is often outdated or does not account for individual licensing of files, it is not used to assign a license to a file here.&lt;br /&gt;
==== Acknowledgment ====&lt;br /&gt;
If a license has an acknowledgment requirement, the respective acknowledgment text is given. In particular for CC_BY licenses, the acknowledgment must contain the following information (if available): name of the creator, copyright notice, license notice, disclaimer, link to the material.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], the acknowledgment text is given in the &amp;quot;Acknowledgement&amp;quot; section.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;fossy:&#039;&#039;&#039; Bulk statements ===&lt;br /&gt;
In [[FOSSology|Fossology]], scanner findings can be confirmed, removed or corrected with bulk statements.&lt;br /&gt;
* When doing so, it is crucial to start with the shorter bulk statements as these can be part of a longer bulk statement which would then be modified by running the short bulk statement after the long one. For example (abbreviated):&amp;lt;blockquote&amp;gt;Short bulk statement: &amp;quot;This file is licensed under GPL version 2.0.&amp;quot;&amp;lt;br/&amp;gt;Long bulk statement: &amp;quot;This file is licensed under GPL version 2.0. As a special exception, you may...&amp;quot;&amp;lt;/blockquote&amp;gt; Here, the short bulk statement will modify the findings for the file with the long bulk statement. It should therefore be run first so that afterwards, the long bulk statement can correct the conclusion for the relevant files.&lt;br /&gt;
* Do not limit the scope of bulk statements, rather choose unique bulk statements. When reusing bulk statements for future uploads, the initial scope is not preserved, but they are applied to the entire upload, so it might yield false results.&lt;br /&gt;
&lt;br /&gt;
=== Curating copyright statements ===&lt;br /&gt;
* Remove findings that were incorrectly identified as a copyright statement (e.g. license texts, code, etc.).&lt;br /&gt;
* Remove content from copyright statements that is not part of the copyright notice (e.g. formatting signs, license notices, comments on content, code, etc.).&lt;br /&gt;
* If the source code tree contains an AUTHORS file, the content of this is given as value to the SPDX tag &#039;&#039;PackageCopyrightText&#039;&#039; in the post-processing stage (see section “Post-processing” below).&lt;br /&gt;
&lt;br /&gt;
=== Package license ===&lt;br /&gt;
Only If there is a LICENSE or COPYING or similar file in the root directory that states a main license for the package, we give this information as value to the SPDX tag &#039;&#039;PackageLicenseDeclared&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], this is marked as the &amp;quot;main license&amp;quot; by activating the star symbol. Caution: If the main license is a custom text, [[FOSSology|Fossology]] takes the standard template text anyway. This has to be corrected manually in the post-processing stage (see section “Post-processing” below).&lt;br /&gt;
&lt;br /&gt;
== Report export and post-processing ==&lt;br /&gt;
In the SPDX standard, licenses are denoted by a short identifier (e.g. GPL-2.0-only or LicenseRef-MIT-customized). Licenses that are not listed in the [https://spdx.org/licenses SPDX License List] are prefixed by &amp;quot;LicenseRef-&amp;quot;, and in the section &amp;quot;License information&amp;quot; of the SPDX tag:value file, the full license text is given. Licenses with standard texts according to the [https://spdx.org/licenses SPDX License List] do not carry the &amp;quot;LicenseRef-&amp;quot; prefix, and their license text is not given in the tag:value file. For the &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;OSSelot&amp;lt;/span&amp;gt; project however, the SPDX tag:value file is intended to be self-consistent, i.e. for every short license identifier the corresponding full license text must be given.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In order to achieve this while ensuring the SPDX file can be valid, we have patched our [[FOSSology|Fossology]] installation to add the &amp;quot;LicenseRef-&amp;quot; prefix to all license identifiers. For details, see the article on [[FOSSology|Fossology]].&lt;br /&gt;
&lt;br /&gt;
=== Export reports ===&lt;br /&gt;
When all license information and copyright statements of the entire package are curated, the result is exported as SPDX tag:value and OSS Disclosure files.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; The [[FOSSology|Fossology]] settings for report generation must be changed for every new package. Go to &#039;&#039;Conf → SPDX Report Settings&#039;&#039;, select &amp;quot;Show SPDX license comments&amp;quot; and submit the change.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; Export SPDX tag:value report.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; Export ReadMe_OSS (OSS disclosure report).&lt;br /&gt;
&lt;br /&gt;
=== Post-processing ===&lt;br /&gt;
Some post-processing operations on the SPDX tag:value and the OSS disclosure reports are required. At least some of these operations can be easily scripted.&lt;br /&gt;
* Rename files to fit naming convention&lt;br /&gt;
** SPDX tag:value report: [package name]-[version number]-SPDX2TV.spdx, e.g. angular-15.1.0-SPDX2TV.spdx.&lt;br /&gt;
** OSS disclosure file: [package name]-[version number]-OSS-disclosure.txt, e.g. angular-15.1.0-OSS-disclosure.txt.&lt;br /&gt;
&lt;br /&gt;
==== Both reports ====&lt;br /&gt;
* For &amp;quot;or later&amp;quot; license references, replace &amp;quot;+&amp;quot; with &amp;quot;-or-later&amp;quot;, e.g. GPL-2.0+ → GPL-2.0-or-later.&lt;br /&gt;
* For GNU licenses without &amp;quot;or later&amp;quot; extension, add &amp;quot;-only&amp;quot;, e.g. GPL-2.0 → GPL-2.0-only.&lt;br /&gt;
==== OSS disclosure report ====&lt;br /&gt;
* Remove headings &amp;quot;Main license&amp;quot; and &amp;quot;Other licenses&amp;quot;, and replace by heading &amp;quot;Licenses&amp;quot;.&lt;br /&gt;
==== SPDX tag:value report ====&lt;br /&gt;
To see how the SPDX tag:value file is generally used in &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;OSSelot&amp;lt;/span&amp;gt; have a look at the [[SPDX2TV template|SPDX2TV template]].&lt;br /&gt;
&lt;br /&gt;
The following tags must be edited:&lt;br /&gt;
* &#039;&#039;Creator: Person:&#039;&#039; [name of creator]&lt;br /&gt;
* &#039;&#039;CreatorComment:&#039;&#039; &amp;lt;text&amp;gt;This document was created using license information and a generator from Fossology. It contains the license and copyright analysis of [package]. Please check &amp;quot;LicenseComments&amp;quot; for explanations of concluded licenses.&amp;lt;/text&amp;gt;&lt;br /&gt;
* &#039;&#039;PackageLicenseConcluded:&#039;&#039; NOASSERTION&lt;br /&gt;
* If main license is not a template license text, add correct customized license reference to &#039;&#039;PackageLicenseDeclared&#039;&#039;.&lt;br /&gt;
* Dual licensing conclusions: Remove &amp;quot;LicenseRef-Dual-license&amp;quot; and correct AND operator to OR (e.g. LicenseA AND LicenseB AND LicenseRef-Dual-license → LicenseA OR LicenseB). If there is dual licensing and multiple licenses, be aware of the SPDX operator hierarchy (default order of precedence: WITH, AND, OR).&lt;br /&gt;
* As the SPDX standard does not contain template license texts but the OSSelot variant does, we need to add the prefix &amp;quot;LicenseRef-&amp;quot; to all license IDs that do not yet carry it to obtain a valid SPDX document.&lt;br /&gt;
&lt;br /&gt;
The SPDX tag:value file must be validated either with the [https://tools.spdx.org/app/ SPDX online tools] or with the [https://github.com/spdx/tools-java CLI tools]. When the SPDX tag:value file is valid, convert to spdx.json, spdx.rdf.xml, spdx.yaml formats.&lt;br /&gt;
&lt;br /&gt;
== Contribution ==&lt;br /&gt;
The contribution of a newly curated package must contain the following artifacts:&lt;br /&gt;
* README with download URL, purl, creator name&lt;br /&gt;
* OSS disclosure file&lt;br /&gt;
* SPDX tag:value file&lt;br /&gt;
* SPDX json file&lt;br /&gt;
* SPDX rdf.xml file&lt;br /&gt;
* SPDX yaml file&lt;br /&gt;
&lt;br /&gt;
To contribute, the repository [https://github.com/Open-Source-Compliance/package-analysis https://github.com/Open-Source-Compliance/package-analysis] must be forked and a pull request must be created.&lt;br /&gt;
* The Contribution must be licensed under CC0-1.0.&lt;br /&gt;
* The pull request must contain a &amp;quot;Signed-off-by: [Name] &amp;lt;Email&amp;gt;&amp;quot; statement to indicate acceptance of the [https://github.com/Open-Source-Compliance/package-analysis/blob/main/CONTRIBUTING.md Certificate of Origin].&lt;br /&gt;
* The contribution will be reviewed. If changes are required, we kindly ask the contributor to be persistent and resubmit the reworked contribution. When it is accepted, the artifacts will be published.&lt;br /&gt;
&lt;br /&gt;
== Contact ==&lt;br /&gt;
Please direct any questions or remarks to [mailto:info@osselot.org info@osselot.org]. We will be happy to help.&lt;/div&gt;</summary>
		<author><name>Ckresse</name></author>
	</entry>
	<entry>
		<id>https://wiki.osselot.org/index.php?title=FOSSology&amp;diff=166</id>
		<title>FOSSology</title>
		<link rel="alternate" type="text/html" href="https://wiki.osselot.org/index.php?title=FOSSology&amp;diff=166"/>
		<updated>2023-09-19T07:32:08Z</updated>

		<summary type="html">&lt;p&gt;Ckresse: Add link to basic workflow&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Installation==&lt;br /&gt;
The Fossology software can be downloaded from the [https://www.fossology.org/ project&#039;s home page].&lt;br /&gt;
==Manual addition of [[Scancode]]==&lt;br /&gt;
In addition to the default installation, the [[Scancode]] Open Source scan tool should be installed, and an interface from the FOSSology instance to it should be configured. The rationale behind the recommendation to use a certain variety of scanners is that each scanner has its own strengths and weaknesses and by combining the individual scan findings, the overall result can be optimized.&lt;br /&gt;
&lt;br /&gt;
== Customization ==&lt;br /&gt;
In the SPDX standard, licenses are denoted by a short identifier (e.g. GPL-2.0-only or LicenseRef-MIT-customized). Licenses that are not listed in the [https://spdx.org/licenses SPDX License List] are prefixed by &amp;quot;LicenseRef-&amp;quot;, and in the section &amp;quot;License information&amp;quot; of the SPDX tag:value file, the full license text is given. Licenses with standard texts according to the [https://spdx.org/licenses SPDX License List] do not carry the &amp;quot;LicenseRef-&amp;quot; prefix, and their license text is not given in the tag:value file. For the &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt; project however, the SPDX tag:value file is intended to be self-consistent, i.e. for every short license identifier the corresponding full license text must be given. In order to achieve this while ensuring the SPDX file can be valid, we have patched our Fossology installation to add the &amp;quot;LicenseRef-&amp;quot; prefix to all license identifiers. In our Fossology installation, the patch directory is /usr/local/share/fossology/patches and the patch list-all-license-texts-in-spdxtv-export.patch looks as follows:&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
Index: fossology/spdx2/agent/template/spdx2-document.xml.twig&lt;br /&gt;
===================================================================&lt;br /&gt;
--- fossology.orig/spdx2/agent/template/spdx2-document.xml.twig&lt;br /&gt;
+++ fossology/spdx2/agent/template/spdx2-document.xml.twig&lt;br /&gt;
@@ -21,7 +21,7 @@&lt;br /&gt;
   &amp;lt;rdfs:comment&amp;gt;&lt;br /&gt;
     This document was created using license information and a generator from Fossology.&lt;br /&gt;
   &amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
-  {% for licenseId,licenseData in licenseTexts %}{% if licenseId starts with &#039;LicenseRef-&#039; %}&lt;br /&gt;
+  {% for licenseId,licenseData in licenseTexts %}&lt;br /&gt;
   &amp;lt;spdx:hasExtractedLicensingInfo&amp;gt;&lt;br /&gt;
 {% if licenseId starts with &#039;LicenseRef-&#039; %}&lt;br /&gt;
     &amp;lt;spdx:ExtractedLicensingInfo rdf:about=&amp;quot;{{ uri }}#{{ licenseId|replace({&#039; &#039;: &#039;-&#039;})|url_encode }}&amp;quot;&amp;gt;&lt;br /&gt;
@@ -36,7 +36,7 @@&lt;br /&gt;
       ]]&amp;gt;&amp;lt;/spdx:extractedText&amp;gt;&lt;br /&gt;
     &amp;lt;/spdx:ExtractedLicensingInfo&amp;gt;&lt;br /&gt;
   &amp;lt;/spdx:hasExtractedLicensingInfo&amp;gt;&lt;br /&gt;
-{% endif %}{% endfor %}&lt;br /&gt;
+{% endfor %}&lt;br /&gt;
   {{ packageNodes|replace({&#039;\n&#039;:&#039;\n  &#039;}) }}&lt;br /&gt;
 &amp;lt;/spdx:SpdxDocument&amp;gt;&lt;br /&gt;
 &amp;lt;/rdf:RDF&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Index: fossology/spdx2/agent/template/spdx2tv-document.twig&lt;br /&gt;
===================================================================&lt;br /&gt;
--- fossology.orig/spdx2/agent/template/spdx2tv-document.twig&lt;br /&gt;
+++ fossology/spdx2/agent/template/spdx2tv-document.twig&lt;br /&gt;
@@ -40,10 +40,10 @@ LicenseListVersion: 2.6&lt;br /&gt;
 ## License Information&lt;br /&gt;
 ##-------------------------&lt;br /&gt;
 &lt;br /&gt;
-{% for licenseId,licenseData in licenseTexts %}{% if licenseId starts with &#039;LicenseRef-&#039; %}&lt;br /&gt;
+{% for licenseId,licenseData in licenseTexts %}&lt;br /&gt;
 LicenseID: {{ licenseId|replace({&#039; &#039;: &#039;-&#039;}) }}&lt;br /&gt;
 LicenseName: {{ licenseData[&#039;name&#039;] }}&lt;br /&gt;
 ExtractedText: &amp;lt;text&amp;gt; {{ licenseData[&#039;text&#039;]|replace({&#039;&amp;lt;text&amp;gt;&#039;:&#039;&amp;amp;lt;text&amp;amp;gt;&#039;,&#039;&amp;lt;/text&amp;gt;&#039;:&#039;&amp;amp;lt;/text&amp;amp;gt;&#039;})&lt;br /&gt;
                                             |replace({&#039;\f&#039;:&#039;&#039;}) }} &amp;lt;/text&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
-{% endif %}{% endfor %}&lt;br /&gt;
+{% endfor %}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Community server==&lt;br /&gt;
The reference community FOSSology server &amp;lt;i&amp;gt;[https://fossy.osadl.org Fossy]&amp;lt;/i&amp;gt; is available on the Internet and internally used for primary curation and review; however, it is not publicly available. Future contributors may be granted login to the &amp;lt;i&amp;gt;Fossy&amp;lt;/i&amp;gt; server after they successfully underwent &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt; curators&#039; training.&lt;br /&gt;
&lt;br /&gt;
==Basic workflow==&lt;br /&gt;
The basic workflow for clearing a package with Fossology is given on the [https://www.fossology.org/get-started/basic-workflow/ Fossology project page].&lt;/div&gt;</summary>
		<author><name>Ckresse</name></author>
	</entry>
	<entry>
		<id>https://wiki.osselot.org/index.php?title=Scancode&amp;diff=165</id>
		<title>Scancode</title>
		<link rel="alternate" type="text/html" href="https://wiki.osselot.org/index.php?title=Scancode&amp;diff=165"/>
		<updated>2023-09-14T15:07:42Z</updated>

		<summary type="html">&lt;p&gt;Ckresse: Add Osselot conventions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Installation==&lt;br /&gt;
The Scancode toolkit can be downloaded from the [https://github.com/nexB/scancode-toolkit/releases/latest related Github repository]. The landing page of the company behind Scancode is [https://www.nexb.com/scancode/ here].&lt;br /&gt;
==Documentation==&lt;br /&gt;
Online documentation of the Scancode toolkit is available [https://scancode-toolkit.readthedocs.io/en/stable/ here].&lt;br /&gt;
==Scancode conventions of the &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt; project ==&lt;br /&gt;
Default options for analysis:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
scancode -cli --license-text -json [package name-version].json [package]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;c: copyrights; l: licenses; i: file information; --license-text: include full license text&lt;/div&gt;</summary>
		<author><name>Ckresse</name></author>
	</entry>
	<entry>
		<id>https://wiki.osselot.org/index.php?title=Curation_guideline&amp;diff=164</id>
		<title>Curation guideline</title>
		<link rel="alternate" type="text/html" href="https://wiki.osselot.org/index.php?title=Curation_guideline&amp;diff=164"/>
		<updated>2023-09-14T15:07:15Z</updated>

		<summary type="html">&lt;p&gt;Ckresse: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This information is intended to provide guidelines on how data are curated for the &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt; project and how contributing works. The curator should be familiar with their preferred scanning tool (ours is [[FOSSology|Fossology]]) and have a general understanding of copyright law and in particular knowledge of FOSS licensing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note:&#039;&#039; Whenever information is given that is specific to [[FOSSology|Fossology]], it is prepended with the keyword &#039;&#039;&#039;fossy&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Preparation ==&lt;br /&gt;
* Obtain the component in source code form.&lt;br /&gt;
** Note the download URL.&lt;br /&gt;
* Naming convention:&lt;br /&gt;
** Try to follow the project’s naming and version convention, e.g. as given by the release’s git tag.&lt;br /&gt;
** If this is not consistent, use only lowercase letters.&lt;br /&gt;
** [package name]-[version number], e.g. angular-15.1.0.&lt;br /&gt;
* Analyze the component with a license scan tool (e.g. [[FOSSology|Fossology]], [[Scancode|Scancode]]).&lt;br /&gt;
** &#039;&#039;&#039;fossy:&#039;&#039;&#039; [[FOSSology|Fossology]] default settings for analysis:&lt;br /&gt;
*** 7. Select optional analysis:&lt;br /&gt;
**** Upload from file&lt;br /&gt;
**** Copyright/Email/URL/Author Analysis&lt;br /&gt;
**** Monk License Analysis, scanning for licenses performing a text comparison&lt;br /&gt;
**** Nomos License Analysis, scanning for licenses using regular expressions&lt;br /&gt;
**** Ojo License Analysis, scanning for licenses using SPDX-License-Identifier&lt;br /&gt;
*** 10. ScanCode Toolkit, scan for&lt;br /&gt;
**** License&lt;br /&gt;
**** Copyright&lt;br /&gt;
** [[Scancode|Scancode]] default options for analysis:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
scancode -cli --license-text -json [package name-version].json [package]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;c: copyrights; l: licenses; i: file information; --license-text: include full license text&lt;br /&gt;
&lt;br /&gt;
== Data curation ==&lt;br /&gt;
* A licensing expert reviews and analyzes the scanning results.&lt;br /&gt;
* [[FOSSology|Fossology]] can directly be used to review the results. The [[Scancode]] results must be reviewed with an external tool, e.g. [https://github.com/opossum-tool/opossumUI Opossum].&lt;br /&gt;
* Review is done on file level, i.e. every file in the source code tree for which at least one scanner found a result is analyzed.&lt;br /&gt;
** &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], you can browse through the relevant files by selecting &amp;quot;Go through all files with licenses and no clearing result&amp;quot;.&lt;br /&gt;
* That means:&lt;br /&gt;
** scanner findings are confirmed, or&lt;br /&gt;
** scanner findings are corrected.&lt;br /&gt;
* If there are no findings for a file, the conclusion is NO ASSERTION (for SPDX tag &#039;&#039;LicenseConcluded&#039;&#039;).&lt;br /&gt;
** &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], this is given by the clearing decision types &amp;quot;No license known&amp;quot; or &amp;quot;Irrelevant&amp;quot; or &amp;quot;Non-functional&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;LicenseComments&#039;&#039; ===&lt;br /&gt;
In case a license conclusion is not obvious, the decision is explained.&lt;br /&gt;
* This is done with the following heuristic:&amp;lt;blockquote&amp;gt;The information in the file is:&amp;lt;br/&amp;gt;&amp;quot;[Quote licensing information in the source code file]&amp;quot;&amp;lt;br/&amp;gt;[Give reason for conclusion] Therefore, [license] is concluded.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* Example 1: No version&amp;lt;blockquote&amp;gt;The information in the file is:&amp;lt;br/&amp;gt;&amp;quot;This file is GPL&#039;d.&amp;quot;&amp;lt;br/&amp;gt;As no version of the GPL is given, GPL-1.0-or-later is concluded.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* Example 2: URL for license text&amp;lt;blockquote&amp;gt;The information in the file is:&amp;lt;br/&amp;gt;&amp;quot;This file is licensed under License A. You can find the license text at &amp;lt;nowiki&amp;gt;https://www.LicenseTextOfLicenseA.com&amp;lt;/nowiki&amp;gt;.&amp;quot;&amp;lt;br/&amp;gt;The URL contains the license text of License A, therefore License A is concluded. The information was retrieved on [date].&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In Fossology, the explanations are given in the &amp;quot;Comment&amp;quot; section which maps to the SPDX tag &#039;&#039;LicenseComments&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Correcting scanner findings ===&lt;br /&gt;
The following list includes typical cases where scanner findings have to be corrected and how to do so.&lt;br /&gt;
&lt;br /&gt;
==== Not a license ====&lt;br /&gt;
The scanner concludes a license from an expression in a file that is not actually a license expression at all. In this case, the incorrect license finding is removed.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], the source of the scanner finding is highlighted when clicking on the number (#1) behind the scanner.&lt;br /&gt;
==== Not the file&#039;s license ====&lt;br /&gt;
The scanner concludes a license from a license expression that is part of the file’s content but not the license of the file itself. In this case, the incorrect license finding is removed.&lt;br /&gt;
==== License text ====&lt;br /&gt;
Files that contain only a license text (e.g. COPYING) are concluded by the scanners to be licensed under the respective license. This is usually not correct. Most license texts are not explicitly licensed, so the finding is removed. The GNU licenses contain a license statement for the license text itself which is concluded for these cases (&#039;&#039;License-of-GNU-licenses&#039;&#039;).&lt;br /&gt;
==== Imprecise finding ====&lt;br /&gt;
The scanner finding might be imprecise, e.g. w.r.t. to the version of a license, e.g. no version number is given. If this is the case, the imprecise finding is removed and the specified license and version is concluded. If no version is given, the lowest existing version with the -or-later extension is concluded.&lt;br /&gt;
==== Dual licensing ====&lt;br /&gt;
A file might offer a choice of two or more licenses under which it can be used. If the context requires to chose one specific license, this choice must be noted. However, all applicable licenses must be concluded. Also, dual license cases require additional post-processing, see section &amp;quot;Post-processing&amp;quot; below.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], add the following text to the &amp;quot;Acknowledgement&amp;quot; section of the &amp;quot;Dual-license&amp;quot; finding to note the license choice, if applicable:&amp;lt;blockquote&amp;gt;To the extend files may be licensed under License A or License B, in this context License B has been chosen. This shall not restrict the freedom of other users to choose either License A or License B. For convenience, all license texts are provided.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
==== License exceptions ====&lt;br /&gt;
In particular for the GNU licenses, there are a number of license exceptions.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; [[FOSSology|Fossology]] notes the license and the exception as separate findings. This is corrected to one finding using the SPDX license expression [License] WITH [exception], e.g. GPL-2.0-or-later WITH GCC-exception-2.0.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; If the [[FOSSology|Fossology]] license database does not yet contain these licenses, they have to be added. &lt;br /&gt;
==== Generic license texts ====&lt;br /&gt;
For some licenses, especially the BSD-type licenses, many variants of the license texts exist. The scanners often provide only the generic license texts. If an individual text differs from the generic text, the individual license text is provided.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], click percentage of match to see differences.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; The individual text is copied from the file into the &amp;quot;License&amp;quot; section of [[FOSSology|Fossology]].&lt;br /&gt;
==== External references ====&lt;br /&gt;
Sometimes the file does not contain the name or text of a license but references an external resource such as a COPYRIGHT file in the root directory or a URL. In these cases, the external reference is checked and the detected license is concluded and the process is documented as a &#039;&#039;LicenseComment&#039;&#039; (in case of a URL, the date of access is noted).&lt;br /&gt;
==== (Partially) global license assignment ====&lt;br /&gt;
Sometimes there is a Readme file or similar that contains a statement assigning a license to several files within the source tree (e.g. all files in a specific directory). As such information is often outdated or does not account for individual licensing of files, it is not used to assign a license to a file here.&lt;br /&gt;
==== Acknowledgment ====&lt;br /&gt;
If a license has an acknowledgment requirement, the respective acknowledgment text is given. In particular for CC_BY licenses, the acknowledgment must contain the following information (if available): name of the creator, copyright notice, license notice, disclaimer, link to the material.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], the acknowledgment text is given in the &amp;quot;Acknowledgement&amp;quot; section.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;fossy:&#039;&#039;&#039; Bulk statements ===&lt;br /&gt;
In [[FOSSology|Fossology]], scanner findings can be confirmed, removed or corrected with bulk statements.&lt;br /&gt;
* When doing so, it is crucial to start with the shorter bulk statements as these can be part of a longer bulk statement which would then be modified by running the short bulk statement after the long one. For example (abbreviated):&amp;lt;blockquote&amp;gt;Short bulk statement: &amp;quot;This file is licensed under GPL version 2.0.&amp;quot;&amp;lt;br/&amp;gt;Long bulk statement: &amp;quot;This file is licensed under GPL version 2.0. As a special exception, you may...&amp;quot;&amp;lt;/blockquote&amp;gt; Here, the short bulk statement will modify the findings for the file with the long bulk statement. It should therefore be run first so that afterwards, the long bulk statement can correct the conclusion for the relevant files.&lt;br /&gt;
* Do not limit the scope of bulk statements, rather choose unique bulk statements. When reusing bulk statements for future uploads, the initial scope is not preserved, but they are applied to the entire upload, so it might yield false results.&lt;br /&gt;
&lt;br /&gt;
=== Curating copyright statements ===&lt;br /&gt;
* Remove findings that were incorrectly identified as a copyright statement (e.g. license texts, code, etc.).&lt;br /&gt;
* Remove content from copyright statements that is not part of the copyright notice (e.g. formatting signs, license notices, comments on content, code, etc.).&lt;br /&gt;
* If the source code tree contains an AUTHORS file, the content of this is given as value to the SPDX tag &#039;&#039;PackageCopyrightText&#039;&#039; in the post-processing stage (see section “Post-processing” below).&lt;br /&gt;
&lt;br /&gt;
=== Package license ===&lt;br /&gt;
Only If there is a LICENSE or COPYING or similar file in the root directory that states a main license for the package, we give this information as value to the SPDX tag &#039;&#039;PackageLicenseDeclared&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], this is marked as the &amp;quot;main license&amp;quot; by activating the star symbol. Caution: If the main license is a custom text, [[FOSSology|Fossology]] takes the standard template text anyway. This has to be corrected manually in the post-processing stage (see section “Post-processing” below).&lt;br /&gt;
&lt;br /&gt;
== Report export and post-processing ==&lt;br /&gt;
In the SPDX standard, licenses are denoted by a short identifier (e.g. GPL-2.0-only or LicenseRef-MIT-customized). Licenses that are not listed in the [https://spdx.org/licenses SPDX License List] are prefixed by &amp;quot;LicenseRef-&amp;quot;, and in the section &amp;quot;License information&amp;quot; of the SPDX tag:value file, the full license text is given. Licenses with standard texts according to the [https://spdx.org/licenses SPDX License List] do not carry the &amp;quot;LicenseRef-&amp;quot; prefix, and their license text is not given in the tag:value file. For the &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt; project however, the SPDX tag:value file is intended to be self-consistent, i.e. for every short license identifier the corresponding full license text must be given.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In order to achieve this while ensuring the SPDX file can be valid, we have patched our [[FOSSology|Fossology]] installation to add the &amp;quot;LicenseRef-&amp;quot; prefix to all license identifiers. For details, see the article on [[FOSSology|Fossology]].&lt;br /&gt;
&lt;br /&gt;
=== Export reports ===&lt;br /&gt;
When all license information and copyright statements of the entire package are curated, the result is exported as SPDX tag:value and OSS Disclosure files.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; The [[FOSSology|Fossology]] settings for report generation must be changed for every new package. Go to &#039;&#039;Conf → SPDX Report Settings&#039;&#039;, select &amp;quot;Show SPDX license comments&amp;quot; and submit the change.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; Export SPDX tag:value report.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; Export ReadMe_OSS (OSS disclosure report).&lt;br /&gt;
&lt;br /&gt;
=== Post-processing ===&lt;br /&gt;
Some post-processing operations on the SPDX tag:value and the OSS disclosure reports are required. At least some of these operations can be easily scripted.&lt;br /&gt;
* Rename files to fit naming convention&lt;br /&gt;
** SPDX tag:value report: [package name]-[version number]-SPDX2TV.spdx, e.g. angular-15.1.0-SPDX2TV.spdx.&lt;br /&gt;
** OSS disclosure file: [package name]-[version number]-OSS-disclosure.txt, e.g. angular-15.1.0-OSS-disclosure.txt.&lt;br /&gt;
&lt;br /&gt;
==== Both reports ====&lt;br /&gt;
* For &amp;quot;or later&amp;quot; license references, replace &amp;quot;+&amp;quot; with &amp;quot;-or-later&amp;quot;, e.g. GPL-2.0+ → GPL-2.0-or-later.&lt;br /&gt;
* For GNU licenses without &amp;quot;or later&amp;quot; extension, add &amp;quot;-only&amp;quot;, e.g. GPL-2.0 → GPL-2.0-only.&lt;br /&gt;
==== OSS disclosure report ====&lt;br /&gt;
* Remove headings &amp;quot;Main license&amp;quot; and &amp;quot;Other licenses&amp;quot;, and replace by heading &amp;quot;Licenses&amp;quot;.&lt;br /&gt;
==== SPDX tag:value report ====&lt;br /&gt;
To see how the SPDX tag:value file is generally used in &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt; have a look at the [[SPDX2TV template|SPDX2TV template]].&lt;br /&gt;
&lt;br /&gt;
The following tags must be edited:&lt;br /&gt;
* &#039;&#039;Creator: Person:&#039;&#039; [name of creator]&lt;br /&gt;
* &#039;&#039;CreatorComment:&#039;&#039; &amp;lt;text&amp;gt;This document was created using license information and a generator from Fossology. It contains the license and copyright analysis of [package]. Please check &amp;quot;LicenseComments&amp;quot; for explanations of concluded licenses.&amp;lt;/text&amp;gt;&lt;br /&gt;
* &#039;&#039;PackageLicenseConcluded:&#039;&#039; NOASSERTION&lt;br /&gt;
* If main license is not a template license text, add correct customized license reference to &#039;&#039;PackageLicenseDeclared&#039;&#039;.&lt;br /&gt;
* Dual licensing conclusions: Remove &amp;quot;LicenseRef-Dual-license&amp;quot; and correct AND operator to OR (e.g. LicenseA AND LicenseB AND LicenseRef-Dual-license → LicenseA OR LicenseB). If there is dual licensing and multiple licenses, be aware of the SPDX operator hierarchy (default order of precedence: WITH, AND, OR).&lt;br /&gt;
&lt;br /&gt;
The SPDX tag:value file must be validated either with the [https://tools.spdx.org/app/ SPDX online tools] or with the [https://github.com/spdx/tools-java CLI tools]. When the SPDX tag:value file is valid, convert to spdx.json, spdx.rdf.xml, spdx.yaml formats.&lt;br /&gt;
&lt;br /&gt;
== Contribution ==&lt;br /&gt;
The contribution of a newly curated package must contain the following artifacts:&lt;br /&gt;
* README with download URL, purl, creator name&lt;br /&gt;
* OSS disclosure file&lt;br /&gt;
* SPDX tag:value file&lt;br /&gt;
* SPDX json file&lt;br /&gt;
* SPDX rdf.xml file&lt;br /&gt;
* SPDX yaml file&lt;br /&gt;
&lt;br /&gt;
To contribute, the repository [https://github.com/Open-Source-Compliance/package-analysis https://github.com/Open-Source-Compliance/package-analysis] must be forked and a pull request must be created.&lt;br /&gt;
* The Contribution must be licensed under CC0-1.0.&lt;br /&gt;
* The pull request must contain a &amp;quot;Signed-off-by: [Name] &amp;lt;Email&amp;gt;&amp;quot; statement to indicate acceptance of the [https://github.com/Open-Source-Compliance/package-analysis/blob/main/CONTRIBUTING.md Certificate of Origin].&lt;br /&gt;
* The contribution will be reviewed. If changes are required, we kindly ask the contributor to be persistent and resubmit the reworked contribution. When it is accepted, the artifacts will be published.&lt;br /&gt;
&lt;br /&gt;
== Contact ==&lt;br /&gt;
Please direct any questions or remarks to [mailto:info@osselot.org info@osselot.org]. We will be happy to help.&lt;/div&gt;</summary>
		<author><name>Ckresse</name></author>
	</entry>
	<entry>
		<id>https://wiki.osselot.org/index.php?title=Main_Page&amp;diff=161</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.osselot.org/index.php?title=Main_Page&amp;diff=161"/>
		<updated>2023-08-03T08:57:17Z</updated>

		<summary type="html">&lt;p&gt;Ckresse: Add &amp;quot;SPDX2TV template&amp;quot; introduction&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
== Welcome to the &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt; Wiki! ==&lt;br /&gt;
&lt;br /&gt;
This Wiki was created to facilitate day-to-day work with the resources of the [https://www.osselot.org &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt; project], especially when accessing them in batch mode, e.g. as part of a software release build.&lt;br /&gt;
&lt;br /&gt;
==[[Search]] for a package==&lt;br /&gt;
[[Search|Find out]] whether a particular version of a software package is supported by &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt; and has already been curated. A particular Web script is provided for this purpose, and an interactive Web interface is available to test and use this feature.&lt;br /&gt;
&lt;br /&gt;
==Obtain [[Disclosure_files|disclosure files]]==&lt;br /&gt;
A shell script is provided to encapsulate the [[Search|Web search script]] and obtain the related disclosure files. Another interactive Web interface is available to test and use this feature.&lt;br /&gt;
&lt;br /&gt;
==Obtain [[Licenses|licensing information]]== &lt;br /&gt;
Another Web script is available that also encapsulates the internal algorithm of the [[Search|Web search script]], but then generates a list of licenses that are used in a given software package. The script accepts as argument either a package name or a package name along with a version. In the former case the licenses of all available versions are listed, whereas in the latter the output is restricted to the specified version.&lt;br /&gt;
&lt;br /&gt;
==Obtain curation data in various format using a [[REST]] interface== &lt;br /&gt;
The entire curation data of a software package can be retrieved in [[JSON]] format, curation data of a particular version can be retrieved in [[RDF-XML]], [[SPDX2TV]] or [[YAML]] format.&lt;br /&gt;
&lt;br /&gt;
==Reuse existing material in case of version mismatch==&lt;br /&gt;
If a particular version of a software package has not been curated before, but another one that may be close to it has, then FOSSology&#039;s reuse feature can be applied. Details are given in the presentation and video material on the &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt; home page: Please check out [https://www.osselot.org/index.php?s=presentations &amp;quot;Use case 2&amp;quot; at the &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt; presentations].&lt;br /&gt;
&lt;br /&gt;
==Contributing to the &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt; project==&lt;br /&gt;
How to contribute to the project if a package that is not yet included with &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt; has been externally curated? Contributions are greatly appreciated, and therefore we would like to encourage as many users as possible to contribute. The more versions of more packages that are curated, the more beneficial the &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt; project will be. However, to maintain confidence in the material, a rigorous vetting process was instituted. Volunteers are asked to first contact the &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt; Officer via [mailto:office@osadl.org?subject=OSSelot-volunteer email]. The easiest next step is then probably to arrange a video conference, get to know each other, and understand the basic principles of the &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt; curation process. From that moment, new software packages can be curated and provided in the fork tree. The maintainer will then review the newly provided curation data in close collaboration with the contributor, and once the review is successful, the new curation data will be included and made publicly available through the repository. The contributor&#039;s and reviewer&#039;s names will be indicated in the README file of the package.&lt;br /&gt;
&lt;br /&gt;
==Best practices==&lt;br /&gt;
====[[Curation guideline|How to curate data]]====&lt;br /&gt;
High-quality curation data are the cornerstone of the &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt; project. To ensure that this quality is maintained, every contribution is thoroughly reviewed and only curators with sufficient expertise in FOSS licensing contribute to the database. A [[curation guideline]] on how data are curated for the &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt; project is given here to ensure consistency.&lt;br /&gt;
&lt;br /&gt;
==== [[SPDX2TV template]] ====&lt;br /&gt;
To avoid misunderstandings when exchanging SPDX files, an SPDX tag:value template is given [[SPDX2TV template|here]]. This shows which tags are used in the &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt; project and how they are interpreted.&lt;br /&gt;
&lt;br /&gt;
====[[FOSSology]]====&lt;br /&gt;
In order to use the [[FOSSology]] Open Source curation administration tool in connection with the &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt; project (when re-using the data and also when contributing to the project), a number of conventions should be observed.&lt;br /&gt;
====[[Scancode]]====&lt;br /&gt;
Normally, the [[Scancode]] Open Source scanning tool is used under the control of [[FOSSology]] in this project; however, to fine-tune or confirm the results it may be necessary to run the tool separately from command line. If this is done, the command line options should match the conventions of the &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt; project.&lt;/div&gt;</summary>
		<author><name>Ckresse</name></author>
	</entry>
	<entry>
		<id>https://wiki.osselot.org/index.php?title=SPDX2TV_template&amp;diff=160</id>
		<title>SPDX2TV template</title>
		<link rel="alternate" type="text/html" href="https://wiki.osselot.org/index.php?title=SPDX2TV_template&amp;diff=160"/>
		<updated>2023-08-03T08:52:21Z</updated>

		<summary type="html">&lt;p&gt;Ckresse: Add SPDX2TV template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
SPDXVersion: SPDX-2.2&lt;br /&gt;
DataLicense: CC0-1.0&lt;br /&gt;
&lt;br /&gt;
##-------------------------&lt;br /&gt;
## Document Information&lt;br /&gt;
##-------------------------&lt;br /&gt;
&lt;br /&gt;
DocumentNamespace: URL (NOT USED)&lt;br /&gt;
DocumentName: /srv/fossology/repository/report (NOT USED)&lt;br /&gt;
SPDXID: SPDXRef-DOCUMENT (NOT USED)&lt;br /&gt;
&lt;br /&gt;
##-------------------------&lt;br /&gt;
## Creation Information&lt;br /&gt;
##-------------------------&lt;br /&gt;
&lt;br /&gt;
Creator: Tool: spdx2&lt;br /&gt;
Creator: Person: NAME OF CREATOR&lt;br /&gt;
CreatorComment: &amp;lt;text&amp;gt;&lt;br /&gt;
This document was created using license information and a generator from Fossology.&lt;br /&gt;
It contains the license and copyright analysis of PACKAGE&lt;br /&gt;
Please check &amp;quot;LicenseComments&amp;quot; for explanations of concluded licenses.&lt;br /&gt;
&amp;lt;/text&amp;gt;&lt;br /&gt;
Created: DATE&lt;br /&gt;
LicenseListVersion: 2.6&lt;br /&gt;
&lt;br /&gt;
##-------------------------&lt;br /&gt;
## Package Information&lt;br /&gt;
##-------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PackageName: PACKAGE NAME&lt;br /&gt;
PackageFileName: PACKAGE FILE NAME&lt;br /&gt;
SPDXID: SPDXRef-upload[NUMBER] (NOT USED)&lt;br /&gt;
PackageDownloadLocation: NOASSERTION (NOT USED)&lt;br /&gt;
PackageVerificationCode: VERIFICATION CODE (NOT USED)&lt;br /&gt;
PackageChecksum: SHA1: CHECKSUM&lt;br /&gt;
PackageChecksum: SHA256: CHECKSUM&lt;br /&gt;
PackageChecksum: MD5: CHECKSUM&lt;br /&gt;
PackageLicenseConcluded: NOASSERTION (NOT USED)&lt;br /&gt;
PackageLicenseDeclared: MAIN LICENSE AS GIVEN IN LICENSE / COPYING FILE IN ROOT DIRECTORY IF APPLICABLE&lt;br /&gt;
PackageLicenseComments: &amp;lt;text&amp;gt; licenseInfoInFile determined by Scanners:&lt;br /&gt;
 - nomos (&amp;quot;4.1.0.95&amp;quot;.82b3b2)&lt;br /&gt;
 - monk (&amp;quot;4.1.0.95&amp;quot;.82b3b2)&lt;br /&gt;
 - ojo (&amp;quot;4.1.0.95&amp;quot;.82b3b2) &amp;lt;/text&amp;gt;&lt;br /&gt;
PackageLicenseInfoFromFiles: NOASSERTION (NOT USED)&lt;br /&gt;
PackageCopyrightText: AUTHORS OF THANKS OR AUTHORS FILE IF APPLICABLE&lt;br /&gt;
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-upload[NUMBER]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
##--------------------------&lt;br /&gt;
## File Information&lt;br /&gt;
##--------------------------&lt;br /&gt;
&lt;br /&gt;
##File&lt;br /&gt;
&lt;br /&gt;
FileName: FULL PATH OF FILE&lt;br /&gt;
SPDXID: SPDXRef-item[NUMBER]&lt;br /&gt;
FileChecksum: SHA1: CHECKSUM&lt;br /&gt;
FileChecksum: SHA256: CHECKSUM&lt;br /&gt;
FileChecksum: MD5: CHECKSUM&lt;br /&gt;
LicenseConcluded: CURATED LICENSE ID&lt;br /&gt;
LicenseComments: &amp;lt;text&amp;gt;EXPLANATION OF DECISION IF APPLICABLE&amp;lt;/text&amp;gt;&lt;br /&gt;
LicenseInfoInFile: SCANNER RESULT&lt;br /&gt;
FileCopyrightText: &amp;lt;text&amp;gt; COPYRIGHT NOTICE &amp;lt;/text&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
##-------------------------&lt;br /&gt;
## License Information&lt;br /&gt;
##-------------------------&lt;br /&gt;
&lt;br /&gt;
LicenseID: LICENSE ID&lt;br /&gt;
LicenseName: LICENSE NAME&lt;br /&gt;
ExtractedText: &amp;lt;text&amp;gt; LICENSE TEXT &amp;lt;/text&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ckresse</name></author>
	</entry>
	<entry>
		<id>https://wiki.osselot.org/index.php?title=Curation_guideline&amp;diff=159</id>
		<title>Curation guideline</title>
		<link rel="alternate" type="text/html" href="https://wiki.osselot.org/index.php?title=Curation_guideline&amp;diff=159"/>
		<updated>2023-08-03T08:50:11Z</updated>

		<summary type="html">&lt;p&gt;Ckresse: Add &amp;quot;Contribution&amp;quot; and &amp;quot;Contact&amp;quot; sections.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This information is intended to provide guidelines on how data are curated for the &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt; project and how contributing works. The curator should be familiar with their preferred scanning tool (ours is [[FOSSology|Fossology]]) and have a general understanding of copyright law and in particular knowledge of FOSS licensing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note:&#039;&#039; Whenever information is given that is specific to [[FOSSology|Fossology]], it is prepended with the keyword &#039;&#039;&#039;fossy&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Preparation ==&lt;br /&gt;
* Obtain the component in source code form.&lt;br /&gt;
** Note the download URL.&lt;br /&gt;
* Naming convention:&lt;br /&gt;
** Try to follow the project’s naming and version convention, e.g. as given by the release’s git tag.&lt;br /&gt;
** If this is not consistent, use only lowercase letters.&lt;br /&gt;
** [package name]-[version number], e.g. angular-15.1.0.&lt;br /&gt;
* Analyze the component with a license scan tool (e.g. [[FOSSology|Fossology]], [[Scancode|Scancode]]).&lt;br /&gt;
** &#039;&#039;&#039;fossy:&#039;&#039;&#039; [[FOSSology|Fossology]] default settings for analysis:&lt;br /&gt;
*** 7. Select optional analysis:&lt;br /&gt;
**** Upload from file&lt;br /&gt;
**** Copyright/Email/URL/Author Analysis&lt;br /&gt;
**** Monk License Analysis, scanning for licenses performing a text comparison&lt;br /&gt;
**** Nomos License Analysis, scanning for licenses using regular expressions&lt;br /&gt;
**** Ojo License Analysis, scanning for licenses using SPDX-License-Identifier&lt;br /&gt;
*** 10. ScanCode Toolkit, scan for&lt;br /&gt;
**** License&lt;br /&gt;
**** Copyright&lt;br /&gt;
** [[Scancode|Scancode]] default options for analysis:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
scancode -cli --license-text –json [package name-version].json [package]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;c: copyrights; l: licenses; i: file information; --license-text: include full license text&lt;br /&gt;
&lt;br /&gt;
== Data curation ==&lt;br /&gt;
* A licensing expert reviews and analyzes the scanning results.&lt;br /&gt;
* [[FOSSology|Fossology]] can directly be used to review the results. The [[Scancode]] results must be reviewed with an external tool, e.g. [https://github.com/opossum-tool/opossumUI Opossum].&lt;br /&gt;
* Review is done on file level, i.e. every file in the source code tree for which at least one scanner found a result is analyzed.&lt;br /&gt;
** &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], you can browse through the relevant files by selecting &amp;quot;Go through all files with licenses and no clearing result&amp;quot;.&lt;br /&gt;
* That means:&lt;br /&gt;
** scanner findings are confirmed, or&lt;br /&gt;
** scanner findings are corrected.&lt;br /&gt;
* If there are no findings for a file, the conclusion is NO ASSERTION (for SPDX tag &#039;&#039;LicenseConcluded&#039;&#039;).&lt;br /&gt;
** &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], this is given by the clearing decision types &amp;quot;No license known&amp;quot; or &amp;quot;Irrelevant&amp;quot; or &amp;quot;Non-functional&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;LicenseComments&#039;&#039; ===&lt;br /&gt;
In case a license conclusion is not obvious, the decision is explained.&lt;br /&gt;
* This is done with the following heuristic:&amp;lt;blockquote&amp;gt;The information in the file is:&amp;lt;br/&amp;gt;&amp;quot;[Quote licensing information in the source code file]&amp;quot;&amp;lt;br/&amp;gt;[Give reason for conclusion] Therefore, [license] is concluded.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* Example 1: No version&amp;lt;blockquote&amp;gt;The information in the file is:&amp;lt;br/&amp;gt;&amp;quot;This file is GPL&#039;d.&amp;quot;&amp;lt;br/&amp;gt;As no version of the GPL is given, GPL-1.0-or-later is concluded.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* Example 2: URL for license text&amp;lt;blockquote&amp;gt;The information in the file is:&amp;lt;br/&amp;gt;&amp;quot;This file is licensed under License A. You can find the license text at &amp;lt;nowiki&amp;gt;https://www.LicenseTextOfLicenseA.com&amp;lt;/nowiki&amp;gt;.&amp;quot;&amp;lt;br/&amp;gt;The URL contains the license text of License A, therefore License A is concluded. The information was retrieved on [date].&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In Fossology, the explanations are given in the &amp;quot;Comment&amp;quot; section which maps to the SPDX tag &#039;&#039;LicenseComments&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Correcting scanner findings ===&lt;br /&gt;
The following list includes typical cases where scanner findings have to be corrected and how to do so.&lt;br /&gt;
&lt;br /&gt;
==== Not a license ====&lt;br /&gt;
The scanner concludes a license from an expression in a file that is not actually a license expression at all. In this case, the incorrect license finding is removed.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], the source of the scanner finding is highlighted when clicking on the number (#1) behind the scanner.&lt;br /&gt;
==== Not the file&#039;s license ====&lt;br /&gt;
The scanner concludes a license from a license expression that is part of the file’s content but not the license of the file itself. In this case, the incorrect license finding is removed.&lt;br /&gt;
==== License text ====&lt;br /&gt;
Files that contain only a license text (e.g. COPYING) are concluded by the scanners to be licensed under the respective license. This is usually not correct. Most license texts are not explicitly licensed, so the finding is removed. The GNU licenses contain a license statement for the license text itself which is concluded for these cases (&#039;&#039;License-of-GNU-licenses&#039;&#039;).&lt;br /&gt;
==== Imprecise finding ====&lt;br /&gt;
The scanner finding might be imprecise, e.g. w.r.t. to the version of a license, e.g. no version number is given. If this is the case, the imprecise finding is removed and the specified license and version is concluded. If no version is given, the lowest existing version with the -or-later extension is concluded.&lt;br /&gt;
==== Dual licensing ====&lt;br /&gt;
A file might offer a choice of two or more licenses under which it can be used. If the context requires to chose one specific license, this choice must be noted. However, all applicable licenses must be concluded. Also, dual license cases require additional post-processing, see section &amp;quot;Post-processing&amp;quot; below.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], add the following text to the &amp;quot;Acknowledgement&amp;quot; section of the &amp;quot;Dual-license&amp;quot; finding to note the license choice, if applicable:&amp;lt;blockquote&amp;gt;To the extend files may be licensed under License A or License B, in this context License B has been chosen. This shall not restrict the freedom of other users to choose either License A or License B. For convenience, all license texts are provided.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
==== License exceptions ====&lt;br /&gt;
In particular for the GNU licenses, there are a number of license exceptions.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; [[FOSSology|Fossology]] notes the license and the exception as separate findings. This is corrected to one finding using the SPDX license expression [License] WITH [exception], e.g. GPL-2.0-or-later WITH GCC-exception-2.0.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; If the [[FOSSology|Fossology]] license database does not yet contain these licenses, they have to be added. &lt;br /&gt;
==== Generic license texts ====&lt;br /&gt;
For some licenses, especially the BSD-type licenses, many variants of the license texts exist. The scanners often provide only the generic license texts. If an individual text differs from the generic text, the individual license text is provided.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], click percentage of match to see differences.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; The individual text is copied from the file into the &amp;quot;License&amp;quot; section of [[FOSSology|Fossology]].&lt;br /&gt;
==== External references ====&lt;br /&gt;
Sometimes the file does not contain the name or text of a license but references an external resource such as a COPYRIGHT file in the root directory or a URL. In these cases, the external reference is checked and the detected license is concluded and the process is documented as a &#039;&#039;LicenseComment&#039;&#039; (in case of a URL, the date of access is noted).&lt;br /&gt;
==== (Partially) global license assignment ====&lt;br /&gt;
Sometimes there is a Readme file or similar that contains a statement assigning a license to several files within the source tree (e.g. all files in a specific directory). As such information is often outdated or does not account for individual licensing of files, it is not used to assign a license to a file here.&lt;br /&gt;
==== Acknowledgment ====&lt;br /&gt;
If a license has an acknowledgment requirement, the respective acknowledgment text is given. In particular for CC_BY licenses, the acknowledgment must contain the following information (if available): name of the creator, copyright notice, license notice, disclaimer, link to the material.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], the acknowledgment text is given in the &amp;quot;Acknowledgement&amp;quot; section.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;fossy:&#039;&#039;&#039; Bulk statements ===&lt;br /&gt;
In [[FOSSology|Fossology]], scanner findings can be confirmed, removed or corrected with bulk statements.&lt;br /&gt;
* When doing so, it is crucial to start with the shorter bulk statements as these can be part of a longer bulk statement which would then be modified by running the short bulk statement after the long one. For example (abbreviated):&amp;lt;blockquote&amp;gt;Short bulk statement: &amp;quot;This file is licensed under GPL version 2.0.&amp;quot;&amp;lt;br/&amp;gt;Long bulk statement: &amp;quot;This file is licensed under GPL version 2.0. As a special exception, you may...&amp;quot;&amp;lt;/blockquote&amp;gt; Here, the short bulk statement will modify the findings for the file with the long bulk statement. It should therefore be run first so that afterwards, the long bulk statement can correct the conclusion for the relevant files.&lt;br /&gt;
* Do not limit the scope of bulk statements, rather choose unique bulk statements. When reusing bulk statements for future uploads, the initial scope is not preserved, but they are applied to the entire upload, so it might yield false results.&lt;br /&gt;
&lt;br /&gt;
=== Curating copyright statements ===&lt;br /&gt;
* Remove findings that were incorrectly identified as a copyright statement (e.g. license texts, code, etc.).&lt;br /&gt;
* Remove content from copyright statements that is not part of the copyright notice (e.g. formatting signs, license notices, comments on content, code, etc.).&lt;br /&gt;
* If the source code tree contains an AUTHORS file, the content of this is given as value to the SPDX tag &#039;&#039;PackageCopyrightText&#039;&#039; in the post-processing stage (see section “Post-processing” below).&lt;br /&gt;
&lt;br /&gt;
=== Package license ===&lt;br /&gt;
Only If there is a LICENSE or COPYING or similar file in the root directory that states a main license for the package, we give this information as value to the SPDX tag &#039;&#039;PackageLicenseDeclared&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], this is marked as the &amp;quot;main license&amp;quot; by activating the star symbol. Caution: If the main license is a custom text, [[FOSSology|Fossology]] takes the standard template text anyway. This has to be corrected manually in the post-processing stage (see section “Post-processing” below).&lt;br /&gt;
&lt;br /&gt;
== Report export and post-processing ==&lt;br /&gt;
In the SPDX standard, licenses are denoted by a short identifier (e.g. GPL-2.0-only or LicenseRef-MIT-customized). Licenses that are not listed in the [https://spdx.org/licenses SPDX License List] are prefixed by &amp;quot;LicenseRef-&amp;quot;, and in the section &amp;quot;License information&amp;quot; of the SPDX tag:value file, the full license text is given. Licenses with standard texts according to the [https://spdx.org/licenses SPDX License List] do not carry the &amp;quot;LicenseRef-&amp;quot; prefix, and their license text is not given in the tag:value file. For the &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt; project however, the SPDX tag:value file is intended to be self-consistent, i.e. for every short license identifier the corresponding full license text must be given.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In order to achieve this while ensuring the SPDX file can be valid, we have patched our [[FOSSology|Fossology]] installation to add the &amp;quot;LicenseRef-&amp;quot; prefix to all license identifiers. For details, see the article on [[FOSSology|Fossology]].&lt;br /&gt;
&lt;br /&gt;
=== Export reports ===&lt;br /&gt;
When all license information and copyright statements of the entire package are curated, the result is exported as SPDX tag:value and OSS Disclosure files.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; The [[FOSSology|Fossology]] settings for report generation must be changed for every new package. Go to &#039;&#039;Conf → SPDX Report Settings&#039;&#039;, select &amp;quot;Show SPDX license comments&amp;quot; and submit the change.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; Export SPDX tag:value report.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; Export ReadMe_OSS (OSS disclosure report).&lt;br /&gt;
&lt;br /&gt;
=== Post-processing ===&lt;br /&gt;
Some post-processing operations on the SPDX tag:value and the OSS disclosure reports are required. At least some of these operations can be easily scripted.&lt;br /&gt;
* Rename files to fit naming convention&lt;br /&gt;
** SPDX tag:value report: [package name]-[version number]-SPDX2TV.spdx, e.g. angular-15.1.0-SPDX2TV.spdx.&lt;br /&gt;
** OSS disclosure file: [package name]-[version number]-OSS-disclosure.txt, e.g. angular-15.1.0-OSS-disclosure.txt.&lt;br /&gt;
&lt;br /&gt;
==== Both reports ====&lt;br /&gt;
* For &amp;quot;or later&amp;quot; license references, replace &amp;quot;+&amp;quot; with &amp;quot;-or-later&amp;quot;, e.g. GPL-2.0+ → GPL-2.0-or-later.&lt;br /&gt;
* For GNU licenses without &amp;quot;or later&amp;quot; extension, add &amp;quot;-only&amp;quot;, e.g. GPL-2.0 → GPL-2.0-only.&lt;br /&gt;
==== OSS disclosure report ====&lt;br /&gt;
* Remove headings &amp;quot;Main license&amp;quot; and &amp;quot;Other licenses&amp;quot;, and replace by heading &amp;quot;Licenses&amp;quot;.&lt;br /&gt;
==== SPDX tag:value report ====&lt;br /&gt;
To see how the SPDX tag:value file is generally used in &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt; have a look at the [[SPDX2TV template|SPDX2TV template]].&lt;br /&gt;
&lt;br /&gt;
The following tags must be edited:&lt;br /&gt;
* &#039;&#039;Creator: Person:&#039;&#039; [name of creator]&lt;br /&gt;
* &#039;&#039;CreatorComment:&#039;&#039; &amp;lt;text&amp;gt;This document was created using license information and a generator from Fossology. It contains the license and copyright analysis of [package]. Please check &amp;quot;LicenseComments&amp;quot; for explanations of concluded licenses.&amp;lt;/text&amp;gt;&lt;br /&gt;
* &#039;&#039;PackageLicenseConcluded:&#039;&#039; NOASSERTION&lt;br /&gt;
* If main license is not a template license text, add correct customized license reference to &#039;&#039;PackageLicenseDeclared&#039;&#039;.&lt;br /&gt;
* Dual licensing conclusions: Remove &amp;quot;LicenseRef-Dual-license&amp;quot; and correct AND operator to OR (e.g. LicenseA AND LicenseB AND LicenseRef-Dual-license → LicenseA OR LicenseB). If there is dual licensing and multiple licenses, be aware of the SPDX operator hierarchy (default order of precedence: WITH, AND, OR).&lt;br /&gt;
&lt;br /&gt;
The SPDX tag:value file must be validated either with the [https://tools.spdx.org/app/ SPDX online tools] or with the [https://github.com/spdx/tools-java CLI tools]. When the SPDX tag:value file is valid, convert to spdx.json, spdx.rdf.xml, spdx.yaml formats.&lt;br /&gt;
&lt;br /&gt;
== Contribution ==&lt;br /&gt;
The contribution of a newly curated package must contain the following artifacts:&lt;br /&gt;
* README with download URL, purl, creator name&lt;br /&gt;
* OSS disclosure file&lt;br /&gt;
* SPDX tag:value file&lt;br /&gt;
* SPDX json file&lt;br /&gt;
* SPDX rdf.xml file&lt;br /&gt;
* SPDX yaml file&lt;br /&gt;
&lt;br /&gt;
To contribute, the repository [https://github.com/Open-Source-Compliance/package-analysis https://github.com/Open-Source-Compliance/package-analysis] must be forked and a pull request must be created.&lt;br /&gt;
* The Contribution must be licensed under CC0-1.0.&lt;br /&gt;
* The pull request must contain a &amp;quot;Signed-off-by: [Name] &amp;lt;Email&amp;gt;&amp;quot; statement to indicate acceptance of the [https://github.com/Open-Source-Compliance/package-analysis/blob/main/CONTRIBUTING.md Certificate of Origin].&lt;br /&gt;
* The contribution will be reviewed. If changes are required, we kindly ask the contributor to be persistent and resubmit the reworked contribution. When it is accepted, the artifacts will be published.&lt;br /&gt;
&lt;br /&gt;
== Contact ==&lt;br /&gt;
Please direct any questions or remarks to [mailto:info@osselot.org info@osselot.org]. We will be happy to help.&lt;/div&gt;</summary>
		<author><name>Ckresse</name></author>
	</entry>
	<entry>
		<id>https://wiki.osselot.org/index.php?title=Curation_guideline&amp;diff=158</id>
		<title>Curation guideline</title>
		<link rel="alternate" type="text/html" href="https://wiki.osselot.org/index.php?title=Curation_guideline&amp;diff=158"/>
		<updated>2023-08-03T08:40:50Z</updated>

		<summary type="html">&lt;p&gt;Ckresse: Add &amp;quot;Report export and post-processing&amp;quot; section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This information is intended to provide guidelines on how data are curated for the &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt; project and how contributing works. The curator should be familiar with their preferred scanning tool (ours is [[FOSSology|Fossology]]) and have a general understanding of copyright law and in particular knowledge of FOSS licensing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note:&#039;&#039; Whenever information is given that is specific to [[FOSSology|Fossology]], it is prepended with the keyword &#039;&#039;&#039;fossy&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Preparation ==&lt;br /&gt;
* Obtain the component in source code form.&lt;br /&gt;
** Note the download URL.&lt;br /&gt;
* Naming convention:&lt;br /&gt;
** Try to follow the project’s naming and version convention, e.g. as given by the release’s git tag.&lt;br /&gt;
** If this is not consistent, use only lowercase letters.&lt;br /&gt;
** [package name]-[version number], e.g. angular-15.1.0.&lt;br /&gt;
* Analyze the component with a license scan tool (e.g. [[FOSSology|Fossology]], [[Scancode|Scancode]]).&lt;br /&gt;
** &#039;&#039;&#039;fossy:&#039;&#039;&#039; [[FOSSology|Fossology]] default settings for analysis:&lt;br /&gt;
*** 7. Select optional analysis:&lt;br /&gt;
**** Upload from file&lt;br /&gt;
**** Copyright/Email/URL/Author Analysis&lt;br /&gt;
**** Monk License Analysis, scanning for licenses performing a text comparison&lt;br /&gt;
**** Nomos License Analysis, scanning for licenses using regular expressions&lt;br /&gt;
**** Ojo License Analysis, scanning for licenses using SPDX-License-Identifier&lt;br /&gt;
*** 10. ScanCode Toolkit, scan for&lt;br /&gt;
**** License&lt;br /&gt;
**** Copyright&lt;br /&gt;
** [[Scancode|Scancode]] default options for analysis:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
scancode -cli --license-text –json [package name-version].json [package]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;c: copyrights; l: licenses; i: file information; --license-text: include full license text&lt;br /&gt;
&lt;br /&gt;
== Data curation ==&lt;br /&gt;
* A licensing expert reviews and analyzes the scanning results.&lt;br /&gt;
* [[FOSSology|Fossology]] can directly be used to review the results. The [[Scancode]] results must be reviewed with an external tool, e.g. [https://github.com/opossum-tool/opossumUI Opossum].&lt;br /&gt;
* Review is done on file level, i.e. every file in the source code tree for which at least one scanner found a result is analyzed.&lt;br /&gt;
** &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], you can browse through the relevant files by selecting &amp;quot;Go through all files with licenses and no clearing result&amp;quot;.&lt;br /&gt;
* That means:&lt;br /&gt;
** scanner findings are confirmed, or&lt;br /&gt;
** scanner findings are corrected.&lt;br /&gt;
* If there are no findings for a file, the conclusion is NO ASSERTION (for SPDX tag &#039;&#039;LicenseConcluded&#039;&#039;).&lt;br /&gt;
** &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], this is given by the clearing decision types &amp;quot;No license known&amp;quot; or &amp;quot;Irrelevant&amp;quot; or &amp;quot;Non-functional&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;LicenseComments&#039;&#039; ===&lt;br /&gt;
In case a license conclusion is not obvious, the decision is explained.&lt;br /&gt;
* This is done with the following heuristic:&amp;lt;blockquote&amp;gt;The information in the file is:&amp;lt;br/&amp;gt;&amp;quot;[Quote licensing information in the source code file]&amp;quot;&amp;lt;br/&amp;gt;[Give reason for conclusion] Therefore, [license] is concluded.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* Example 1: No version&amp;lt;blockquote&amp;gt;The information in the file is:&amp;lt;br/&amp;gt;&amp;quot;This file is GPL&#039;d.&amp;quot;&amp;lt;br/&amp;gt;As no version of the GPL is given, GPL-1.0-or-later is concluded.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* Example 2: URL for license text&amp;lt;blockquote&amp;gt;The information in the file is:&amp;lt;br/&amp;gt;&amp;quot;This file is licensed under License A. You can find the license text at &amp;lt;nowiki&amp;gt;https://www.LicenseTextOfLicenseA.com&amp;lt;/nowiki&amp;gt;.&amp;quot;&amp;lt;br/&amp;gt;The URL contains the license text of License A, therefore License A is concluded. The information was retrieved on [date].&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In Fossology, the explanations are given in the &amp;quot;Comment&amp;quot; section which maps to the SPDX tag &#039;&#039;LicenseComments&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Correcting scanner findings ===&lt;br /&gt;
The following list includes typical cases where scanner findings have to be corrected and how to do so.&lt;br /&gt;
&lt;br /&gt;
==== Not a license ====&lt;br /&gt;
The scanner concludes a license from an expression in a file that is not actually a license expression at all. In this case, the incorrect license finding is removed.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], the source of the scanner finding is highlighted when clicking on the number (#1) behind the scanner.&lt;br /&gt;
==== Not the file&#039;s license ====&lt;br /&gt;
The scanner concludes a license from a license expression that is part of the file’s content but not the license of the file itself. In this case, the incorrect license finding is removed.&lt;br /&gt;
==== License text ====&lt;br /&gt;
Files that contain only a license text (e.g. COPYING) are concluded by the scanners to be licensed under the respective license. This is usually not correct. Most license texts are not explicitly licensed, so the finding is removed. The GNU licenses contain a license statement for the license text itself which is concluded for these cases (&#039;&#039;License-of-GNU-licenses&#039;&#039;).&lt;br /&gt;
==== Imprecise finding ====&lt;br /&gt;
The scanner finding might be imprecise, e.g. w.r.t. to the version of a license, e.g. no version number is given. If this is the case, the imprecise finding is removed and the specified license and version is concluded. If no version is given, the lowest existing version with the -or-later extension is concluded.&lt;br /&gt;
==== Dual licensing ====&lt;br /&gt;
A file might offer a choice of two or more licenses under which it can be used. If the context requires to chose one specific license, this choice must be noted. However, all applicable licenses must be concluded. Also, dual license cases require additional post-processing, see section &amp;quot;Post-processing&amp;quot; below.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], add the following text to the &amp;quot;Acknowledgement&amp;quot; section of the &amp;quot;Dual-license&amp;quot; finding to note the license choice, if applicable:&amp;lt;blockquote&amp;gt;To the extend files may be licensed under License A or License B, in this context License B has been chosen. This shall not restrict the freedom of other users to choose either License A or License B. For convenience, all license texts are provided.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
==== License exceptions ====&lt;br /&gt;
In particular for the GNU licenses, there are a number of license exceptions.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; [[FOSSology|Fossology]] notes the license and the exception as separate findings. This is corrected to one finding using the SPDX license expression [License] WITH [exception], e.g. GPL-2.0-or-later WITH GCC-exception-2.0.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; If the [[FOSSology|Fossology]] license database does not yet contain these licenses, they have to be added. &lt;br /&gt;
==== Generic license texts ====&lt;br /&gt;
For some licenses, especially the BSD-type licenses, many variants of the license texts exist. The scanners often provide only the generic license texts. If an individual text differs from the generic text, the individual license text is provided.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], click percentage of match to see differences.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; The individual text is copied from the file into the &amp;quot;License&amp;quot; section of [[FOSSology|Fossology]].&lt;br /&gt;
==== External references ====&lt;br /&gt;
Sometimes the file does not contain the name or text of a license but references an external resource such as a COPYRIGHT file in the root directory or a URL. In these cases, the external reference is checked and the detected license is concluded and the process is documented as a &#039;&#039;LicenseComment&#039;&#039; (in case of a URL, the date of access is noted).&lt;br /&gt;
==== (Partially) global license assignment ====&lt;br /&gt;
Sometimes there is a Readme file or similar that contains a statement assigning a license to several files within the source tree (e.g. all files in a specific directory). As such information is often outdated or does not account for individual licensing of files, it is not used to assign a license to a file here.&lt;br /&gt;
==== Acknowledgment ====&lt;br /&gt;
If a license has an acknowledgment requirement, the respective acknowledgment text is given. In particular for CC_BY licenses, the acknowledgment must contain the following information (if available): name of the creator, copyright notice, license notice, disclaimer, link to the material.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], the acknowledgment text is given in the &amp;quot;Acknowledgement&amp;quot; section.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;fossy:&#039;&#039;&#039; Bulk statements ===&lt;br /&gt;
In [[FOSSology|Fossology]], scanner findings can be confirmed, removed or corrected with bulk statements.&lt;br /&gt;
* When doing so, it is crucial to start with the shorter bulk statements as these can be part of a longer bulk statement which would then be modified by running the short bulk statement after the long one. For example (abbreviated):&amp;lt;blockquote&amp;gt;Short bulk statement: &amp;quot;This file is licensed under GPL version 2.0.&amp;quot;&amp;lt;br/&amp;gt;Long bulk statement: &amp;quot;This file is licensed under GPL version 2.0. As a special exception, you may...&amp;quot;&amp;lt;/blockquote&amp;gt; Here, the short bulk statement will modify the findings for the file with the long bulk statement. It should therefore be run first so that afterwards, the long bulk statement can correct the conclusion for the relevant files.&lt;br /&gt;
* Do not limit the scope of bulk statements, rather choose unique bulk statements. When reusing bulk statements for future uploads, the initial scope is not preserved, but they are applied to the entire upload, so it might yield false results.&lt;br /&gt;
&lt;br /&gt;
=== Curating copyright statements ===&lt;br /&gt;
* Remove findings that were incorrectly identified as a copyright statement (e.g. license texts, code, etc.).&lt;br /&gt;
* Remove content from copyright statements that is not part of the copyright notice (e.g. formatting signs, license notices, comments on content, code, etc.).&lt;br /&gt;
* If the source code tree contains an AUTHORS file, the content of this is given as value to the SPDX tag &#039;&#039;PackageCopyrightText&#039;&#039; in the post-processing stage (see section “Post-processing” below).&lt;br /&gt;
&lt;br /&gt;
=== Package license ===&lt;br /&gt;
Only If there is a LICENSE or COPYING or similar file in the root directory that states a main license for the package, we give this information as value to the SPDX tag &#039;&#039;PackageLicenseDeclared&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], this is marked as the &amp;quot;main license&amp;quot; by activating the star symbol. Caution: If the main license is a custom text, [[FOSSology|Fossology]] takes the standard template text anyway. This has to be corrected manually in the post-processing stage (see section “Post-processing” below).&lt;br /&gt;
&lt;br /&gt;
== Report export and post-processing ==&lt;br /&gt;
In the SPDX standard, licenses are denoted by a short identifier (e.g. GPL-2.0-only or LicenseRef-MIT-customized). Licenses that are not listed in the [https://spdx.org/licenses SPDX License List] are prefixed by &amp;quot;LicenseRef-&amp;quot;, and in the section &amp;quot;License information&amp;quot; of the SPDX tag:value file, the full license text is given. Licenses with standard texts according to the [https://spdx.org/licenses SPDX License List] do not carry the &amp;quot;LicenseRef-&amp;quot; prefix, and their license text is not given in the tag:value file. For the &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt; project however, the SPDX tag:value file is intended to be self-consistent, i.e. for every short license identifier the corresponding full license text must be given.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In order to achieve this while ensuring the SPDX file can be valid, we have patched our [[FOSSology|Fossology]] installation to add the &amp;quot;LicenseRef-&amp;quot; prefix to all license identifiers. For details, see the article on [[FOSSology|Fossology]].&lt;br /&gt;
&lt;br /&gt;
=== Export reports ===&lt;br /&gt;
When all license information and copyright statements of the entire package are curated, the result is exported as SPDX tag:value and OSS Disclosure files.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; The [[FOSSology|Fossology]] settings for report generation must be changed for every new package. Go to &#039;&#039;Conf → SPDX Report Settings&#039;&#039;, select &amp;quot;Show SPDX license comments&amp;quot; and submit the change.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; Export SPDX tag:value report.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; Export ReadMe_OSS (OSS disclosure report).&lt;br /&gt;
&lt;br /&gt;
=== Post-processing ===&lt;br /&gt;
Some post-processing operations on the SPDX tag:value and the OSS disclosure reports are required. At least some of these operations can be easily scripted.&lt;br /&gt;
* Rename files to fit naming convention&lt;br /&gt;
** SPDX tag:value report: [package name]-[version number]-SPDX2TV.spdx, e.g. angular-15.1.0-SPDX2TV.spdx.&lt;br /&gt;
** OSS disclosure file: [package name]-[version number]-OSS-disclosure.txt, e.g. angular-15.1.0-OSS-disclosure.txt.&lt;br /&gt;
&lt;br /&gt;
==== Both reports ====&lt;br /&gt;
* For &amp;quot;or later&amp;quot; license references, replace &amp;quot;+&amp;quot; with &amp;quot;-or-later&amp;quot;, e.g. GPL-2.0+ → GPL-2.0-or-later.&lt;br /&gt;
* For GNU licenses without &amp;quot;or later&amp;quot; extension, add &amp;quot;-only&amp;quot;, e.g. GPL-2.0 → GPL-2.0-only.&lt;br /&gt;
==== OSS disclosure report ====&lt;br /&gt;
* Remove headings &amp;quot;Main license&amp;quot; and &amp;quot;Other licenses&amp;quot;, and replace by heading &amp;quot;Licenses&amp;quot;.&lt;br /&gt;
==== SPDX tag:value report ====&lt;br /&gt;
To see how the SPDX tag:value file is generally used in &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt; have a look at the [[SPDX2TV template|SPDX2TV template]].&lt;br /&gt;
&lt;br /&gt;
The following tags must be edited:&lt;br /&gt;
* &#039;&#039;Creator: Person:&#039;&#039; [name of creator]&lt;br /&gt;
* &#039;&#039;CreatorComment:&#039;&#039; &amp;lt;text&amp;gt;This document was created using license information and a generator from Fossology. It contains the license and copyright analysis of [package]. Please check &amp;quot;LicenseComments&amp;quot; for explanations of concluded licenses.&amp;lt;/text&amp;gt;&lt;br /&gt;
* &#039;&#039;PackageLicenseConcluded:&#039;&#039; NOASSERTION&lt;br /&gt;
* If main license is not a template license text, add correct customized license reference to &#039;&#039;PackageLicenseDeclared&#039;&#039;.&lt;br /&gt;
* Dual licensing conclusions: Remove &amp;quot;LicenseRef-Dual-license&amp;quot; and correct AND operator to OR (e.g. LicenseA AND LicenseB AND LicenseRef-Dual-license → LicenseA OR LicenseB). If there is dual licensing and multiple licenses, be aware of the SPDX operator hierarchy (default order of precedence: WITH, AND, OR).&lt;br /&gt;
&lt;br /&gt;
The SPDX tag:value file must be validated either with the [https://tools.spdx.org/app/ SPDX online tools] or with the [https://github.com/spdx/tools-java CLI tools]. When the SPDX tag:value file is valid, convert to spdx.rdf.xml, spdx.json, spdx.yaml formats.&lt;/div&gt;</summary>
		<author><name>Ckresse</name></author>
	</entry>
	<entry>
		<id>https://wiki.osselot.org/index.php?title=FOSSology&amp;diff=157</id>
		<title>FOSSology</title>
		<link rel="alternate" type="text/html" href="https://wiki.osselot.org/index.php?title=FOSSology&amp;diff=157"/>
		<updated>2023-08-03T08:02:56Z</updated>

		<summary type="html">&lt;p&gt;Ckresse: Add License-Ref patch&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Installation==&lt;br /&gt;
The Fossology software can be downloaded from the [https://www.fossology.org/ project&#039;s home page].&lt;br /&gt;
==Manual addition of [[Scancode]]==&lt;br /&gt;
In addition to the default installation, the [[Scancode]] Open Source scan tool should be installed, and an interface from the FOSSology instance to it should be configured. The rationale behind the recommendation to use a certain variety of scanners is that each scanner has its own strengths and weaknesses and by combining the individual scan findings, the overall result can be optimized.&lt;br /&gt;
&lt;br /&gt;
== Customization ==&lt;br /&gt;
In the SPDX standard, licenses are denoted by a short identifier (e.g. GPL-2.0-only or LicenseRef-MIT-customized). Licenses that are not listed in the [https://spdx.org/licenses SPDX License List] are prefixed by &amp;quot;LicenseRef-&amp;quot;, and in the section &amp;quot;License information&amp;quot; of the SPDX tag:value file, the full license text is given. Licenses with standard texts according to the [https://spdx.org/licenses SPDX License List] do not carry the &amp;quot;LicenseRef-&amp;quot; prefix, and their license text is not given in the tag:value file. For the &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt; project however, the SPDX tag:value file is intended to be self-consistent, i.e. for every short license identifier the corresponding full license text must be given. In order to achieve this while ensuring the SPDX file can be valid, we have patched our Fossology installation to add the &amp;quot;LicenseRef-&amp;quot; prefix to all license identifiers. In our Fossology installation, the patch directory is /usr/local/share/fossology/patches and the patch list-all-license-texts-in-spdxtv-export.patch looks as follows:&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
Index: fossology/spdx2/agent/template/spdx2-document.xml.twig&lt;br /&gt;
===================================================================&lt;br /&gt;
--- fossology.orig/spdx2/agent/template/spdx2-document.xml.twig&lt;br /&gt;
+++ fossology/spdx2/agent/template/spdx2-document.xml.twig&lt;br /&gt;
@@ -21,7 +21,7 @@&lt;br /&gt;
   &amp;lt;rdfs:comment&amp;gt;&lt;br /&gt;
     This document was created using license information and a generator from Fossology.&lt;br /&gt;
   &amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
-  {% for licenseId,licenseData in licenseTexts %}{% if licenseId starts with &#039;LicenseRef-&#039; %}&lt;br /&gt;
+  {% for licenseId,licenseData in licenseTexts %}&lt;br /&gt;
   &amp;lt;spdx:hasExtractedLicensingInfo&amp;gt;&lt;br /&gt;
 {% if licenseId starts with &#039;LicenseRef-&#039; %}&lt;br /&gt;
     &amp;lt;spdx:ExtractedLicensingInfo rdf:about=&amp;quot;{{ uri }}#{{ licenseId|replace({&#039; &#039;: &#039;-&#039;})|url_encode }}&amp;quot;&amp;gt;&lt;br /&gt;
@@ -36,7 +36,7 @@&lt;br /&gt;
       ]]&amp;gt;&amp;lt;/spdx:extractedText&amp;gt;&lt;br /&gt;
     &amp;lt;/spdx:ExtractedLicensingInfo&amp;gt;&lt;br /&gt;
   &amp;lt;/spdx:hasExtractedLicensingInfo&amp;gt;&lt;br /&gt;
-{% endif %}{% endfor %}&lt;br /&gt;
+{% endfor %}&lt;br /&gt;
   {{ packageNodes|replace({&#039;\n&#039;:&#039;\n  &#039;}) }}&lt;br /&gt;
 &amp;lt;/spdx:SpdxDocument&amp;gt;&lt;br /&gt;
 &amp;lt;/rdf:RDF&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Index: fossology/spdx2/agent/template/spdx2tv-document.twig&lt;br /&gt;
===================================================================&lt;br /&gt;
--- fossology.orig/spdx2/agent/template/spdx2tv-document.twig&lt;br /&gt;
+++ fossology/spdx2/agent/template/spdx2tv-document.twig&lt;br /&gt;
@@ -40,10 +40,10 @@ LicenseListVersion: 2.6&lt;br /&gt;
 ## License Information&lt;br /&gt;
 ##-------------------------&lt;br /&gt;
 &lt;br /&gt;
-{% for licenseId,licenseData in licenseTexts %}{% if licenseId starts with &#039;LicenseRef-&#039; %}&lt;br /&gt;
+{% for licenseId,licenseData in licenseTexts %}&lt;br /&gt;
 LicenseID: {{ licenseId|replace({&#039; &#039;: &#039;-&#039;}) }}&lt;br /&gt;
 LicenseName: {{ licenseData[&#039;name&#039;] }}&lt;br /&gt;
 ExtractedText: &amp;lt;text&amp;gt; {{ licenseData[&#039;text&#039;]|replace({&#039;&amp;lt;text&amp;gt;&#039;:&#039;&amp;amp;lt;text&amp;amp;gt;&#039;,&#039;&amp;lt;/text&amp;gt;&#039;:&#039;&amp;amp;lt;/text&amp;amp;gt;&#039;})&lt;br /&gt;
                                             |replace({&#039;\f&#039;:&#039;&#039;}) }} &amp;lt;/text&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
-{% endif %}{% endfor %}&lt;br /&gt;
+{% endfor %}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Community server==&lt;br /&gt;
The reference community FOSSology server &amp;lt;i&amp;gt;[https://fossy.osadl.org Fossy]&amp;lt;/i&amp;gt; is available on the Internet and internally used for primary curation and review; however, it is not publicly available. Future contributors may be granted login to the &amp;lt;i&amp;gt;Fossy&amp;lt;/i&amp;gt; server after they successfully underwent &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt; curators&#039; training.&lt;/div&gt;</summary>
		<author><name>Ckresse</name></author>
	</entry>
	<entry>
		<id>https://wiki.osselot.org/index.php?title=Curation_guideline&amp;diff=156</id>
		<title>Curation guideline</title>
		<link rel="alternate" type="text/html" href="https://wiki.osselot.org/index.php?title=Curation_guideline&amp;diff=156"/>
		<updated>2023-08-03T07:50:23Z</updated>

		<summary type="html">&lt;p&gt;Ckresse: Complete section &amp;quot;Data curation&amp;quot; - part 2&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This information is intended to provide guidelines on how data are curated for the OSSelot project and how contributing works. The curator should be familiar with their preferred scanning tool (ours is [[FOSSology|Fossology]]) and have a general understanding of copyright law and in particular knowledge of FOSS licensing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note:&#039;&#039; Whenever information is given that is specific to [[FOSSology|Fossology]], it is prepended with the keyword &#039;&#039;&#039;fossy&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Preparation ==&lt;br /&gt;
* Obtain the component in source code form.&lt;br /&gt;
** Note the download URL.&lt;br /&gt;
* Naming convention:&lt;br /&gt;
** Try to follow the project’s naming and version convention, e.g. as given by the release’s git tag.&lt;br /&gt;
** If this is not consistent, use only lowercase letters.&lt;br /&gt;
** [package name]-[version number], e.g. angular-15.1.0.&lt;br /&gt;
* Analyze the component with a license scan tool (e.g. [[FOSSology|Fossology]], [[Scancode|Scancode]]).&lt;br /&gt;
** &#039;&#039;&#039;fossy:&#039;&#039;&#039; [[FOSSology|Fossology]] default settings for analysis:&lt;br /&gt;
*** 7. Select optional analysis:&lt;br /&gt;
**** Upload from file&lt;br /&gt;
**** Copyright/Email/URL/Author Analysis&lt;br /&gt;
**** Monk License Analysis, scanning for licenses performing a text comparison&lt;br /&gt;
**** Nomos License Analysis, scanning for licenses using regular expressions&lt;br /&gt;
**** Ojo License Analysis, scanning for licenses using SPDX-License-Identifier&lt;br /&gt;
*** 10. ScanCode Toolkit, scan for&lt;br /&gt;
**** License&lt;br /&gt;
**** Copyright&lt;br /&gt;
** [[Scancode|Scancode]] default options for analysis:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
scancode -cli --license-text –json [package name-version].json [package]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;c: copyrights; l: licenses; i: file information; --license-text: include full license text&lt;br /&gt;
&lt;br /&gt;
== Data curation ==&lt;br /&gt;
* A licensing expert reviews and analyzes the scanning results.&lt;br /&gt;
* [[FOSSology|Fossology]] can directly be used to review the results. The [[Scancode]] results must be reviewed with an external tool, e.g. [https://github.com/opossum-tool/opossumUI Opossum].&lt;br /&gt;
* Review is done on file level, i.e. every file in the source code tree for which at least one scanner found a result is analyzed.&lt;br /&gt;
** &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], you can browse through the relevant files by selecting &amp;quot;Go through all files with licenses and no clearing result&amp;quot;.&lt;br /&gt;
* That means:&lt;br /&gt;
** scanner findings are confirmed, or&lt;br /&gt;
** scanner findings are corrected.&lt;br /&gt;
* If there are no findings for a file, the conclusion is NO ASSERTION (for SPDX tag &#039;&#039;LicenseConcluded&#039;&#039;).&lt;br /&gt;
** &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], this is given by the clearing decision types &amp;quot;No license known&amp;quot; or &amp;quot;Irrelevant&amp;quot; or &amp;quot;Non-functional&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;LicenseComments&#039;&#039; ===&lt;br /&gt;
In case a license conclusion is not obvious, the decision is explained.&lt;br /&gt;
* This is done with the following heuristic:&amp;lt;blockquote&amp;gt;The information in the file is:&amp;lt;br/&amp;gt;&amp;quot;[Quote licensing information in the source code file]&amp;quot;&amp;lt;br/&amp;gt;[Give reason for conclusion] Therefore, [license] is concluded.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* Example 1: No version&amp;lt;blockquote&amp;gt;The information in the file is:&amp;lt;br/&amp;gt;&amp;quot;This file is GPL&#039;d.&amp;quot;&amp;lt;br/&amp;gt;As no version of the GPL is given, GPL-1.0-or-later is concluded.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* Example 2: URL for license text&amp;lt;blockquote&amp;gt;The information in the file is:&amp;lt;br/&amp;gt;&amp;quot;This file is licensed under License A. You can find the license text at &amp;lt;nowiki&amp;gt;https://www.LicenseTextOfLicenseA.com&amp;lt;/nowiki&amp;gt;.&amp;quot;&amp;lt;br/&amp;gt;The URL contains the license text of License A, therefore License A is concluded. The information was retrieved on [date].&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In Fossology, the explanations are given in the &amp;quot;Comment&amp;quot; section which maps to the SPDX tag &#039;&#039;LicenseComments&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Correcting scanner findings ===&lt;br /&gt;
The following list includes typical cases where scanner findings have to be corrected and how to do so.&lt;br /&gt;
&lt;br /&gt;
==== Not a license ====&lt;br /&gt;
The scanner concludes a license from an expression in a file that is not actually a license expression at all. In this case, the incorrect license finding is removed.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], the source of the scanner finding is highlighted when clicking on the number (#1) behind the scanner.&lt;br /&gt;
==== Not the file&#039;s license ====&lt;br /&gt;
The scanner concludes a license from a license expression that is part of the file’s content but not the license of the file itself. In this case, the incorrect license finding is removed.&lt;br /&gt;
==== License text ====&lt;br /&gt;
Files that contain only a license text (e.g. COPYING) are concluded by the scanners to be licensed under the respective license. This is usually not correct. Most license texts are not explicitly licensed, so the finding is removed. The GNU licenses contain a license statement for the license text itself which is concluded for these cases (&#039;&#039;License-of-GNU-licenses&#039;&#039;).&lt;br /&gt;
==== Imprecise finding ====&lt;br /&gt;
The scanner finding might be imprecise, e.g. w.r.t. to the version of a license, e.g. no version number is given. If this is the case, the imprecise finding is removed and the specified license and version is concluded. If no version is given, the lowest existing version with the -or-later extension is concluded.&lt;br /&gt;
==== Dual licensing ====&lt;br /&gt;
A file might offer a choice of two or more licenses under which it can be used. If the context requires to chose one specific license, this choice must be noted. However, all applicable licenses must be concluded. Also, dual license cases require additional post-processing, see section &amp;quot;Post-processing&amp;quot; below.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], add the following text to the &amp;quot;Acknowledgement&amp;quot; section of the &amp;quot;Dual-license&amp;quot; finding to note the license choice, if applicable:&amp;lt;blockquote&amp;gt;To the extend files may be licensed under License A or License B, in this context License B has been chosen. This shall not restrict the freedom of other users to choose either License A or License B. For convenience, all license texts are provided.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
==== License exceptions ====&lt;br /&gt;
In particular for the GNU licenses, there are a number of license exceptions.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; [[FOSSology|Fossology]] notes the license and the exception as separate findings. This is corrected to one finding using the SPDX license expression [License] WITH [exception], e.g. GPL-2.0-or-later WITH GCC-exception-2.0.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; If the [[FOSSology|Fossology]] license database does not yet contain these licenses, they have to be added. &lt;br /&gt;
==== Generic license texts ====&lt;br /&gt;
For some licenses, especially the BSD-type licenses, many variants of the license texts exist. The scanners often provide only the generic license texts. If an individual text differs from the generic text, the individual license text is provided.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], click percentage of match to see differences.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; The individual text is copied from the file into the &amp;quot;License&amp;quot; section of [[FOSSology|Fossology]].&lt;br /&gt;
==== External references ====&lt;br /&gt;
Sometimes the file does not contain the name or text of a license but references an external resource such as a COPYRIGHT file in the root directory or a URL. In these cases, the external reference is checked and the detected license is concluded and the process is documented as a &#039;&#039;LicenseComment&#039;&#039; (in case of a URL, the date of access is noted).&lt;br /&gt;
==== (Partially) global license assignment ====&lt;br /&gt;
Sometimes there is a Readme file or similar that contains a statement assigning a license to several files within the source tree (e.g. all files in a specific directory). As such information is often outdated or does not account for individual licensing of files, it is not used to assign a license to a file here.&lt;br /&gt;
==== Acknowledgment ====&lt;br /&gt;
If a license has an acknowledgment requirement, the respective acknowledgment text is given. In particular for CC_BY licenses, the acknowledgment must contain the following information (if available): name of the creator, copyright notice, license notice, disclaimer, link to the material.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], the acknowledgment text is given in the &amp;quot;Acknowledgement&amp;quot; section.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;fossy:&#039;&#039;&#039; Bulk statements ===&lt;br /&gt;
In [[FOSSology|Fossology]], scanner findings can be confirmed, removed or corrected with bulk statements.&lt;br /&gt;
* When doing so, it is crucial to start with the shorter bulk statements as these can be part of a longer bulk statement which would then be modified by running the short bulk statement after the long one. For example (abbreviated):&amp;lt;blockquote&amp;gt;Short bulk statement: &amp;quot;This file is licensed under GPL version 2.0.&amp;quot;&amp;lt;br/&amp;gt;Long bulk statement: &amp;quot;This file is licensed under GPL version 2.0. As a special exception, you may...&amp;quot;&amp;lt;/blockquote&amp;gt; Here, the short bulk statement will modify the findings for the file with the long bulk statement. It should therefore be run first so that afterwards, the long bulk statement can correct the conclusion for the relevant files.&lt;br /&gt;
* Do not limit the scope of bulk statements, rather choose unique bulk statements. When reusing bulk statements for future uploads, the initial scope is not preserved, but they are applied to the entire upload, so it might yield false results.&lt;br /&gt;
&lt;br /&gt;
=== Curating copyright statements ===&lt;br /&gt;
* Remove findings that were incorrectly identified as a copyright statement (e.g. license texts, code, etc.).&lt;br /&gt;
* Remove content from copyright statements that is not part of the copyright notice (e.g. formatting signs, license notices, comments on content, code, etc.).&lt;br /&gt;
* If the source code tree contains an AUTHORS file, the content of this is given as value to the SPDX tag &#039;&#039;PackageCopyrightText&#039;&#039; in the post-processing stage (see section “Post-processing” below).&lt;br /&gt;
&lt;br /&gt;
=== Package license ===&lt;br /&gt;
Only If there is a LICENSE or COPYING or similar file in the root directory that states a main license for the package, we give this information as value to the SPDX tag &#039;&#039;PackageLicenseDeclared&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], this is marked as the &amp;quot;main license&amp;quot; by activating the star symbol. Caution: If the main license is a custom text, [[FOSSology|Fossology]] takes the standard template text anyway. This has to be corrected manually in the post-processing stage (see section “Post-processing” below).&lt;/div&gt;</summary>
		<author><name>Ckresse</name></author>
	</entry>
	<entry>
		<id>https://wiki.osselot.org/index.php?title=Curation_guideline&amp;diff=155</id>
		<title>Curation guideline</title>
		<link rel="alternate" type="text/html" href="https://wiki.osselot.org/index.php?title=Curation_guideline&amp;diff=155"/>
		<updated>2023-08-03T07:33:50Z</updated>

		<summary type="html">&lt;p&gt;Ckresse: Add section &amp;quot;Data curation&amp;quot; - part 1&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This information is intended to provide guidelines on how data are curated for the OSSelot project and how contributing works. The curator should be familiar with their preferred scanning tool (ours is [[FOSSology|Fossology]]) and have a general understanding of copyright law and in particular knowledge of FOSS licensing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note:&#039;&#039; Whenever information is given that is specific to [[FOSSology|Fossology]], it is prepended with the keyword &#039;&#039;&#039;fossy&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Preparation ==&lt;br /&gt;
* Obtain the component in source code form.&lt;br /&gt;
** Note the download URL.&lt;br /&gt;
* Naming convention:&lt;br /&gt;
** Try to follow the project’s naming and version convention, e.g. as given by the release’s git tag.&lt;br /&gt;
** If this is not consistent, use only lowercase letters.&lt;br /&gt;
** [package name]-[version number], e.g. angular-15.1.0.&lt;br /&gt;
* Analyze the component with a license scan tool (e.g. [[FOSSology|Fossology]], [[Scancode|Scancode]]).&lt;br /&gt;
** &#039;&#039;&#039;fossy:&#039;&#039;&#039; [[FOSSology|Fossology]] default settings for analysis:&lt;br /&gt;
*** 7. Select optional analysis:&lt;br /&gt;
**** Upload from file&lt;br /&gt;
**** Copyright/Email/URL/Author Analysis&lt;br /&gt;
**** Monk License Analysis, scanning for licenses performing a text comparison&lt;br /&gt;
**** Nomos License Analysis, scanning for licenses using regular expressions&lt;br /&gt;
**** Ojo License Analysis, scanning for licenses using SPDX-License-Identifier&lt;br /&gt;
*** 10. ScanCode Toolkit, scan for&lt;br /&gt;
**** License&lt;br /&gt;
**** Copyright&lt;br /&gt;
** [[Scancode|Scancode]] default options for analysis:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
scancode -cli --license-text –json [package name-version].json [package]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;c: copyrights; l: licenses; i: file information; --license-text: include full license text&lt;br /&gt;
&lt;br /&gt;
== Data curation ==&lt;br /&gt;
* A licensing expert reviews and analyzes the scanning results.&lt;br /&gt;
* [[FOSSology|Fossology]] can directly be used to review the results. The [[Scancode]] results must be reviewed with an external tool, e.g. [https://github.com/opossum-tool/opossumUI Opossum].&lt;br /&gt;
* Review is done on file level, i.e. every file in the source code tree for which at least one scanner found a result is analyzed.&lt;br /&gt;
** &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], you can browse through the relevant files by selecting &amp;quot;Go through all files with licenses and no clearing result&amp;quot;.&lt;br /&gt;
* That means:&lt;br /&gt;
** scanner findings are confirmed, or&lt;br /&gt;
** scanner findings are corrected.&lt;br /&gt;
* If there are no findings for a file, the conclusion is NO ASSERTION (for SPDX tag &#039;&#039;LicenseConcluded&#039;&#039;).&lt;br /&gt;
** &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], this is given by the clearing decision types &amp;quot;No license known&amp;quot; or &amp;quot;Irrelevant&amp;quot; or &amp;quot;Non-functional&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;LicenseComments&#039;&#039; ===&lt;br /&gt;
In case a license conclusion is not obvious, the decision is explained.&lt;br /&gt;
* This is done with the following heuristic:&amp;lt;blockquote&amp;gt;The information in the file is: &amp;quot;[Quote licensing information in the source code file]&amp;quot;  [Give reason for conclusion] Therefore, [license] is concluded.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* Example 1: No version&amp;lt;blockquote&amp;gt;The information in the file is: &amp;quot;This file is GPL&#039;d.&amp;quot; As no version of the GPL is given, GPL-1.0-or-later is concluded.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* Example 2: URL for license text&amp;lt;blockquote&amp;gt;The information in the file is: &amp;quot;This file is licensed under License A. You can find the license text at &amp;lt;nowiki&amp;gt;https://www.LicenseTextOfLicenseA.com&amp;lt;/nowiki&amp;gt;.&amp;quot; The URL contains the license text of License A, therefore License A is concluded. The information was retrieved on [date].&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In Fossology, the explanations are given in the &amp;quot;Comment&amp;quot; section which maps to the SPDX tag &#039;&#039;LicenseComments&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Correcting scanner findings ===&lt;br /&gt;
The following list includes typical cases where scanner findings have to be corrected and how to do so.&lt;br /&gt;
&lt;br /&gt;
==== Not a license ====&lt;br /&gt;
The scanner concludes a license from an expression in a file that is not actually a license expression at all. In this case, the incorrect license finding is removed.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], the source of the scanner finding is highlighted when clicking on the number (#1) behind the scanner.&lt;br /&gt;
==== Not the file&#039;s license ====&lt;br /&gt;
The scanner concludes a license from a license expression that is part of the file’s content but not the license of the file itself. In this case, the incorrect license finding is removed.&lt;br /&gt;
==== License text ====&lt;br /&gt;
Files that contain only a license text (e.g. COPYING) are concluded by the scanners to be licensed under the respective license. This is usually not correct. Most license texts are not explicitly licensed, so the finding is removed. The GNU licenses contain a license statement for the license text itself which is concluded for these cases (&#039;&#039;License-of-GNU-licenses&#039;&#039;).&lt;br /&gt;
==== Imprecise finding ====&lt;br /&gt;
The scanner finding might be imprecise, e.g. w.r.t. to the version of a license, e.g. no version number is given. If this is the case, the imprecise finding is removed and the specified license and version is concluded. If no version is given, the lowest existing version with the -or-later extension is concluded.&lt;br /&gt;
==== Dual licensing ====&lt;br /&gt;
A file might offer a choice of two or more licenses under which it can be used. If the context requires to chose one specific license, this choice must be noted. However, all applicable licenses must be concluded. Also, dual license cases require additional post-processing, see section &amp;quot;Post-processing&amp;quot; below.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], add the following text to the &amp;quot;Acknowledgement&amp;quot; section of the &amp;quot;Dual-license&amp;quot; finding to note the license choice, if applicable:&amp;lt;blockquote&amp;gt;To the extend files may be licensed under License A or License B, in this context License B has been chosen. This shall not restrict the freedom of other users to choose either License A or License B. For convenience, all license texts are provided.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
==== License exceptions ====&lt;br /&gt;
In particular for the GNU licenses, there are a number of license exceptions.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; [[FOSSology|Fossology]] notes the license and the exception as separate findings. This is corrected to one finding using the SPDX license expression [License] WITH [exception], e.g. GPL-2.0-or-later WITH GCC-exception-2.0.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; If the [[FOSSology|Fossology]] license database does not yet contain these licenses, they have to be added. &lt;br /&gt;
==== Generic license texts ====&lt;br /&gt;
For some licenses, especially the BSD-type licenses, many variants of the license texts exist. The scanners often provide only the generic license texts. If an individual text differs from the generic text, the individual license text is provided.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], click percentage of match to see differences.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; The individual text is copied from the file into the &amp;quot;License&amp;quot; section of [[FOSSology|Fossology]].&lt;br /&gt;
==== External references ====&lt;br /&gt;
Sometimes the file does not contain the name or text of a license but references an external resource such as a COPYRIGHT file in the root directory or a URL. In these cases, the external reference is checked and the detected license is concluded and the process is documented as a &#039;&#039;LicenseComment&#039;&#039; (in case of a URL, the date of access is noted).&lt;br /&gt;
==== (Partially) global license assignment ====&lt;br /&gt;
Sometimes there is a Readme file or similar that contains a statement assigning a license to several files within the source tree (e.g. all files in a specific directory). As such information is often outdated or does not account for individual licensing of files, it is not used to assign a license to a file here.&lt;br /&gt;
==== Acknowledgment ====&lt;br /&gt;
If a license has an acknowledgment requirement, the respective acknowledgment text is given. In particular for CC_BY licenses, the acknowledgment must contain the following information (if available): name of the creator, copyright notice, license notice, disclaimer, link to the material.&lt;br /&gt;
* &#039;&#039;&#039;fossy:&#039;&#039;&#039; In [[FOSSology|Fossology]], the acknowledgment text is given in the &amp;quot;Acknowledgement&amp;quot; section.&lt;/div&gt;</summary>
		<author><name>Ckresse</name></author>
	</entry>
	<entry>
		<id>https://wiki.osselot.org/index.php?title=Curation_guideline&amp;diff=154</id>
		<title>Curation guideline</title>
		<link rel="alternate" type="text/html" href="https://wiki.osselot.org/index.php?title=Curation_guideline&amp;diff=154"/>
		<updated>2023-08-03T06:50:28Z</updated>

		<summary type="html">&lt;p&gt;Ckresse: First section &amp;quot;Preparation&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This information is intended to provide guidelines on how data are curated for the OSSelot project and how contributing works. The curator should be familiar with their preferred scanning tool (ours is [[FOSSology|Fossology]]) and have a general understanding of copyright law and in particular knowledge of FOSS licensing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note:&#039;&#039; Whenever information is given that is specific to [[FOSSology|Fossology]], it is prepended with the keyword &#039;&#039;&#039;fossy&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Preparation ===&lt;br /&gt;
* Obtain the component in source code form.&lt;br /&gt;
** Note the download URL.&lt;br /&gt;
* Naming convention:&lt;br /&gt;
** Try to follow the project’s naming and version convention, e.g. as given by the release’s git tag.&lt;br /&gt;
** If this is not consistent, use only lowercase letters.&lt;br /&gt;
** [package name]-[version number], e.g. angular-15.1.0.&lt;br /&gt;
* Analyze the component with a license scan tool (e.g. [[FOSSology|Fossology]], [[Scancode|Scancode]]).&lt;br /&gt;
** &#039;&#039;&#039;fossy:&#039;&#039;&#039; [[FOSSology|Fossology]] default settings for analysis:&lt;br /&gt;
*** 7. Select optional analysis:&lt;br /&gt;
**** Upload from file&lt;br /&gt;
**** Copyright/Email/URL/Author Analysis&lt;br /&gt;
**** Monk License Analysis, scanning for licenses performing a text comparison&lt;br /&gt;
**** Nomos License Analysis, scanning for licenses using regular expressions&lt;br /&gt;
**** Ojo License Analysis, scanning for licenses using SPDX-License-Identifier&lt;br /&gt;
*** 10. ScanCode Toolkit, scan for&lt;br /&gt;
**** License&lt;br /&gt;
**** Copyright&lt;br /&gt;
** [[Scancode|Scancode]] default options for analysis:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
scancode -cli --license-text –json [package name-version].json [package]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;c: copyrights; l: licenses; i: file information; --license-text: include full license text&lt;br /&gt;
&lt;br /&gt;
=== Data curation ===&lt;/div&gt;</summary>
		<author><name>Ckresse</name></author>
	</entry>
	<entry>
		<id>https://wiki.osselot.org/index.php?title=Main_Page&amp;diff=153</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.osselot.org/index.php?title=Main_Page&amp;diff=153"/>
		<updated>2023-08-03T06:27:39Z</updated>

		<summary type="html">&lt;p&gt;Ckresse: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
== Welcome to the &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt; Wiki! ==&lt;br /&gt;
&lt;br /&gt;
This Wiki was created to facilitate day-to-day work with the resources of the [https://www.osselot.org &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt; project], especially when accessing them in batch mode, e.g. as part of a software release build.&lt;br /&gt;
&lt;br /&gt;
==[[Search]] for a package==&lt;br /&gt;
[[Search|Find out]] whether a particular version of a software package is supported by &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt; and has already been curated. A particular Web script is provided for this purpose, and an interactive Web interface is available to test and use this feature.&lt;br /&gt;
&lt;br /&gt;
==Obtain [[Disclosure_files|disclosure files]]==&lt;br /&gt;
A shell script is provided to encapsulate the [[Search|Web search script]] and obtain the related disclosure files. Another interactive Web interface is available to test and use this feature.&lt;br /&gt;
&lt;br /&gt;
==Obtain [[Licenses|licensing information]]== &lt;br /&gt;
Another Web script is available that also encapsulates the internal algorithm of the [[Search|Web search script]], but then generates a list of licenses that are used in a given software package. The script accepts as argument either a package name or a package name along with a version. In the former case the licenses of all available versions are listed, whereas in the latter the output is restricted to the specified version.&lt;br /&gt;
&lt;br /&gt;
==Obtain curation data in various format using a [[REST]] interface== &lt;br /&gt;
The entire curation data of a software package can be retrieved in [[JSON]] format, curation data of a particular version can be retrieved in [[RDF-XML]], [[SPDX2TV]] or [[YAML]] format.&lt;br /&gt;
&lt;br /&gt;
==Reuse existing material in case of version mismatch==&lt;br /&gt;
If a particular version of a software package has not been curated before, but another one that may be close to it has, then FOSSology&#039;s reuse feature can be applied. Details are given in the presentation and video material on the &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt; home page: Please check out [https://www.osselot.org/index.php?s=presentations &amp;quot;Use case 2&amp;quot; at the &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt; presentations].&lt;br /&gt;
&lt;br /&gt;
==Contributing to the &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt; project==&lt;br /&gt;
How to contribute to the project if a package that is not yet included with &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt; has been externally curated? Contributions are greatly appreciated, and therefore we would like to encourage as many users as possible to contribute. The more versions of more packages that are curated, the more beneficial the &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt; project will be. However, to maintain confidence in the material, a rigorous vetting process was instituted. Volunteers are asked to first contact the &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt; Officer via [mailto:office@osadl.org?subject=OSSelot-volunteer email]. The easiest next step is then probably to arrange a video conference, get to know each other, and understand the basic principles of the &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt; curation process. From that moment, new software packages can be curated and provided in the fork tree. The maintainer will then review the newly provided curation data in close collaboration with the contributor, and once the review is successful, the new curation data will be included and made publicly available through the repository. The contributor&#039;s and reviewer&#039;s names will be indicated in the README file of the package.&lt;br /&gt;
&lt;br /&gt;
==Best practices==&lt;br /&gt;
====FOSSology====&lt;br /&gt;
In order to use the [[FOSSology]] Open Source curation administration tool in connection with the &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt; project (when re-using the data and also when contributing to the project), a number of conventions should be observed.&lt;br /&gt;
====Scancode====&lt;br /&gt;
Normally, the [[Scancode]] Open Source scanning tool is used under the control of [[FOSSology]] in this project; however, to fine-tune or confirm the results it may be necessary to run the tool separately from command line. If this is done, the command line options should match the conventions of the &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt; project.&lt;br /&gt;
====How to curate data====&lt;br /&gt;
High-quality curation data are the cornerstone of the &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt; project. To ensure that this quality is maintained, every contribution is thoroughly reviewed and only curators with sufficient expertise in FOSS licensing contribute to the database. A [[curation guideline]] on how data are curated for the &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt; project is given here to ensure consistency.&lt;/div&gt;</summary>
		<author><name>Ckresse</name></author>
	</entry>
	<entry>
		<id>https://wiki.osselot.org/index.php?title=Main_Page&amp;diff=152</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.osselot.org/index.php?title=Main_Page&amp;diff=152"/>
		<updated>2023-08-03T06:24:46Z</updated>

		<summary type="html">&lt;p&gt;Ckresse: Add &amp;quot;How to curate data&amp;quot; section introduction.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
== Welcome to the &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt; Wiki! ==&lt;br /&gt;
&lt;br /&gt;
This Wiki was created to facilitate day-to-day work with the resources of the [https://www.osselot.org &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt; project], especially when accessing them in batch mode, e.g. as part of a software release build.&lt;br /&gt;
&lt;br /&gt;
==[[Search]] for a package==&lt;br /&gt;
[[Search|Find out]] whether a particular version of a software package is supported by &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt; and has already been curated. A particular Web script is provided for this purpose, and an interactive Web interface is available to test and use this feature.&lt;br /&gt;
&lt;br /&gt;
==Obtain [[Disclosure_files|disclosure files]]==&lt;br /&gt;
A shell script is provided to encapsulate the [[Search|Web search script]] and obtain the related disclosure files. Another interactive Web interface is available to test and use this feature.&lt;br /&gt;
&lt;br /&gt;
==Obtain [[Licenses|licensing information]]== &lt;br /&gt;
Another Web script is available that also encapsulates the internal algorithm of the [[Search|Web search script]], but then generates a list of licenses that are used in a given software package. The script accepts as argument either a package name or a package name along with a version. In the former case the licenses of all available versions are listed, whereas in the latter the output is restricted to the specified version.&lt;br /&gt;
&lt;br /&gt;
==Obtain curation data in various format using a [[REST]] interface== &lt;br /&gt;
The entire curation data of a software package can be retrieved in [[JSON]] format, curation data of a particular version can be retrieved in [[RDF-XML]], [[SPDX2TV]] or [[YAML]] format.&lt;br /&gt;
&lt;br /&gt;
==Reuse existing material in case of version mismatch==&lt;br /&gt;
If a particular version of a software package has not been curated before, but another one that may be close to it has, then FOSSology&#039;s reuse feature can be applied. Details are given in the presentation and video material on the &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt; home page: Please check out [https://www.osselot.org/index.php?s=presentations &amp;quot;Use case 2&amp;quot; at the &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt; presentations].&lt;br /&gt;
&lt;br /&gt;
==Contributing to the &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt; project==&lt;br /&gt;
How to contribute to the project if a package that is not yet included with &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt; has been externally curated? Contributions are greatly appreciated, and therefore we would like to encourage as many users as possible to contribute. The more versions of more packages that are curated, the more beneficial the &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt; project will be. However, to maintain confidence in the material, a rigorous vetting process was instituted. Volunteers are asked to first contact the &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt; Officer via [mailto:office@osadl.org?subject=OSSelot-volunteer email]. The easiest next step is then probably to arrange a video conference, get to know each other, and understand the basic principles of the &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt; curation process. From that moment, new software packages can be curated and provided in the fork tree. The maintainer will then review the newly provided curation data in close collaboration with the contributor, and once the review is successful, the new curation data will be included and made publicly available through the repository. The contributor&#039;s and reviewer&#039;s names will be indicated in the README file of the package.&lt;br /&gt;
&lt;br /&gt;
==Best practices==&lt;br /&gt;
====FOSSology====&lt;br /&gt;
In order to use the [[FOSSology]] Open Source curation administration tool in connection with the &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt; project (when re-using the data and also when contributing to the project), a number of conventions should be observed.&lt;br /&gt;
====Scancode====&lt;br /&gt;
Normally, the [[Scancode]] Open Source scanning tool is used under the control of [[FOSSology]] in this project; however, to fine-tune or confirm the results it may be necessary to run the tool separately from command line. If this is done, the command line options should match the conventions of the &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt; project.&lt;br /&gt;
====How to curate data====&lt;br /&gt;
High-quality curation data are the cornerstone of the &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt; project. To ensure that this quality is maintained, every contribution is thoroughly reviewed and only curators with sufficient expertise in FOSS licensing contribute to the database. A guideline on how data are curated for the &amp;lt;span style=&amp;quot;font-family: OSSelot-Bold; font-weight: 500; color: #1565af;&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt; project is given here to ensure consistency.&lt;/div&gt;</summary>
		<author><name>Ckresse</name></author>
	</entry>
</feed>