<?xml version="1.0" encoding="utf-8" standalone="yes"?><feed xmlns="http://www.w3.org/2005/Atom" xml:base="https://foundata.com/" xml:lang="de"><title>Fsfe auf foundata</title><id>https://foundata.com/de/tags/fsfe/feed-atom.xml</id><link rel="self" type="application/atom+xml" hreflang="de" href="https://foundata.com/de/tags/fsfe/feed-atom.xml" title="atom"/><link rel="alternate" type="text/html" hreflang="de" href="https://foundata.com/de/tags/fsfe/" title="html"/><link rel="alternate" type="application/rss+xml" hreflang="de" href="https://foundata.com/de/tags/fsfe/feed-rss.xml" title="rss"/><link rel="alternate" type="application/atom+xml" hreflang="en" href="https://foundata.com/en/tags/fsfe/feed-atom.xml" title="atom, English"/><link rel="alternate" type="text/html" hreflang="en" href="https://foundata.com/en/tags/fsfe/feed-atom.xml" title="html, English"/><link rel="alternate" type="application/rss+xml" hreflang="en" href="https://foundata.com/en/tags/fsfe/feed-atom.xml" title="rss, English"/><updated>2025-06-18T10:10:00Z</updated><author><name>foundata GmbH</name><email>webmaster@foundata.com</email><uri>https://foundata.com/</uri></author><rights>© 2023-2026, foundata GmbH (https://foundata.com)</rights><icon>https://foundata.com/images/feed-icon.67ff83c698af1511552374e80cf5f6ff26d497ef21f04186cf058859d535ca75.svg</icon><logo>https://foundata.com/images/feed-logo.9138f24a120dabc7e3d34003662131cc9c7f2ff153ec39d2f6dea3a48c35b4bf.svg</logo><entry><title type="html">FSFE REUSE: Lizenz- und Quellenverwaltung für Software-Projekte. Eine Einführung für Open-Source-Entwickler, inklusive Tipps &amp; Tricks.</title><id>tag:foundata.com,2025-06-18:/de/blog/2025/fsfe-reuse-lizenzverwaltung-open-source-tipps-spdx-sbom/</id><published>2025-06-18T10:10:00Z</published><updated>2025-06-18T10:10:00Z</updated><link href="https://foundata.com/de/blog/2025/fsfe-reuse-lizenzverwaltung-open-source-tipps-spdx-sbom/?utm_source=feed-atom" rel="alternate" type="text/html"/><link href="https://foundata.com/en/blog/2025/fsfe-reuse-open-source-licensing-tips-tricks-spdx-sbom/?utm_source=feed-atom" rel="alternate" type="text/html" hreflang="en"/><link href="https://foundata.com/de/blog/2024/verwende-gpl-or-later/?utm_source=feed-atom" rel="related" type="text/html" title='Bitte verwende GPLv3 "or-later" statt "only"'/><link href="https://foundata.com/de/blog/2024/copyleft-open-source-lizenzen/?utm_source=feed-atom" rel="related" type="text/html" title="Nutze Copyleft-Lizenzen für Open Source oder Lebe mit den Konsequenzen"/><link href="https://foundata.com/de/blog/2024/systemeinblicke-kommandozeile-lslogins-lsmod/?utm_source=feed-atom" rel="related" type="text/html" title="Systemeinblicke mit Kommandozeilentools: lslogins und lsmod"/><link href="https://foundata.com/de/blog/2024/systemeinblicke-kommandozeile-lsof-lsblk/?utm_source=feed-atom" rel="related" type="text/html" title="Systemeinblicke mit Kommandozeilentools: lsof und lsblk"/><link href="https://foundata.com/de/blog/2024/systemeinblicke-kommandozeile-dmidecode-lspci/?utm_source=feed-atom" rel="related" type="text/html" title="Systemeinblicke mit Kommandozeilentools: dmidecode und lspci"/><author><name>Andreas Haerter</name><uri>https://andreashaerter.com/</uri></author><summary type="html">Erfahre, wie die FSFE REUSE-Spezifikation dabei hilft, Lizenzen klar und präzise zu verwalten.</summary><content type="html" xml:base="https://foundata.com/"><![CDATA[<p><em>Hinweis: Dieser Artikel erschien vorab in <a href="https://fedoramagazine.org/beginners-guide-for-open-source-developers-for-software-licensing-with-fsfe-reuse/" target="_blank" rel="noreferrer noopener">in englischer Sprache im Fedora Magazin</a>.</em></p>
<p>Zwischen all den Aufgaben, mit denen Entwickler täglich zu tun haben, wird das Thema Software-Lizenzierung oft nur am Rande behandelt. Klar ist: Lizenzierung muss sein. Doch wenn es darum geht, die passende Lizenz auszuwählen, übernommenen Code korrekt zu kennzeichnen und alles konsistent zu halten, wird Lizenz-Management schnell zu einer bürokratischen Last.</p>
<p>Genau hier setzt das <a href="https://reuse.software/" target="_blank" rel="noreferrer noopener">REUSE-Projekt</a> an, welches von der <a href="https://fsfe.org/" target="_blank" rel="noreferrer noopener">Free Software Foundation Europe (FSFE)</a> betreut wird. Es versucht daheo nicht, die rechtliche Arbeit bei der Wahl einer Lizenz oder der Entschlüsselung von Verpflichtungen zu ersetzen. Stattdessen <strong>konzentriert sich REUSE auf die praktische Umsetzung von Lizenzierung</strong> – also darauf, <strong>wie sich Lizenzinformationen klar, eindeutig und verlässlich direkt im Code selbst kommunizieren lassen</strong>. Zahlreiche Projekte setzen bereits auf REUSE, darunter <a href="https://github.com/SAP/openui5/blob/master/REUSE.toml" target="_blank" rel="noreferrer noopener">SAP</a>, <a href="https://github.com/nextcloud/server/blob/cf1eed2769d928f4a7fe4543d51994331701f2d9/.reuse/dep5" target="_blank" rel="noreferrer noopener">Nextcloud</a> und viele Rollen und Collections aus der Ansible-Community.</p>
<p>Vor Kurzem bin ich selbst tief in das Thema Lizenzierung und Supply Chain eingetaucht. Ich musste herausfinden, wie sich REUSE auf <a href="https://github.com/foundata/" target="_blank" rel="noreferrer noopener">unsere Open-Source-Projekte</a> anwenden lässt und gleichzeitig anderen in unserem Team und bei Kunden erklären, wie es funktioniert. Das war eine spannende Doppelrolle: lernen und lehren zugleich. Daraus entstanden viele Erkenntnisse darüber, was an REUSE praktisch ist, wo es hakt, und wie es im Alltag hilft. Dieser Artikel möchte genau diese Erfahrungen weitergeben – als Ergänzung zu reinen Schnellstart-Anleitungen.</p>
<p>Wer Video lieber mag: Ich habe hierzu auch einen <a href="https://media.ccc.de/v/gpn23-268-fsfe-reuse-einfache-lizenz-und-quellenverwaltung-fr-software-projekte" target="_blank" rel="noreferrer noopener">REUSE-Vortrag auf der GPN23</a> gehalten (er enthält im wesentlichen den gleichen Inhalt wie der Text):</p>
<div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
<iframe src="https://media.ccc.de/v/gpn23-268-fsfe-reuse-einfache-lizenz-und-quellenverwaltung-fr-software-projekte/oembed" frameborder="0" allowfullscreen style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="Media CCC Video"></iframe>
</div>
<h2 id="warum-lizenzierung-sich-noch-immer-kaputt-anfühlt" class="scroll-mt-20 md:scroll-mt-24 wrap-break-word group/heading "><a href="#warum-lizenzierung-sich-noch-immer-kaputt-anf%c3%bchlt" class="group-hover/heading:after:content-['#'] group-hover/heading:after:ml-1.5 group-hover/heading:after:text-content-400" id="warum-lizenzierung-sich-noch-immer-kaputt-anfühlt">Warum Lizenzierung sich noch immer „kaputt“ anfühlt</a></h2><p>Wer schon einmal versucht hat, die Lizenzierung in einem Code-Repository mit Beiträgen aus verschiedensten Quellen nachzuvollziehen, oder Software zu paketieren und dabei auf widersprüchliche oder unklare Lizenzangaben gestoßen ist, kennt das Problem aus erster Hand. Es ist ein häufiger Schmerzpunkt.</p>
<p>Das Projekt beginnt. Eine <code>LICENSE</code>-Datei kommt ins Wurzelverzeichnis. Vielleicht ist es <a href="https://choosealicense.com/licenses/mit/" target="_blank" rel="noreferrer noopener">MIT</a>, vielleicht <a href="https://choosealicense.com/licenses/apache-2.0/" target="_blank" rel="noreferrer noopener">Apache 2.0</a>, vielleicht <a href="https://foundata.com/de/blog/2024/verwende-gpl-or-later/">GPLv3-or-later</a> lizensiert. Man denkt: Das reicht schon. Und tatsächlich erkennen Tools wie <a href="https://github.com/licensee/licensee" target="_blank" rel="noreferrer noopener">Licensee</a>, das auch GitHub verwendet, diese Datei und melden das Projekt als einheitlich lizenziert – basierend auf dem, was dort steht.</p>
<p>Aber das ist nur ein Teil des Ganzen.</p>
<p>Echte Projekte werden mit der Zeit chaotischer. Dateien stammen aus Pull Requests, Upstream-Forks, alten Backups oder fremden Repositories. Manchmal wird ein Skript von Stack Overflow eingefügt. Oder jemand kopiert die Ausgabe eines Codegenerators. Nach und nach wird das Repository zu einem Sammelsurium aus Dateien mit unklarer Herkunft. Die <code>LICENSE</code>-Datei im Root-Verzeichnis kann all das nicht mehr zuverlässig abdecken. Tools wie Licensee merken das nicht – und oft geht es dem Entwicklungsteam genauso.</p>
<p><strong>Fehlen klare Lizenzinformationen im Quellcode, wird es für andere schwierig, die Software weiterzuverwenden oder daran mitzuwirken.</strong> Leider können Tools zur <strong>automatischen Lizenz­erkennung keine rechtlich belastbare Sicherheit bieten</strong>. Sie arbeiten mit unscharfem Abgleich, Heuristiken und Annahmen wie: „ein Projekt, eine Lizenz“. Das reicht nicht, wenn es auf rechtliche Klarheit ankommt. Automatische Lizenzheuristiken sind kompliziert und werden niemals zuverlässige Ergebnisse für alle möglichen Anwendungsfälle liefern.</p>
<h2 id="fsfe-reuse-zur-rettung" class="scroll-mt-20 md:scroll-mt-24 wrap-break-word group/heading "><a href="#fsfe-reuse-zur-rettung" class="group-hover/heading:after:content-['#'] group-hover/heading:after:ml-1.5 group-hover/heading:after:text-content-400" id="fsfe-reuse-zur-rettung">FSFE REUSE zur Rettung</a></h2><p>Anstatt zu versuchen, Lizenzinformationen zu erraten oder herzuleiten, fordert REUSE Entwickler dazu auf, diese <strong>explizit</strong>, <strong>maschinenlesbar</strong> und <strong>überprüfbar</strong> bereitzustellen:</p>
<ol>
<li><strong><a href="https://reuse.software/spec-3.3/#license-files" target="_blank" rel="noreferrer noopener">Jede verwendete Lizenz muss als Textkopie im Verzeichnis <code>LICENSES/</code></a></strong><sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup> im Wurzelverzeichnis des Projekts abgelegt werden.</li>
<li><strong>Jede Datei im Projekt muss <a href="https://reuse.software/spec-3.3/#licensing-information" target="_blank" rel="noreferrer noopener">mit maschinenlesbaren Copyright- und Lizenzangaben versehen</a> sein.</strong></li>
</ol>
<p>Nochmals: Das ist wichtig. So lässt sich jede einzelne Datei im Repository sofort rechtlich einordnen – sei es durch ein Audit, beim Paketieren, durch Mitwirkende oder Compliance-Teams. Es braucht keine Vermutungen, keine Querverweise, kein „vielleicht ist das MIT, weil der Rest der Projekts ja auch MIT ist“. Alles ist <strong>klar</strong>, <strong>standardisiert</strong> und mit <a href="https://reuse.readthedocs.io/en/stable/man/reuse-lint.html" target="_blank" rel="noreferrer noopener"><code>reuse lint</code></a> auch <strong>automatisiert prüfbar</strong> – ideal für Projekte mit <a href="https://en.wikipedia.org/wiki/Continuous_integration" target="_blank" rel="noreferrer noopener">Continuous Integration</a>.</p>
<p>Nach dem REUSE-Standard können Lizenz- und Copyright-Informationen auf verschiedene Weise hinterlegt werden:</p>
<ul>
<li><strong><a href="https://reuse.software/spec-3.3/#comment-headers" target="_blank" rel="noreferrer noopener">Kommentarzeilen im Quellcode</a></strong> oder alternativ <strong><code>&lt;dateiname&gt;.license</code></strong> für Dateien, die keine Kommentare unterstützen.</li>
<li><strong><a href="https://reuse.software/spec-3.3/#reusetoml" target="_blank" rel="noreferrer noopener"><code>REUSE.toml</code></a></strong> – eine zentrale, maschinenlesbare Datei zur Beschreibung ganzer Dateien oder Verzeichnisse. Besonders hilfreich ist sie, um:
<ul>
<li>eine Standardlizenz für das gesamte Projekt festzulegen.</li>
<li>abweichende Lizenzen für Drittanbieter-Komponenten in Unterverzeichnissen zu definieren.</li>
</ul>
</li>
</ul>
<p>Die klar definierte <a href="https://reuse.software/spec/" target="_blank" rel="noreferrer noopener">REUSE-Spezifikation</a> wird dabei durch und ein schlankes <a href="https://github.com/fsfe/reuse-tool" target="_blank" rel="noreferrer noopener"><code>reuse</code>-Kommandozeilentool</a> unterstützt. Damit lässt sich der Standard mit weniger Aufwand einführen, auch wenn alles notfalls von Hand machbar ist. <a href="https://reuse.software/comparison/" target="_blank" rel="noreferrer noopener">REUSE fügt sich dabei gut ins bestehende Open-Source-Ökosystem ein</a>, unter anderem durch die Verwendung von <a href="https://spdx.dev/" target="_blank" rel="noreferrer noopener">Software Package Data Exchange (SPDX)</a> und <a href="https://github.com/david-a-wheeler/spdx-tutorial/blob/master/README.md#spdx-license-identifiers" target="_blank" rel="noreferrer noopener">SPDX-Lizenzkennungen</a>.</p>
<h2 id="verwendung" class="scroll-mt-20 md:scroll-mt-24 wrap-break-word group/heading "><a href="#verwendung" class="group-hover/heading:after:content-['#'] group-hover/heading:after:ml-1.5 group-hover/heading:after:text-content-400" id="verwendung">Verwendung</a></h2><p>Das <a href="https://reuse.software/tutorial/" target="_blank" rel="noreferrer noopener">offizielle REUSE-Tutorial</a> und der <a href="https://github.com/fsfe/reuse-tool#usage" target="_blank" rel="noreferrer noopener">Abschnitt zur Tool-Nutzung</a> sind wirklich gut gemacht – daher folgt hier nur ein kompakter Schnellstart:</p>
<ol>
<li>Die verwendeten Lizenzen ins Verzeichnis <code>LICENSES/</code> legen.</li>
<li>Einen Kommentar-Header in jede Datei einfügen, z. B.:
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">SPDX-License-Identifier: GPL-3.0-or-later
</span></span><span class="line"><span class="cl">SPDX-FileCopyrightText: $YEAR $NAME
</span></span></code></pre></div>Das Format ist dabei recht flexibel, solange die Zeilen mit <code>SPDX-License-Identifier:</code> und/oder <code>SPDX-FileCopyrightText:</code> beginnen. Es muss nicht an erster Stelle stehen und auch Leerzeilen sind möglich. Wichtig ist dennoch, dass es weit oben in einer Datei / in einem Header-Kommentar steht. Technisch ist es nicht notwendig, aber nur so kann ein Mensch diese wichtige Information direkt nach dem Öffnen einer Datei sehen.</li>
</ol>
<h3 id="kommentar-header" class="scroll-mt-20 md:scroll-mt-24 wrap-break-word group/heading "><a href="#kommentar-header" class="group-hover/heading:after:content-['#'] group-hover/heading:after:ml-1.5 group-hover/heading:after:text-content-400" id="kommentar-header">Kommentar-Header</a></h3><p><a href="https://github.com/fsfe/reuse-docs/issues/117#issuecomment-1306963966" target="_blank" rel="noreferrer noopener">REUSE</a> und viele Organisationen wie etwa <a href="https://www.gnu.org/licenses/gpl-howto.html.en#why-license-notices" target="_blank" rel="noreferrer noopener">GNU</a> empfehlen, Lizenz-Header direkt in den Quellcode zu schreiben. Das hilft, Missverständnisse und Fehler zu vermeiden. Auch wenn eine zentrale <code>REUSE.toml</code>-Datei vorhanden ist, kommt es vor, dass einzelne Dateien in andere Projekte kopiert oder geforkt werden – und dort fehlt dann womöglich der Kontext oder die Lizenzdokumentation.</p>
<p>Ohne einen Lizenzhinweisdirekt in der Datei kann beim Weiterverwenden daher schnell die rechtliche Zuordnung verloren gehen. Ein klarer Kommentar schützt davor, selbst in Projekten ohne perfektes Lizenzmanagement.</p>
<p>Beispiel für einen einfachen Lizenz-Header:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl"># SPDX-FileCopyrightText: Andreas Haerter, ACME Corp (https://example.com)
</span></span><span class="line"><span class="cl"># SPDX-License-Identifier: CC-BY-SA-4.0
</span></span></code></pre></div><p>Beispiel mit <a href="https://reuse.software/faq/#multi-licensing" target="_blank" rel="noreferrer noopener">Dual-Lizenzierung</a>:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">/*
</span></span><span class="line"><span class="cl">  SPDX-FileCopyrightText: Jane Doe &lt;j.doe@example.com&gt;
</span></span><span class="line"><span class="cl">  SPDX-License-Identifier: Apache-2.0 OR LGPL-2.1-or-later
</span></span><span class="line"><span class="cl">*/
</span></span></code></pre></div><h3 id="reusetoml" class="scroll-mt-20 md:scroll-mt-24 wrap-break-word group/heading "><a href="#reusetoml" class="group-hover/heading:after:content-['#'] group-hover/heading:after:ml-1.5 group-hover/heading:after:text-content-400" id="reusetoml"><code>REUSE.toml</code></a></h3><p>Man könnte auch versucht sein, auf das Einfügen von Kommentar-Headern in jeder einzelnen Datei zu verzichten und stattdessen nur eine zentrale <code>REUSE.toml</code> zu verwenden – das ist legitim und <strong>bleibt REUSE-konform</strong>. Besonders bei vielen Dateien oder bei Drittanbieter-Code kann das deutlich praktischer sein, da man diese eventuell nicht verändern und stets als Kopie der originalen Quelle im Projekt haben will.</p>
<p>Mit einer <code>REUSE.toml</code> lassen sich auch <a href="https://reuse.software/faq/#bulk-license" target="_blank" rel="noreferrer noopener">ganze Verzeichnisse in einem Schritt lizenzieren</a>. Das Format der Datei ist <a href="https://reuse.software/spec-3.3/#reusetoml" target="_blank" rel="noreferrer noopener">klar definiert</a>, aber ein einfaches Beispiel zeigt am besten, wie es funktioniert:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-toml" data-lang="toml"><span class="line"><span class="cl"><span class="nx">version</span> <span class="p">=</span> <span class="mi">1</span>
</span></span><span class="line"><span class="cl"><span class="nx">SPDX-PackageName</span> <span class="p">=</span> <span class="s2">&#34;Foo bar project&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nx">SPDX-PackageDownloadLocation</span> <span class="p">=</span> <span class="s2">&#34;https://git.example.com/foobar&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nx">SPDX-PackageSupplier</span> <span class="p">=</span> <span class="s2">&#34;ACME Inc. (https://example.com)&#34;</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="p">[[</span><span class="nx">annotations</span><span class="p">]]</span>
</span></span><span class="line"><span class="cl"><span class="nx">path</span> <span class="p">=</span> <span class="s2">&#34;**&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nx">precedence</span> <span class="p">=</span> <span class="s2">&#34;closest&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nx">SPDX-FileCopyrightText</span> <span class="p">=</span> <span class="s2">&#34;ACME Inc.&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nx">SPDX-License-Identifier</span> <span class="p">=</span> <span class="s2">&#34;LGPL-2.1-or-later&#34;</span>
</span></span></code></pre></div><p>Damit wird das gesamte Projekt unter die angegebene Lizenz gestellt. Ausnahmen oder spezielle Regeln für bestimmte Dateien können natürlich ebenfalls über einzelne annotations ergänzt werden.</p>
<h3 id="überprüfung" class="scroll-mt-20 md:scroll-mt-24 wrap-break-word group/heading "><a href="#%c3%bcberpr%c3%bcfung" class="group-hover/heading:after:content-['#'] group-hover/heading:after:ml-1.5 group-hover/heading:after:text-content-400" id="überprüfung">Überprüfung</a></h3><p>Sobald alle Lizenzinformationen ergänzt wurden, lässt sich das Projekt ganz einfach mit <a href="https://reuse.readthedocs.io/en/stable/man/reuse-lint.html" target="_blank" rel="noreferrer noopener"><code>reuse lint</code></a> überprüfen:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">$ reuse lint
</span></span><span class="line"><span class="cl"><span class="o">[</span>...<span class="o">]</span>
</span></span><span class="line"><span class="cl">Congratulations! Your project is compliant with version 3.4 of the REUSE Specification :-<span class="o">)</span>
</span></span></code></pre></div><p>So bekommt man schnell Feedback, ob alles korrekt eingebunden wurde, ideal für automatisierte Tests oder <a href="https://en.wikipedia.org/wiki/Continuous_integration" target="_blank" rel="noreferrer noopener">Continuous Integration</a>-Workflows.</p>
<h2 id="demo" class="scroll-mt-20 md:scroll-mt-24 wrap-break-word group/heading "><a href="#demo" class="group-hover/heading:after:content-['#'] group-hover/heading:after:ml-1.5 group-hover/heading:after:text-content-400" id="demo">Demo</a></h2><p>Die FSFE erstellte einen kleinen Screencast<sup id="fnref:2"><a href="#fn:2" class="footnote-ref" role="doc-noteref">2</a></sup>, der dem <a href="https://reuse.software/tutorial" target="_blank" rel="noreferrer noopener">Tutorial</a> folgt und das <a href="https://github.com/fsfe/reuse-example/" target="_blank" rel="noreferrer noopener">REUSE-Beispiel-Repository</a> konform macht:</p>
<figure><img class="mx-auto my-0 rounded-xs" alt="REUSE-Tutorial: Screencast" src="./reuse-tool.gif" loading="lazy"></figure><h2 id="tipps-und-tricks" class="scroll-mt-20 md:scroll-mt-24 wrap-break-word group/heading "><a href="#tipps-und-tricks" class="group-hover/heading:after:content-['#'] group-hover/heading:after:ml-1.5 group-hover/heading:after:text-content-400" id="tipps-und-tricks">Tipps und Tricks</a></h2><h3 id="benötigtes-vokabular-beim-lernen-oder-lehren" class="scroll-mt-20 md:scroll-mt-24 wrap-break-word group/heading "><a href="#ben%c3%b6tigtes-vokabular-beim-lernen-oder-lehren" class="group-hover/heading:after:content-['#'] group-hover/heading:after:ml-1.5 group-hover/heading:after:text-content-400" id="benötigtes-vokabular-beim-lernen-oder-lehren">Benötigtes Vokabular beim Lernen oder Lehren</a></h3><p>Wer sich mit Lizenzierung und REUSE beschäftigt, egal ob beim Einstieg oder beim Erklären, stößt schnell auf Begriffe, die hilfreich (oder sogar notwendig) für das Verständnis sind:</p>
<ul>
<li><strong><a href="https://spdx.dev/" target="_blank" rel="noreferrer noopener">Software Package Data Exchange (SPDX)</a> und <a href="https://github.com/david-a-wheeler/spdx-tutorial/blob/master/README.md#spdx-license-identifiers" target="_blank" rel="noreferrer noopener">SPDX-Lizenz-Identifikatoren</a>:</strong> Ein Standard zur einheitlichen Bezeichnung von Lizenzen mit kurzen, konsistenten Kürzeln (wie <code>MIT</code> oder <code>GPL-3.0-only</code>). Das vereinfacht die automatische Auswertung und Dokumentation von Lizenzinformationen.</li>
<li><strong><a href="https://about.gitlab.com/blog/2022/10/25/the-ultimate-guide-to-sboms/#what-is-an-sbom%3F" target="_blank" rel="noreferrer noopener">Software Bill of Materials (SBOM)</a>:</strong> Eine strukturierte Auflistung aller Software-Komponenten und deren Lizenzen in einem Projekt. Hilft bei Transparenz, Sicherheit und rechtlicher Nachvollziehbarkeit.</li>
<li><strong><a href="https://en.wikipedia.org/wiki/Copyleft" target="_blank" rel="noreferrer noopener">Copyleft</a> (Lizenztyp):</strong> Ein Ansatz, der sicherstellt, dass abgeleitete Werke unter derselben Lizenz weitergegeben werden müssen. So bleiben Nutzungsfreiheiten erhalten. Ein bekanntes Beispiel ist die GPL.</li>
<li><strong>Permissive (Lizenztyp):</strong> Eine eher freizügige Lizenz, die eine Wiederverwendung des Codes mit nur wenigen Bedingungen erlaubt – auch in proprietären Projekten. Typische Beispiele sind MIT, BSD und Apache 2.0.</li>
<li><strong>TOML:</strong> Ein <a href="https://toml.io/en/v1.0.0" target="_blank" rel="noreferrer noopener">Dateiformat für Konfigurationen</a>. Die Datei <code>REUSE.toml</code> verwendet dieses Format, um Lizenzinformationen anhand von Pfadmustern zu beschreiben.</li>
<li><strong>DEP5:</strong> Eine ältere, maschinenlesbare <a href="https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/" target="_blank" rel="noreferrer noopener">Debian-Formatvorlage</a> zur Lizenzdokumentation. <a href="https://reuse.software/faq/#dep5-history" target="_blank" rel="noreferrer noopener">Früher genutzt, bevor <code>REUSE.toml</code> eingeführt wurde</a>. DEP5 wird noch unterstützt, gilt aber als veraltet – wichtig zu wissen, falls man auf ältere Tutorials oder Tools trifft.</li>
</ul>
<h3 id="mein-persönliches-killer-feature-zusätzliche-kommentare-in-reusetoml" class="scroll-mt-20 md:scroll-mt-24 wrap-break-word group/heading "><a href="#mein-pers%c3%b6nliches-killer-feature-zus%c3%a4tzliche-kommentare-in-reusetoml" class="group-hover/heading:after:content-['#'] group-hover/heading:after:ml-1.5 group-hover/heading:after:text-content-400" id="mein-persönliches-killer-feature-zusätzliche-kommentare-in-reusetoml">Mein persönliches Killer-Feature: Zusätzliche Kommentare in <code>REUSE.toml</code></a></h3><p>Es mag nach einer Kleinigkeit klingen, aber für mich war es immer umständlich, die ursprünglichen Download-URLs und andere typische Informationen zu Drittanbieter-Dateien im Blick zu behalten (etwa „dieses kleine Icon, das ich mir da kopiert habe“). Aus meiner Sicht ist die <code>REUSE.toml</code>-Datei der ideale Ort, um solche Zusatzinformationen mit Hilfe von <code>SPDX-FileComment</code> abzulegen. So bleibt das Repository übersichtlich, und auch die Endbenutzer-Dokumentation wird nicht mit für den End-User unnötige Detauls überladen.</p>
<p>Gibt es einmal ein Beispiel dafür, wird das Pflegen solcher Quellvermerke und Hinweise meiner Erfahrung nach schnell zur guten Praxis – selbst in Teams, die ansonsten wenig formale Prozesse haben:</p>
<p><strong>Beispiel 1: <a href="https://github.com/foundata/chocolatey-usewindow.extension/blob/78f22260526a319e83e62456922bb482564f1e41/REUSE.toml#L22-L34" target="_blank" rel="noreferrer noopener"><code>REUSE.toml</code> mit Abschnitten, die die ursprünglichen Download-URLs tracken oder Notizen hinzufügen</a></strong></p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-toml" data-lang="toml"><span class="line"><span class="cl"><span class="p">[...]</span>
</span></span><span class="line"><span class="cl"><span class="p">[[</span><span class="nx">annotations</span><span class="p">]]</span>
</span></span><span class="line"><span class="cl"><span class="nx">path</span> <span class="p">=</span> <span class="s2">&#34;assets/images/window.svg&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nx">precedence</span> <span class="p">=</span> <span class="s2">&#34;closest&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nx">SPDX-FileCopyrightText</span> <span class="p">=</span> <span class="s2">&#34;2022 Refactoring UI Inc.&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nx">SPDX-License-Identifier</span> <span class="p">=</span> <span class="s2">&#34;MIT&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nx">SPDX-FileComment</span> <span class="p">=</span> <span class="s2">&#34;https://github.com/tailwindlabs/heroicons/blob/master/optimized/24/outline/window.svg&#34;</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="p">[[</span><span class="nx">annotations</span><span class="p">]]</span>
</span></span><span class="line"><span class="cl"><span class="nx">path</span> <span class="p">=</span> <span class="p">[</span><span class="s2">&#34;extensions/Find-WindowHandle.ps1&#34;</span><span class="p">,</span> <span class="s2">&#34;extensions/Helper.ps1&#34;</span><span class="p">]</span>
</span></span><span class="line"><span class="cl"><span class="nx">precedence</span> <span class="p">=</span> <span class="s2">&#34;closest&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nx">SPDX-FileCopyrightText</span> <span class="p">=</span> <span class="s2">&#34;2018 Grégoire Geis (https://github.com/71/Focus-Window/)&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nx">SPDX-License-Identifier</span> <span class="p">=</span> <span class="s2">&#34;MIT&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nx">SPDX-FileComment</span> <span class="p">=</span> <span class="s2">&#34;Slightly adapted for this project by foundata GmbH (https://foundata.com)&#34;</span>
</span></span><span class="line"><span class="cl"><span class="p">[...]</span>
</span></span></code></pre></div><p><strong>Beispiel 2:</strong> Die <a href="https://github.com/SAP/openui5/blob/7ff18ab1ded47570228b5fc6c3da1ad135d6bc3e/REUSE.toml#L539-L561" target="_blank" rel="noreferrer noopener">REUSE.toml von SAP/openui5</a>, die Dateimuster und Kommentare verwendet, um einzelne Komponenten und Dateien zu tracken, die von anderen Projekten kopiert wurden:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-toml" data-lang="toml"><span class="line"><span class="cl"><span class="p">[...]</span>
</span></span><span class="line"><span class="cl"><span class="p">[[</span><span class="nx">annotations</span><span class="p">]]</span>
</span></span><span class="line"><span class="cl"><span class="nx">path</span> <span class="p">=</span> <span class="s2">&#34;src/sap.ui.integration/test/sap/ui/integration/demokit/cardExplorer/webapp/thirdparty/CfWorkerJsonSchemaValidator.js&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nx">precedence</span> <span class="p">=</span> <span class="s2">&#34;aggregate&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nx">SPDX-FileCopyrightText</span> <span class="p">=</span> <span class="s2">&#34;2020 Jeremy Danyow&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nx">SPDX-License-Identifier</span> <span class="p">=</span> <span class="s2">&#34;MIT&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nx">SPDX-FileComment</span> <span class="p">=</span> <span class="s2">&#34;these files belong to: @cfworker/json-schema&#34;</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c"># Library: sap.ui.webc.common:</span>
</span></span><span class="line"><span class="cl"><span class="p">[[</span><span class="nx">annotations</span><span class="p">]]</span>
</span></span><span class="line"><span class="cl"><span class="nx">path</span> <span class="p">=</span> <span class="p">[</span>
</span></span><span class="line"><span class="cl">    <span class="s2">&#34;src/sap.ui.webc.common/src/sap/ui/webc/common/thirdparty/base/**&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="s2">&#34;src/sap.ui.webc.common/src/sap/ui/webc/common/thirdparty/theming/**&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="s2">&#34;src/sap.ui.webc.common/src/sap/ui/webc/common/thirdparty/localization/**&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="s2">&#34;src/sap.ui.webc.common/src/sap/ui/webc/common/thirdparty/icons/**&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="s2">&#34;src/sap.ui.webc.common/src/sap/ui/webc/common/thirdparty/icons-tnt/**&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="s2">&#34;src/sap.ui.webc.common/src/sap/ui/webc/common/thirdparty/icons-business-suite/**&#34;</span>
</span></span><span class="line"><span class="cl"><span class="p">]</span>
</span></span><span class="line"><span class="cl"><span class="nx">precedence</span> <span class="p">=</span> <span class="s2">&#34;aggregate&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nx">SPDX-FileCopyrightText</span> <span class="p">=</span> <span class="s2">&#34;SAP&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nx">SPDX-License-Identifier</span> <span class="p">=</span> <span class="s2">&#34;Apache-2.0&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nx">SPDX-FileComment</span> <span class="p">=</span> <span class="s2">&#34;these files belong to: UI5 Web Components&#34;</span>
</span></span><span class="line"><span class="cl"><span class="p">[...]</span>
</span></span></code></pre></div><h3 id="readme-abschnitts-template-über-lizenzierung-und-copyright-für-menschen" class="scroll-mt-20 md:scroll-mt-24 wrap-break-word group/heading "><a href="#readme-abschnitts-template-%c3%bcber-lizenzierung-und-copyright-f%c3%bcr-menschen" class="group-hover/heading:after:content-['#'] group-hover/heading:after:ml-1.5 group-hover/heading:after:text-content-400" id="readme-abschnitts-template-über-lizenzierung-und-copyright-für-menschen"><code>README</code>-Abschnitts-Template über Lizenzierung und Copyright für Menschen</a></h3><p>Aus meiner Sicht ist es hilfreich, einen generischen, leicht anpassbaren Textbaustein für die <code>README.md</code> oder eine vergleichbare zentrale Datei zu haben. Also dem Ort, den Menschen in der Regel leicht finden und verstehen können. Ich habe dafür eine Textvorlage vorbereitet und im Einsatz, die die bereits vorhandenen REUSE-Informationen in einem Repository nutzt und auf dieser verweist. So bleibt der Abschnitt im Wesentlichen wartungsfrei und ist trotzdem nützlich:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">## Licensing, copyright
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">&lt;!--REUSE-IgnoreStart--&gt;
</span></span><span class="line"><span class="cl">Copyright (c) YYYY, ACME Inc.
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">This project is licensed under the GNU General Public License v3.0 or later (SPDX-License-Identifier: `GPL-3.0-or-later`), see [`LICENSES/GPL-3.0-or-later.txt`](LICENSES/GPL-3.0-or-later.txt) for the full text.
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">The [`REUSE.toml`](REUSE.toml) file provides detailed licensing and copyright information in a human- and machine-readable format. This includes parts that may be subject to different licensing or usage terms, such as third-party components. The repository conforms to the [REUSE specification](https://reuse.software/spec/). You can use [`reuse spdx`](https://reuse.readthedocs.io/en/latest/readme.html#cli) to create a [SPDX software bill of materials (SBOM)](https://en.wikipedia.org/wiki/Software_Package_Data_Exchange).
</span></span><span class="line"><span class="cl">&lt;!--REUSE-IgnoreEnd--&gt;
</span></span></code></pre></div><p><code>YYYY</code> sollte durch das Jahr der ersten Veröffentlichung oder des <a href="https://reuse.readthedocs.io/en/latest/scripts.html#starting-point-of-the-codebase" target="_blank" rel="noreferrer noopener">Code-Beitrags</a> ersetzt werden. Auch Lizenzname, Dateinamen und Links lassen sich je nach Projektbedarf anpassen. Die eingefügten HTML-Kommentare verhindern dabei REUSE-Linting-Fehler – etwa dann, wenn mehrere Lizenzen im Text genannt werden.</p>
<p>Die Formulierung verweist bereits auf die zentrale Lizenzdatei (<code>REUSE.toml</code>) und macht deutlich, dass einzelne Teile des Projekts unter anderen Lizenzbedingungen stehen können als der Hauptteil. Falls das nicht ausreicht, lässt sich der Satz zur Hauptlizenz natürlich gezielt anpassen – um die grundlegenden Lizenzierungsregeln hervorzuheben, ohne jedes Detail an mehreren Stellen pflegen zu müssen. Beispiele (nach Bedarf anpassen):</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">The project is dual-licensed under the
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">* GNU General Public License v3.0 or later (SPDX-License-Identifier: `GPL-3.0-or-later`), see [`LICENSES/GPL-3.0-or-later.txt`](./LICENSES/GPL-3.0-or-later.txt) for the full text.
</span></span><span class="line"><span class="cl">* Apache License 2.0 (SPDX-License-Identifier: `Apache-2.0`), see [`LICENSES/Apache-2.0.txt`](./LICENSES/Apache-2.0.txt) for the full text.
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">[... das übliche Template folgt ...]
</span></span></code></pre></div><h3 id="lizenzerkennung-auf-github-oder-gitlab" class="scroll-mt-20 md:scroll-mt-24 wrap-break-word group/heading "><a href="#lizenzerkennung-auf-github-oder-gitlab" class="group-hover/heading:after:content-['#'] group-hover/heading:after:ml-1.5 group-hover/heading:after:text-content-400" id="lizenzerkennung-auf-github-oder-gitlab">Lizenzerkennung auf Github oder Gitlab</a></h3><p>Beim Einsatz von REUSE fällt auf, dass Plattformen wie GitHub und GitLab nicht mehr in der Lage sind, die Lizenz eines Projekts automatisch korrekt zu erkennen.</p>
<p>Auch wenn automatische Lizenzdetektion (wie weiter oben beschrieben) grundsätzlich fehleranfällig und konzeptionell problematisch ist, bleibt nachvollziehbar, warum man trotzdem ein maschinenlesbares Ergebnis möchte. Schließlich wird bei Suchen oder in Projektübersichten oft nach Lizenzen gefiltert und fehlerhafte oder fehlende Metadaten können hier zu Nachteilen in der Auffinbarkeit führen, vor allem wenn suchende Benutzer wenig Erfahrung mit Lizenzierung haben.</p>
<p>Wenn solche automatischen Erkennungsmechanismen daher dennoch bedient werden sollen, kann man einfach die „freiheitsfreundlichste“ Lizenz (bzw. die Hauptlizenz des Projekts) <em>zusätzlich</em> in einer <code>LICENSE</code>- oder <code>COPYING</code>-Datei im Wurzelverzeichnis ablegen. Also <strong>ausschließlich zur Nutzung via Suchindizes und GitHub</strong>, unabhängig von der eigentlichen REUSE-Struktur:</p>
<ol>
<li><a href="https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository#detecting-a-license" target="_blank" rel="noreferrer noopener">GitHub verwendet Licensee</a>, um die Projektlizenz zu erkennen. <a href="https://github.com/licensee/licensee/issues/490" target="_blank" rel="noreferrer noopener">Licensee unterstützt die REUSE-Spezifikation jedoch nicht</a>.</li>
<li>Ein möglicher Workaround besteht darin, eine zusätzliche <code>LICENSE</code>- oder <code>COPYING</code>-Datei im Projekt-Root zu platzieren. Das ist laut <a href="https://reuse.software/faq/#tradition" target="_blank" rel="noreferrer noopener">REUSE-FAQ</a> auch vollkommen zulässig. Diese Dateien werden vom <a href="https://github.com/fsfe/reuse-tool/blob/0e111c423ccf927f73a9ae7b39d3f88268b015b9/src/reuse/__init__.py#L66-L77" target="_blank" rel="noreferrer noopener"><code>reuse</code>-Tool explizit ignoriert</a> und benötigen daher weder Kommentar-Header noch <code>.license</code>-Begleitdateien.</li>
<li>Wer eine Duplizierung des Lizenztextes vermeiden möchte, sollte beachten: <code>reuse lint</code> folgt Symlinks, ein symbolischer Link von <code>LICENSES/&lt;lizenz&gt;.txt</code> zur Root-Datei funktioniert also. Umgekehrt bringt ein deutlich sinnigerer Link von <code>LICENSE</code> auf <code>LICENSES/&lt;lizenz&gt;.txt</code> nichts, da <a href="https://github.com/licensee/licensee/pull/42" target="_blank" rel="noreferrer noopener">Licensee leider auch keine Symlinks unterstützt</a>. Daher empfehle ich eine echte <em>Kopie</em> der Lizenzdatei im Wurzelverzeichnis als aktuell zuverlässigsten Weg, um GitHubs Probleme bei der Lizenzanzeige zu umgehen.</li>
</ol>
<p>Aus meiner Sicht sollte dieser Workaround <em>nur</em> dann verwendet werden, wenn das gesamte Projekt unter einer einzigen Lizenz steht. Das vermeidet Missverständnisse und Konflikte – und in allen anderen Fällen lohnt es sich, GitHubs Einschränkungen einfach zu ignorieren.</p>
<h3 id="jahreszahlen-und--angaben-in-copyright-texten" class="scroll-mt-20 md:scroll-mt-24 wrap-break-word group/heading "><a href="#jahreszahlen-und--angaben-in-copyright-texten" class="group-hover/heading:after:content-['#'] group-hover/heading:after:ml-1.5 group-hover/heading:after:text-content-400" id="jahreszahlen-und--angaben-in-copyright-texten">Jahreszahlen und -angaben in Copyright-Texten</a></h3><p>Das ist zwar kein zentrales REUSE-Thema, aber mir ist aufgefallen, dass Jahreszahlen in Copyright-Angaben sehr oft Diskussionsthema werden, wenn REUSE in einem Projekt eingeführt wird. <a href="https://en.wikipedia.org/wiki/IANAL" target="_blank" rel="noreferrer noopener">IANAL</a>, aber rechtlich gesehen ist es in der Regel nicht <em>erforderlich</em>, das Copyright-Jahr regelmäßig zu aktualisieren oder überhaupt anzugehen (<a href="https://www.copyright.gov/circs/circ03.pdf" target="_blank" rel="noreferrer noopener">auch nicht aus US-Sicht</a>). Entscheidend ist eher die leichte Nachvollziehbarkeit des Jahrs der ersten Veröffentlichung oder des ersten Code-Beitrags.</p>
<p>Trotzdem ist es gängige Praxis, die Jahresangabe zu aktualisieren. Ich finde dies auch persönlich sinnvoll, da es gegenüber Dritten signalisiert, dass das Projekt aktiv gepflegt wird und auch die Kontaktdaten wahrscheinlich noch aktuell sind. Ich empfehle zur Aktualisierung die folgende pragmatische Vorgehensweise, die sich auch für andere Projekte gut eignet:</p>
<ul>
<li>Die Jahresangabe zwar stets aktuell halten, aber <strong>nur an zentraler Stelle</strong> wie in der <code>README.md</code>. So bleibt der Aufwand überschaubar.</li>
<li>Mehrere Jahre einfach durch Kommas getrennt auflisten oder bei aufeinanderfolgenden Jahren eine Zeitspanne angeben (<code>JahrX–JahrY</code>).</li>
<li>Beispiel:
<ul>
<li>Die erste Veröffentlichung und Copyright-Erklärung war <code>Copyright (c) 2013</code>.</li>
<li>Es gab Veröffentlichungen oder Updates in mehreren, aber nicht allen Jahren danach:
<ul>
<li>2023 → <code>Copyright (c) 2013, 2015, 2018-2021, 2023</code>.</li>
<li>2015 → <code>Copyright (c) 2013, 2015</code>.</li>
<li>2018 → <code>Copyright (c) 2013, 2015, 2018</code>.</li>
<li>2019 → <code>Copyright (c) 2013, 2015, 2018, 2019</code>.</li>
<li>2020 → <code>Copyright (c) 2013, 2015, 2018-2020</code>.</li>
<li>2021 → <code>Copyright (c) 2013, 2015, 2018-2021</code>.</li>
</ul>
</li>
</ul>
</li>
</ul>
<h2 id="fazit" class="scroll-mt-20 md:scroll-mt-24 wrap-break-word group/heading "><a href="#fazit" class="group-hover/heading:after:content-['#'] group-hover/heading:after:ml-1.5 group-hover/heading:after:text-content-400" id="fazit">Fazit</a></h2><p>Lizenzklarheit ist eine grundlegende Voraussetzung für nachhaltige Zusammenarbeit im Open-Source-Bereich. Die REUSE-Spezifikation ersetzt dabei weder rechtliche Rahmenbedingungen noch die Entscheidung für eine bestimmte Lizenz. Sie sorgt aber dafür, dass das oft chaotische Lizenzmanagement <strong>vorhersehbar</strong>, <strong>klar</strong> und <strong>automatisierbar</strong> wird.</p>
<p>Gerade bei bestehenden Codebases kann sich die Einführung von REUSE zunächst nach zusätzlichem Aufwand anfühlen. Doch sobald alles eingerichtet ist, zahlt sich dieser Schritt aus: Das Projekt wird leichter verständlich, einfacher wartbar, besser paketierbar und tatsächlich besser &hellip; <strong>wiederverwendbar</strong> (REUSE it  🙂). REUSE hilft dabei, die rechtliche Struktur eines Projekts so zu beschreiben, dass Menschen und Maschinen gleichermaßen damit arbeiten können. Und genau das ist enorm viel wert.</p>
<div class="footnotes" role="doc-endnotes">
<hr>
<ol>
<li id="fn:1">
<p>Die Nutzung des <code>LICENSES/</code>-Verzeichnisses wird auch von den <a href="https://github.com/coreinfrastructure/best-practices-badge/blob/main/docs/criteria.md#license_location" target="_blank" rel="noreferrer noopener">CII Best Practices</a> empfohlen und ist z. B. im <a href="https://github.com/torvalds/linux/tree/master/LICENSES" target="_blank" rel="noreferrer noopener">Linux-Kernel</a> umgesetzt.&#160;<a href="#fnref:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:2">
<p>Quelle: <a href="https://download.fsfe.org/videos/reuse/screencasts/reuse-tool.gif" target="_blank" rel="noreferrer noopener">https://download.fsfe.org/videos/reuse/screencasts/reuse-tool.gif</a>, Copyright © 2001-2025 <a href="https://fsfe.org/" target="_blank" rel="noreferrer noopener">Free Software Foundation Europe</a>, Verbatim copying and distribution is permitted in any medium, provided this notice is preserved.&#160;<a href="#fnref:2" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
</ol>
</div>
]]></content><category scheme="taxonomy:tags" term="open-source" label="open-source"/><category scheme="taxonomy:tags" term="license" label="license"/><category scheme="taxonomy:tags" term="toolbox" label="toolbox"/><category scheme="taxonomy:tags" term="fsfe" label="fsfe"/><category scheme="taxonomy:tags" term="reuse" label="reuse"/><category scheme="taxonomy:tags" term="compliance" label="compliance"/><category scheme="taxonomy:tags" term="spdx" label="spdx"/></entry></feed>