Lolly
App öffnen

Kreativrechte, Credits und was Ihnen bleibt

Sie sollten gute Arbeit anderer Menschen nutzen können, ohne zum Lizenzexperten zu werden und ohne stillschweigend die Menschen zu übergehen, die sie geschaffen haben. Deshalb hält Lolly die Quelle jedes Werks fest, das es einbindet, liest die für dieses Werk erfasste Lizenz, ermittelt, was diese Lizenz von der Nutzung verlangt, die Sie tatsächlich vornehmen, erledigt den Teil, den ein Programm erledigen kann, und benennt den Teil, den nur Sie erledigen können.

Nichts davon ist Rechtsberatung, und nichts davon ist ein Urteil über Ihr Projekt. Lolly erfasst Fakten, wendet einen kleinen Satz von Regeln an, die aus den eigenen Rechtstexten der Lizenzen gelesen wurden, und zeigt seinen Rechenweg. Eine Lizenz mit Bedingungen ist eine normale, zulässige Wahl. Sie wird nie als beschädigtes Asset dargestellt.

Drei getrennt gehaltene Fakten

"CC BY 4.0", "diese Nutzung braucht einen Credit" und "der Credit ist in der Datei, die Sie gerade heruntergeladen haben" sind drei unterschiedliche Aussagen, und Lolly hält sie auseinander:

Wo Sie dem zuerst begegnen

Die Emoji-Sets sind der Alltagsfall. Twemoji steht unter CC BY 4.0, daher exportiert eine Überschrift mit einem Emoji darin bereits mit Credit für die Grafik, und es bleibt nichts mehr für Sie zu tun. Beide OpenMoji-Sets stehen unter CC BY-SA 4.0, daher ist das Umfärben eines ihrer Glyphen mit einer Markenbehandlung eine Bearbeitung, und das Teilen dieser Bearbeitung verlangt von Ihnen, einmal eine kompatible Lizenz zu wählen. Die Wahl des Sets wird nie blockiert, und die Set-Steuerung nennt dort, wo Sie wählen, die Lizenz. Dieselben Regeln gelten für eine Katalog-Illustration, ein LUT, eine Schriftart und jedes andere erfasste Werk.

Die Begriffe, die Lolly verwendet

Ein Vokabular über den Exportbereich, Verify, die Kommandozeile und das maschinenlesbare Ergebnis hinweg.

Was Sie sehenWas es bedeutet
Quellen-Credits werden enthalten sein.Der Credit ist vorbereitet, und der Zustellweg kann ihn tragen. Es wurde noch nichts geschrieben, das ist also keine Erfolgsmeldung.
Credits in den Metadaten dieser Datei enthalten.Die zugestellten Bytes wurden zurückgelesen, das Credential wurde verifiziert, und jede erforderliche Quelle wurde darin gefunden.
Credits und Credentials befinden sich im Download-Paket.Der Credit reist als Begleitdatei neben der Ausgabedatei mit. Halten Sie beide zusammen, wenn Sie sie weitergeben.
Fügen Sie diesen Credit der Beitragsbeschreibung hinzu.Der gewählte Zustellweg trägt weder ein Credential noch einen lesbaren Credit, daher ist der Credit-Text zum Einfügen Ihre Aufgabe.
Wenn Sie diese Bearbeitung teilen, braucht sie eine kompatible Lizenz.Eine ShareAlike-Quelle wurde geändert, und das Ergebnis ist auf dem Weg zu etwas anderem als privater Nutzung. Die Wahl ist eine einzige Aktion, kein Dialog pro Platzierung.
Quelllizenz nicht erfasst.Für diese Quelle wurde nichts erfasst. Das ist eine zu schließende Lücke, kein Befund gegen die Arbeit.
Bedingungen erfasst, noch nicht ausgewertet.Die Kennung ist erkannt, und ihre Bedingungen sind aufgeführt, und keine Regel hier liest sie. Kein automatisches Bestehen, kein automatisches Verbot.
Zwei Lizenzangaben widersprechen sich.Zwei Datensätze nennen unterschiedliche Lizenzen, und nichts hat ausgewählt, welche Erlaubnis gilt.
Kein erforderlicher Credit unter der erfassten CC0-Widmung.Die Widmung verlangt nichts. Ein Credit aus Höflichkeit wird trotzdem angeboten.
Die Credits sind nicht in der zugestellten Datei.Ein Credit wurde versprochen, das Zurücklesen hat ihn nicht gefunden, und die Datei gehört weiterhin Ihnen. Exportieren Sie erneut, oder verwenden Sie den Credit-Text von Hand.

