Lolly
App openen

Creatieve rechten, naamsvermeldingen en wat van jou blijft

Je zou goed werk van anderen moeten kunnen gebruiken zonder een expert in licenties te worden, en zonder stilletjes de mensen die het maakten te laten vallen. Daarom houdt Lolly de bron bij van elk werk dat het gebruikt, leest het de licentie die ervoor is vastgelegd, bepaalt het wat die licentie vraagt van het gebruik dat jij daadwerkelijk maakt, doet het het deel dat een programma kan doen, en benoemt het het deel dat alleen jij kunt doen.

Niets hiervan is juridisch advies en niets ervan is een uitspraak over jouw project. Lolly legt feiten vast, past een kleine set regels toe die uit de eigen juridische teksten van de licenties zijn gelezen, en toont zijn werkwijze. Een licentie met voorwaarden is een normale, toegestane keuze. Ze wordt nooit gepresenteerd als een kapotte asset.

Drie feiten, apart gehouden

"CC BY 4.0", "dit gebruik heeft een naamsvermelding nodig" en "de naamsvermelding staat in het bestand dat je zojuist hebt gedownload" zijn drie verschillende uitspraken, en Lolly houdt ze apart:

Waar je dit als eerste tegenkomt

De emojisets zijn het dagelijkse geval. Twemoji is CC BY 4.0, dus een kop met een emoji erin exporteert met de artwork gecrediteerd en niets wat jij nog hoeft te doen. Beide OpenMoji-sets zijn CC BY-SA 4.0, dus het herkleuren van een van hun glyphs met een merkbehandeling is een bewerking, en het delen van die bewerking vraagt je eenmalig een compatibele licentie te kiezen. Het kiezen van de set wordt nooit geblokkeerd, en de setbesturing noemt de licentie op de plek waar je kiest. Dezelfde regels gelden voor een catalogusillustratie, een LUT, een lettertype en elk ander vastgelegd werk.

De woorden die Lolly gebruikt

Eén vocabulaire over het exportpaneel, Verify, de commandoregel en het machineresultaat heen.

Wat je zietWat het betekent
Bronvermeldingen worden opgenomen.De naamsvermelding is klaargezet en de route kan haar dragen. Er is nog niets geschreven, dus dit is geen succesbericht.
Naamsvermeldingen opgenomen in de metadata van dit bestand.De afgeleverde bytes zijn teruggelezen, de credential is geverifieerd en elke vereiste bron is erin aangetroffen.
Naamsvermeldingen en credentials zitten in het downloadpakket.De naamsvermelding reist mee als begeleidend bestand naast de artifact. Houd ze samen wanneer je ze doorgeeft.
Voeg deze naamsvermelding toe aan de postbeschrijving.De gekozen route draagt geen credential en geen leesbare naamsvermelding, dus de vermeldingstekst is aan jou om te plakken.
Als je deze bewerking deelt, heeft ze een compatibele licentie nodig.Een ShareAlike-bron is gewijzigd en het resultaat is op weg naar iets anders dan privégebruik. Kiezen is één actie, geen dialoog per plaatsing.
Bronlicentie niet vastgelegd.Er is niets vastgelegd voor deze bron. Dat is een gat om te vullen, geen bevinding tegen het werk.
Voorwaarden vastgelegd, nog niet geïnterpreteerd.De identifier wordt herkend en de voorwaarden ervan staan vermeld, en geen enkele regel hier leest ze. Geen automatische goedkeuring, geen automatisch verbod.
Twee licentieverklaringen spreken elkaar tegen.Twee vastleggingen noemen verschillende licenties en niets heeft bepaald welke verlening van toepassing is.
Geen vereiste naamsvermelding onder de vastgelegde CC0-afstandsverklaring.De afstandsverklaring vraagt niets. Een naamsvermelding uit beleefdheid wordt sowieso aangeboden.
De naamsvermeldingen zitten niet in het bestand dat is afgeleverd.Er was een naamsvermelding beloofd, de terugleesactie heeft haar niet aangetroffen, en het bestand is nog steeds van jou. Exporteer opnieuw, of gebruik de vermeldingstekst handmatig.

Lolly gebruikt niet "auteursrecht geverifieerd", "juridisch veilig", "volledig vrijgegeven" of "rechten vrijgegeven", en er is nergens in het product een groene licentiebadge. Die woorden zouden iets beweren dat geen enkel programma kan controleren.

De licenties die Lolly heeft beoordeeld

Regelversie rights-rules-2026-09-13.2. Elke regel hieronder is gelezen uit de eigen juridische tekst van de licentie, en het artikel waar hij vandaan komt wordt ernaast geciteerd, zowel in engine/src/rights-profiles.ts als hier. Een versie en een port worden bewaard zoals vastgelegd: een CC BY 3.0-verklaring behoudt zijn eigen versie in plaats van gerapporteerd te worden als 4.0 omdat de kiezer van de app 4.0 verkiest.

