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:
- Beleg ist das, was eine Quelle erklärt hat, erfasst so, wie es vorgefunden wurde, mit Angabe, wer es geäußert hat und wo es gelesen wurde. Ein späterer Import überschreibt nie einen früheren Datensatz.
- Pflicht ist das, was die geprüften Regeln aus diesem Beleg für eine Nutzung, einen Zustellweg und ein Publikum machen. Bedingungen für das Teilen bleiben bedingt, solange Sie privat arbeiten.
- Zustellung ist das, was die fertigen Bytes tatsächlich tragen, gemessen durch erneutes Auslesen. Lolly sagt nur dann, dass Credits enthalten sind, wenn ein Lesevorgang sie in der zugestellten Datei gefunden hat.
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 sehen | Was 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.
| Lizenz | Was sie von einer Nutzung verlangt, die Lolly vornehmen kann | Gelesen aus |
|---|---|---|
| CC BY 4.0 | Der 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.0 | Derselbe 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.0 | Nichts. 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-PDDC | Nichts. 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.0 | Die 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 |
| MIT | Die 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.1 | Text 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:
- Eine
LicenseRef--Kennung kommt als sie selbst zurück. Sie verweist auf eine gespeicherte Definition und ist niemals allein durch ihre Schreibweise proprietär. - Eine Erklärung, die nicht erkannt wird, kommt ungeparst zurück, mit dem Originaltext daneben aufbewahrt.
A OR Bist eine Wahl, die der Rechteinhaber angeboten hat, daher wird jede Alternative zurückgegeben, und keine wird ausgewählt.A AND Bist kumulativ, und diese Regeln erfassen das, statt zwei Profile gemeinsam zu lesen.
Fehlende Lizenzangaben werden nie als Beleg dafür gelesen, dass ein Werk frei weitergegeben werden darf.
Was Lolly für Sie tut
- Im Katalog. Das Datenblatt eines Werks zeigt seine Quelle und seinen Urheber, den kanonischen Lizenznamen mit der ursprünglichen Bezeichnung darunter, einen kopierbaren Credit, wo einer erfasst ist, und eine Zeile, die sagt, was die Nutzung verlangt. Eine Kachel nennt die Anforderung; sie behauptet nie, ein Export sei abgeschlossen.
- Im Exportbereich. Eine Kachel Quellen-Credits erscheint, sobald ein Render erfasste Arbeit verwendet. Sie zeigt den Status, den Credit-Text hinter Details, eine Schaltfläche Credit kopieren und eine eingebettete Kachel, wenn eine Entscheidung aussteht. Eine Entscheidung ist nie ein blockierender Dialog: Ein Download mit einer noch offenen Aktion läuft weiter, und private Arbeit bleibt nutzbar.
- In der Datei. Ein Export, der erfasste Arbeit platziert hat, schreibt pro eigenständigem Werk eine Quellzutat in die Content Credentials, gebunden an die Original-Bytes an ihrer öffentlichen Adresse, mit dem Urheber, der Lizenz und ihrem Link, der Quelle, der Fassung und den Änderungen. Lolly signiert, was es beobachtet hat. Es signiert nie eine Behauptung im Namen der ursprünglichen Künstlerin oder des ursprünglichen Künstlers, und Verify sagt, welcher der beiden Fälle zutraf.
- Nach dem Schreiben. Die zugestellten Bytes werden zurückgelesen, bevor irgendetwas sagt, dass Credits enthalten sind. Ein Credential, das nicht verifiziert wurde, zählt nicht als zugestellter Credit.
- In einer bearbeitbaren
.lolly-Datei. Bytes reisen nur, wenn eine geprüfte Lizenz die Erlaubnis erfasst, die Quelle weiterzugeben, und dieCREDITS.txtdes Pakets führt auf, was gereist ist, unter welcher Lizenz, und was mit welchem Grund zurückgehalten wurde. Eine nicht erfasste Lizenz wird zurückgehalten. Sie können zurückgehaltene Inhalte weiterhin bewusst einschließen, und die Credits-Datei erfasst, dass es Ihre Entscheidung war. - In Verify. Ein Quellen-Panel führt jede Quelle auf, die eine Datei erfasst, mit einer berechneten Zusammenfassung, dem Credit, einer Schaltfläche Credit kopieren, einem Link Quelle öffnen, der nur auf Anfrage geöffnet wird, und den erklärten Grenzen dessen, was geprüft wurde. Eine Frage Für diese Nutzung prüfen wird nur gestellt, wenn Sie eine Nutzung wählen, und dafür wird nichts abgerufen.
- Beim Entfernen von Metadaten. Das Entfernen sagt Ihnen, wie viele Quellen-Credits die Datei nicht mehr trägt, bietet den Credit-Text an und bietet eine saubere Datei mit den Credits daneben an. Entfernte Bytes werden nie neu gestempelt.
Was Ihnen bleibt
- Ihre Lizenzwahl gehört Ihnen. Das Beanspruchen einer Datei trennt drei Zustände, die früher einer waren: keine öffentliche Lizenz erklärt, ein ausdrücklicher Alle-Rechte-vorbehalten-Hinweis und eine tatsächliche öffentliche Lizenzgewährung. Lolly schreibt eine Rechtezeile nur für die letzten beiden, und nie aus Ihrem Profil.
- Ihre Arbeit wird nicht für Sie umlizenziert. Die Bedingungen einer Quelle und Ihre eigene Erklärung zur Ausgabe sind getrennte Datensätze. Eine ShareAlike-Bedingung gilt für die Bearbeitung, die sie regelt, nicht automatisch für alles andere, was Sie erstellt haben.
- Private Arbeit bleibt nutzbar. Bedingungen, die beim Teilen greifen, werden aufgeworfen, wenn Teilen ansteht. Nichts hier wird zu einem Importverbot, und kein Lizenzfragebogen steht zwischen Ihnen und Ihren eigenen Dateien.
- Eine Entscheidung wird an ihren eigenen Fakten festgehalten. Jede von Ihnen erfasste Wahl wird mit einem Fingerabdruck der Werke, Nutzungen, des Zustellwegs und des Publikums gestempelt, für die sie getroffen wurde. Ändern Sie das Set, die Behandlung, das Format oder das Publikum, und die Frage wird erneut gestellt. Es gibt keinen pauschalen "Lizenzen ignorieren"-Schalter, denn das Wegklicken einer Warnung kann keinen Credit liefern und keine Erlaubnis erteilen.
- Ihre Angaben bleiben getrennt vom Credit eines Dritten. Das Entfernen Ihrer eigenen persönlichen Metadaten entfernt keinen im Credit genannten Künstler, und ein erforderlicher Credit ist nie eine Ausrede, Ihre Kontaktdaten zu exportieren.
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.
| Status | Bedeutung | Exit |
|---|---|---|
ready | Nichts wartet auf eine Person. | 0 |
actions-required | Vor dem Teilen der Datei bleibt eine Entscheidung offen. Die Datei wird trotzdem geschrieben. | 4 |
use-not-covered | Eine geprüfte Regel besagt, dass die Lizenz diese Nutzung nicht abdeckt. | 4 |
unknown | Die einzigen Probleme sind Lücken: eine nicht erfasste Lizenz oder Bedingungen, die nicht ausgewertet werden. | 0 |
delivery-failed | Gesetzt 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.
| Modul | Was es enthält |
|---|---|
engine/src/rights-profiles.ts | Die 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.ts | Klassifizierung, Probleme, der Zuschreibungsplan und der Fingerabdruck. Deterministisch: dieselben Fakten in anderer Reihenfolge ergeben dieselbe Antwort. |
engine/src/rights-attribution.ts | Lesbare Credits, die Begleitdateien, die Quellzutaten und die nach dem Schreiben gemessene Quittung. |
engine/src/rights-report.ts | Ein 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.
- NC und ND werden nicht ausgewertet. Ihre Bedingungen werden erfasst und als unbekannt gemeldet.
- Kein Ziel wird bestätigt. Lolly bereitet eine Bildunterschrift vor; dass ein Connector eine Anfrage annimmt, ist kein Beweis, dass ein Credit eine Leserin oder einen Leser erreicht hat, und nichts hier verspricht, dass ein späteres Hochladen, ein Screenshot oder eine Transkodierung versteckte Metadaten erhält.
- Native Metadaten-Credit-Felder werden nicht aus dem Plan geschrieben. Credits reisen in Content Credentials und in lesbarem Text. Die IPTC- und XMP-Felder pro Quelle für Credits werden noch nicht aus dem Zuschreibungsplan befüllt.
- Korrekturen und Rückzug sind nicht gebaut. Das Hinzufügen eines fehlenden Urhebers oder einer lokalen Korrektur zu einem erfassten Werk sowie das Zurückziehen eines Datensatzes haben keine Oberfläche.
- Verbundene Anbieter sind nicht gebaut. Gekaufte Stock-Inhalte, eine benutzerdefinierte Erlaubnis und ein Anbieterkonto haben keinen Importweg, daher können ihre Erlaubnisse nur als Ihre eigene Aussage erfasst werden.
- Organisationsrichtlinien werden nicht mit diesen Ergebnissen verbunden. Exportrichtlinie und Lizenzbedingungen sind heute getrennt, und eine organisatorische Freigabe ist keine Erlaubnis eines Rechteinhabers.
- Mehrere Zustellwege sind noch nicht auf diesem Pfad. Das Herunterladen eines Katalog-Originals, eines Sammel-ZIPs, eines abgeleiteten Downloads, Senden und Bild kopieren werten diese Credits noch nicht aus und tragen sie noch nicht mit.