Lolly verwendet nicht "urheberrechtlich geprüft", "rechtlich unbedenklich", "vollständig freigegeben" oder "Rechte geklärt", und es gibt im gesamten Produkt kein einziges grünes Lizenz-Abzeichen. Diese Worte würden etwas behaupten, das kein Programm prüfen kann.

Die Lizenzen, die Lolly geprüft hat

Regelversion rights-rules-2026-09-13.2. Jede Regel unten wurde aus dem eigenen Rechtstext der jeweiligen Lizenz gelesen, und der Abschnitt, aus dem sie stammt, ist sowohl in engine/src/rights-profiles.ts als auch hier daneben angegeben. Eine Version und ein Port werden so gehalten, wie sie erfasst wurden: Eine Erklärung mit CC BY 3.0 behält ihre eigene Version, statt als 4.0 gemeldet zu werden, nur weil der Auswähler der App 4.0 bevorzugt.

LizenzWas sie von einer Nutzung verlangt, die Lolly vornehmen kannGelesen aus
CC BY 4.0Der Urheber, der Titel, der Copyright-Hinweis, der Name der Lizenz und ihr Link, der Link zur Quelle und ein Hinweis auf Änderungen, jeweils dann, wenn die Quelle es geliefert hat. Keine Nutzung ist ausgeschlossen, kommerzielle Nutzung eingeschlossen.Rechtstext, Abschnitte 2(a)(1) und 3(a)
CC BY-SA 4.0Derselbe Credit. Zusätzlich gilt: Wenn Sie eine Bearbeitung teilen, geht sie unter einer kompatiblen Lizenz hinaus: CC BY-SA 4.0, die Free Art License 1.3 oder GPL-3.0-or-later, was nur in eine Richtung funktioniert. Diese drei werden als Daten aus der Creative-Commons-Liste übernommen, nie namentlich abgeglichen.Rechtstext, Abschnitte 3(a) und 3(b); die Liste kompatibler Lizenzen
CC0 1.0Nichts. Die Widmung enthält keine Bedingung, daher bietet Lolly einen Credit aus Höflichkeit an und stellt ihn nie als erforderlich dar.Die Widmung, Abschnitte 2 und 3; die CC-FAQ zur Nennung von Credits
CC-PDDCNichts. Erfasst wird die Behauptung selbst und wer sie aufgestellt hat, denn eine Zertifizierung ist die Aussage einer Partei, kein Beweis.Die Widmung und Zertifizierung, Abschnitte
Apache License 2.0Die Hinweise aus der Quelle und der Zuschreibungstext der NOTICE-Datei reisen mit einer verteilten Arbeit mit. Eine Laufzeitnutzung verlangt nichts. Eine Lizenz, die einen Hinweistext verlangt, und eine Arbeit, die keinen trägt, wird als Lücke gemeldet.Apache License 2.0, Abschnitt 4, Bedingungen 1 bis 4
MITDie Copyright-Zeile und der Erlaubnisvermerk reisen mit Kopien und wesentlichen Teilen mit. Laufzeit- und Referenznutzungen verlangen nichts.MIT, die Klausel zum Erlaubnisvermerk
SIL OFL 1.1Text mit der Schriftart darzustellen, verlangt nichts vom Text. Das Weitergeben der Schriftdatei trägt die Lizenz, den Copyright-Hinweis und die Regel zum reservierten Namen mit sich.OFL 1.1, Bedingungen 2, 3 und 5; die OFL-FAQ zu Dokumenten

Erfasst, nicht ausgewertet

CC BY-NC, CC BY-ND sowie die Kombinationen NC-SA und NC-ND werden erkannt, ihre Bedingungen werden aufgeführt, und keine Regel hier liest sie aus. Sie melden licence.unknown mit einer Zeile, die die Bedingungen benennt. Ein kommerzieller Kontext lässt sich nicht an einem Preis oder einem Konto ablesen, und jeder kombinierte Text braucht eine eigene Prüfung, bevor eine Regel ihn berührt.

Drei weitere ehrliche Antworten, von denen keine eine Erlaubnis ist:

Fehlende Lizenzangaben werden nie als Beleg dafür gelesen, dass ein Werk frei weitergegeben werden darf.

Was Lolly für Sie tut

Was Ihnen bleibt

Auf der Kommandozeile

Ein Render gibt einen Rights:-Block auf der Standardfehlerausgabe aus, wenn die Auswertung einen erforderlichen Credit oder ein Problem ergibt. Er trägt den Status, eine Zeile pro Problem als code - summary, das Ergebnis des Zurücklesens der zugestellten Datei und den einzufügenden Credit-Text.