LicentieWat ze vraagt van een gebruik dat Lolly kan makenGelezen uit
CC BY 4.0De maker, de titel, de auteursrechtvermelding, de naam en link van de licentie, de bronlink en een aanduiding van wijzigingen, elk wanneer de bron dat aanleverde. Geen gebruik is uitgesloten, commercieel gebruik inbegrepen.Wettekst, secties 2(a)(1) en 3(a)
CC BY-SA 4.0Dezelfde naamsvermelding. Bovendien, als je een bewerking deelt, gaat ze uit onder een compatibele licentie: CC BY-SA 4.0, de Free Art License 1.3, of GPL-3.0-or-later, die maar één kant op werkt. Die drie worden als data meegevoerd uit de Creative Commons-lijst, nooit op naam gematcht.Wettekst, secties 3(a) en 3(b); de lijst met compatibele licenties
CC0 1.0Niets. De afstandsverklaring draagt geen voorwaarde, dus Lolly biedt een naamsvermelding uit beleefdheid aan en presenteert er nooit een als verplicht.De afstandsverklaring, secties 2 en 3; de CC FAQ over crediteren
CC-PDDCNiets. Wat wordt vastgelegd is de bewering zelf en wie haar deed, omdat een certificering de verklaring van één partij is en geen bewijs.De afstandsverklaring en certificering paragrafen
Apache License 2.0De vermeldingen uit de bron en de attributietekst van het NOTICE-bestand reizen mee met een verspreid werk. Een runtime-gebruik vraagt niets. Een licentie die om een vermeldingstekst vraagt en een werk dat er geen draagt, wordt gerapporteerd als een gat.Apache License 2.0, sectie 4, voorwaarden 1 tot en met 4
MITDe auteursrechtregel en de toestemmingsvermelding reizen mee met kopieën en substantiële delen. Runtime- en referentiegebruik vragen niets.MIT, de voorwaarde van de toestemmingsvermelding
SIL OFL 1.1Tekst renderen met het lettertype vraagt niets van de tekst. Het doorgeven van het lettertypebestand draagt de licentie, de auteursrechtvermelding en de regel voor voorbehouden namen mee.OFL 1.1, voorwaarden 2, 3 en 5; de OFL FAQ over documenten

Vastgelegd, niet geïnterpreteerd

CC BY-NC, CC BY-ND en de NC-SA- en NC-ND-combinaties worden herkend, hun voorwaarden staan vermeld, en geen enkele regel hier leest ze. Ze rapporteren licence.unknown met een regel die de voorwaarden noemt. Een commerciële context kan niet worden afgeleid uit een prijs of een account, en elke gecombineerde tekst heeft zijn eigen beoordeling nodig voordat een regel hem aanraakt.

Nog drie eerlijke antwoorden, waarvan geen enkele toestemming is:

Ontbrekende licentie-informatie wordt nooit gelezen als bewijs dat een werk vrij is om door te geven.

Wat Lolly voor je doet

Wat van jou blijft

Op de commandoregel

Een render drukt een Rights:-blok af naar standaardfout wanneer de beoordeling een vereiste naamsvermelding of een probleem heeft. Het draagt de status, één regel per probleem als code - summary, wat het afgeleverde bestand bij teruglezing bleek te zijn, en de vermeldingstekst om te plakken.

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.

Die twee uitspraken staan los van elkaar, en dat is precies het punt van ze apart te houden: de naamsvermelding staat in het bestand, en een licentiebeslissing staat nog open voordat het bestand wordt gedeeld. Het bestand wordt hoe dan ook geschreven.

StatusBetekenisExit
readyNiets wacht op een persoon.0
actions-requiredEr blijft een beslissing openstaan voordat het bestand wordt gedeeld. Het bestand wordt nog steeds geschreven.4
use-not-coveredEen beoordeelde regel zegt dat de licentie dit gebruik niet dekt.4
unknownDe enige problemen zijn gaten: een licentie die niet is vastgelegd, of voorwaarden die niet zijn geïnterpreteerd.0
delivery-failedIngesteld door een ontvangstbevestiging, nooit door een beoordeling: een beloofde naamsvermelding is niet aangetroffen in de afgeleverde bytes. Het exportpaneel toont het; de CLI rapporteert hetzelfde feit in plaats daarvan in zijn terugleesregel.niet afgedrukt

Exit 4 is de code die deze CLI al geeft aan een beschermende controle die nee zei. Het is bewust geen 3, wat "opnieuw proberen op een andere runner" betekent, want een licentiebeslissing zal op elke runner die er is blijven wachten.

--rights=private verklaart dat deze render aan niemand wordt afgeleverd. Het blok wordt nog steeds afgedrukt en de naamsvermelding staat er nog steeds om te kopiëren; wat vervalt is de voorwaarde die geldt bij delen, en er wordt geen afleverclaim vastgelegd. Er is geen vlag om een voorwaarde te negeren: --rights=ignore is een gebruiksfout.

De probleemcodes zijn stabiel en machineleesbaar, onafhankelijk van de vertaalde tekst:

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

Via MCP retourneert lolly_verify een rights-payload met de samenvatting, één rij per vastgelegde bron en de vermelde grenzen; een browservrije lolly_render retourneert status, issues, credits, fingerprint en een creditsInFile-vlag die wordt gemeten door de bytes terug te lezen.

Waar de regels leven

Vier engine-modules, allemaal puur: geen netwerk, geen klok, geen bestandssysteem. De regeldata is geversioneerd en zit in de repository, nooit opgehaald.

ModuleWat hij bevat
engine/src/rights-profiles.tsDe identifiertabel, de minimale SPDX-expressielezer, de beoordeelde profielen met hun citaten, en de ene regel voor een link die een naamsvermelding mag afdrukken.
engine/src/rights-evaluate.tsClassificatie, problemen, het attributieplan en de vingerafdruk. Deterministisch: dezelfde feiten in een andere volgorde geven hetzelfde antwoord.
engine/src/rights-attribution.tsLeesbare naamsvermeldingen, de begeleidende bestanden, de bronbestanddelen en de ontvangstbevestiging gemeten na het schrijven.
engine/src/rights-report.tsEen geverifieerde credential teruggelezen als de drie vragen die Verify stelt.

De verwachtingsbestanden in tests/fixtures/rights/ zijn geschreven vanuit de licentieteksten in plaats van vanuit de output van de beoordelaar, en de README ervan citeert de sectie achter elke verwachting.

Wat dit niet doet

Botweg gesteld, omdat een gat dat niet wordt benoemd, leest als een belofte.