Rights: actions-required
  licence.adaptation-choice - If you share this adaptation, it needs a compatible licence.
  Credential intact. It records 1 source. The exporter recorded it; the source did not sign a credential of its own.
  Credits included in this file's metadata.
  "water wave (OpenMoji Color 17.0.0)" by Vanessa Boutzikoudi (OpenMoji), CC BY-SA 4.0 https://creativecommons.org/licenses/by-sa/4.0/, source https://raw.githubusercontent.com/hfg-gmuend/openmoji/f9fc506a3f913be9897ab0181d611d4c910a4104/color/svg/1F30A.svg, changes: recoloured.

Diese beiden Aussagen sind unabhängig voneinander, und genau das ist der Sinn, sie getrennt zu halten: Der Credit steckt in der Datei, und eine Lizenzentscheidung steht weiterhin aus, bevor die Datei geteilt wird. Die Datei wird so oder so geschrieben.

StatusBedeutungExit
readyNichts wartet auf eine Person.0
actions-requiredVor dem Teilen der Datei bleibt eine Entscheidung offen. Die Datei wird trotzdem geschrieben.4
use-not-coveredEine geprüfte Regel besagt, dass die Lizenz diese Nutzung nicht abdeckt.4
unknownDie einzigen Probleme sind Lücken: eine nicht erfasste Lizenz oder Bedingungen, die nicht ausgewertet werden.0
delivery-failedGesetzt durch eine Quittung, nie durch eine Auswertung: Ein versprochener Credit wurde in den zugestellten Bytes nicht gefunden. Der Exportbereich zeigt es an; die CLI meldet stattdessen dieselbe Tatsache in ihrer Zurücklesen-Zeile.wird nicht ausgegeben

Exit 4 ist der Code, den diese CLI bereits einer schützenden Prüfung gibt, die Nein gesagt hat. Er ist bewusst nicht 3, was "auf einem anderen Runner erneut versuchen" bedeutet, denn eine Lizenzentscheidung wird auf jedem Runner warten, den es gibt.

--rights=private erklärt, dass dieser Render an niemanden zugestellt wird. Der Block wird weiterhin ausgegeben, und der Credit steht weiterhin zum Kopieren bereit; was zurücktritt, ist die Bedingung, die beim Teilen greift, und es wird keine Zustellungsbehauptung erfasst. Es gibt kein Flag, um eine Bedingung zu ignorieren: --rights=ignore ist ein Nutzungsfehler.

Die Problemcodes sind stabil und maschinenlesbar, unabhängig vom übersetzten Text:

attribution.source-missing, attribution.delivery-missing, licence.adaptation-choice, licence.use-not-covered, licence.grant-conflict, licence.unknown, source.redistribution-unknown, credential.ingredient-missing.

Über MCP gibt lolly_verify eine rights-Nutzlast mit der Zusammenfassung, einer Zeile pro erfasster Quelle und den erklärten Grenzen zurück; ein browserfreies lolly_render gibt status, issues, credits, fingerprint und ein creditsInFile-Flag zurück, das durch erneutes Auslesen der Bytes gemessen wird.

Wo die Regeln liegen

Vier Engine-Module, alle pur: kein Netzwerk, keine Uhr, kein Dateisystem. Die Regeldaten sind versioniert und liegen im Repository, sie werden nie abgerufen.

ModulWas es enthält
engine/src/rights-profiles.tsDie Kennungstabelle, der minimale SPDX-Ausdrucksleser, die geprüften Profile mit ihren Zitaten und die eine Regel dafür, ob ein Credit einen Link ausgeben darf.
engine/src/rights-evaluate.tsKlassifizierung, Probleme, der Zuschreibungsplan und der Fingerabdruck. Deterministisch: dieselben Fakten in anderer Reihenfolge ergeben dieselbe Antwort.
engine/src/rights-attribution.tsLesbare Credits, die Begleitdateien, die Quellzutaten und die nach dem Schreiben gemessene Quittung.
engine/src/rights-report.tsEin verifiziertes Credential, zurückgelesen als die drei Fragen, die Verify stellt.

Die Erwartungsdateien in tests/fixtures/rights/ wurden aus den Lizenztexten verfasst, nicht aus der Ausgabe des Auswerters, und ihre README zitiert den Abschnitt hinter jeder Erwartung.

Was das hier nicht leistet

Klar ausgesprochen, denn eine unbenannte Lücke liest sich wie ein Versprechen.