Měl bys umět použít dobrou práci, kterou vytvořili jiní lidé, aniž by ses musel stát expertem na licencování a aniž bys tiše vynechal lidi, kteří ji vytvořili. Proto si Lolly uchovává zdroj každé práce, ze které čerpá, přečte licenci, která k ní byla zaznamenaná, zjistí, co si tato licence žádá pro použití, které skutečně děláš, udělá tu část, kterou dokáže udělat program, a pojmenuje tu část, kterou dokážeš udělat jen ty.
Nic z tohoto není právní rada a nic z toho není rozhodnutí o tvém projektu. Lolly zaznamenává fakta, používá malou sadu pravidel, která byla přečtena přímo z právních textů licencí, a ukazuje svůj postup. Licence s podmínkami je normální, povolená volba. Nikdy není prezentovaná jako rozbitý asset.
Tři fakta, oddělená
"CC BY 4.0", "toto použití potřebuje kredit" a "kredit je v souboru, který sis právě stáhl" jsou tři různá tvrzení a Lolly je drží oddělené:
- Důkaz je to, co zdroj deklaroval, zaznamenané tak, jak to bylo nalezeno, s tím, kdo to řekl a kde to bylo přečtené. Pozdější import nikdy nepřepíše dřívější záznam.
- Povinnost je to, co z tohoto důkazu udělají prověřená pravidla pro jedno použití, jednu cestu doručení a jedno publikum. Podmínky sdílení zůstávají podmíněné, dokud pracuješ v soukromí.
- Doručení je to, co hotové bajty skutečně nesou, změřené jejich zpětným přečtením. Lolly řekne, že kredity jsou zahrnuté, až poté, co je čtečka našla v doručeném souboru.
Kde se s tím poprvé setkáš
Sady emoji jsou ten každodenní případ. Twemoji je CC BY 4.0, takže nadpis s emoji v sobě se exportuje s grafikou, u které je uvedený kredit, a nezbývá ti nic k udělání. Obě sady OpenMoji jsou CC BY-SA 4.0, takže přebarvení některého z jejich glyfů brandovou úpravou je adaptace a sdílení té adaptace tě jednou požádá o výběr kompatibilní licence. Výběr sady není nikdy zablokovaný a ovládací prvek sady pojmenuje licenci tam, kde si ji vybíráš. Stejná pravidla platí pro ilustraci z katalogu, LUT, font a jakoukoli jinou zaznamenanou práci.
Slova, která Lolly používá
Jedna slovní zásoba napříč exportním panelem, Verify, příkazovou řádkou a strojovým výsledkem.
| Co vidíš | Co to znamená |
|---|---|
| Kredity zdrojů budou zahrnuté. | Kredit je připravený a cesta ho může nést. Zatím nic nebylo zapsané, takže tohle není zpráva o úspěchu. |
| Kredity zahrnuté v metadatech tohoto souboru. | Doručené bajty byly zpětně přečtené, pověření ověřené a každý požadovaný zdroj v něm byl nalezený. |
| Kredity a pověření jsou v balíčku ke stažení. | Kredit cestuje jako doprovodný soubor vedle artefaktu. Když je předáváš dál, drž je pohromadě. |
| Přidej tento kredit do popisu příspěvku. | Zvolená cesta nenese ani pověření, ani čitelný kredit, takže text kreditu je na tobě, abys ho vložil. |
| Pokud tuto adaptaci sdílíš, potřebuje kompatibilní licenci. | Zdroj se ShareAlike byl změněný a výsledek míří někam jinam než k soukromému použití. Výběr je jedna akce, ne dialog pro každé umístění. |
| Licence zdroje není zaznamenaná. | Pro tento zdroj nebylo nic zaznamenané. To je mezera k vyplnění, ne zjištění proti dílu. |
| Podmínky zaznamenané, zatím nevyhodnocené. | Identifikátor je rozpoznaný a jeho podmínky jsou vypsané, a žádné pravidlo je tady nečte. Žádné automatické schválení, žádný automatický zákaz. |
| Dvě deklarace licence si odporují. | Dva záznamy jmenují různé licence a nic nevybralo, které oprávnění platí. |
| Pod zaznamenaným věnováním CC0 není žádný povinný kredit. | Věnování si nežádá nic. Přesto je nabídnutý zdvořilostní kredit. |
| Kredity nejsou v souboru, který byl doručený. | Kredit byl slíbený, zpětné čtení ho nenašlo a soubor je pořád tvůj. Exportuj znovu, nebo použij text kreditu ručně. |
Lolly nepoužívá "copyright ověřen", "právně bezpečné", "plně vyřešeno" ani "práva vyřešena" a nikde v produktu není jediný zelený odznak licence. Tahle slova by tvrdila něco, co žádný program nedokáže zkontrolovat.
Licence, které Lolly prověřilo
Verze pravidel rights-rules-2026-09-13.2. Každé pravidlo níže bylo přečtené přímo z právního textu dané licence a sekce, ze které pochází, je citovaná vedle něj v engine/src/rights-profiles.ts i tady. Verze a port se drží tak, jak byly zaznamenané: deklarace CC BY 3.0 si drží svou vlastní verzi místo toho, aby byla hlášená jako 4.0, jen proto, že aplikace v selektoru upřednostňuje 4.0.
| Licence | Co si žádá od použití, které Lolly umí udělat | Přečteno z |
|---|---|---|
| CC BY 4.0 | Tvůrce, název, poznámku o copyrightu, název a odkaz na licenci, odkaz na zdroj a údaj o změnách, každé z toho jen tehdy, když to zdroj dodal. Žádné použití není vyloučené, komerční použití včetně. | Právní text, sekce 2(a)(1) a 3(a) |
| CC BY-SA 4.0 | Stejný kredit. Navíc, pokud sdílíš adaptaci, jde ven pod kompatibilní licencí: CC BY-SA 4.0, Free Art License 1.3, nebo GPL-3.0-or-later, která funguje jen jedním směrem. Tyto tři jsou nesené jako data ze seznamu Creative Commons, nikdy spárované podle jména. | Právní text, sekce 3(a) a 3(b); seznam kompatibilních licencí |
| CC0 1.0 | Nic. Věnování nenese žádnou podmínku, takže Lolly nabízí zdvořilostní kredit a nikdy ho neprezentuje jako povinný. | Věnování, sekce 2 a 3; CC FAQ o uvádění kreditu |
| CC-PDDC | Nic. Zaznamenává se samotné tvrzení a to, kdo ho udělal, protože certifikace je prohlášení jedné strany, ne důkaz. | Věnování a certifikace odstavce |
| Apache License 2.0 | Poznámky ze zdroje a text uvedení autorství ze souboru NOTICE cestují s distribuovaným dílem. Běhové použití si nežádá nic. Licence, která si žádá text poznámky, a dílo, které žádnou nenese, je nahlášené jako mezera. | Apache License 2.0, sekce 4, podmínky 1 až 4 |
| MIT | Řádek s copyrightem a poznámka o oprávnění cestují s kopiemi a podstatnými částmi. Běhové a referenční použití si nežádají nic. | MIT, podmínka poznámky o oprávnění |
| SIL OFL 1.1 | Vykreslení textu daným fontem si od textu nežádá nic. Předání souboru fontu dál nese licenci, poznámku o copyrightu a pravidlo o vyhrazeném názvu. | OFL 1.1, podmínky 2, 3 a 5; OFL FAQ o dokumentech |
Zaznamenané, nevyhodnocené
CC BY-NC, CC BY-ND a kombinace NC-SA a NC-ND jsou rozpoznané, jejich podmínky jsou vypsané a žádné pravidlo je tady nečte. Hlásí licence.unknown s řádkem, který podmínky jmenuje. Komerční kontext se nedá vyčíst z ceny ani z účtu a každý kombinovaný text potřebuje vlastní prověření, než se ho dotkne nějaké pravidlo.
Ještě tři upřímné odpovědi, z nichž žádná není oprávnění:
- Identifikátor
LicenseRef-se vrátí jako on sám. Ukazuje na uloženou definici a podle pravopisu není nikdy proprietární. - Deklarace, kterou nic nerozpozná, se vrátí neparsovaná, s původním textem zachovaným vedle ní.
A OR Bje volba, kterou nabídl držitel práv, takže se vrátí každá alternativa a žádná není vybraná.A AND Bje kumulativní a tato pravidla to zaznamenávají, místo aby četla dva profily dohromady.
Chybějící informace o licenci se nikdy nečte jako důkaz, že dílo je volné k předání dál.
Co pro tebe Lolly dělá
- V katalogu. List díla ukazuje jeho zdroj a tvůrce, kanonický název licence s původním štítkem zachovaným pod ním, kopírovatelný kredit tam, kde je nějaký zaznamenaný, a jeden řádek říkající, co si žádá jeho použití. Dlaždice uvádí požadavek; nikdy netvrdí, že export byl dokončený.
- V exportním panelu. Jakmile render použije zaznamenanou práci, objeví se karta kreditů zdrojů. Ukazuje stav, text kreditu skrytý za Podrobnosti, tlačítko pro zkopírování kreditu a vloženou kartu, když zbývá rozhodnutí. Rozhodnutí není nikdy blokující dialog: stahování, u kterého zbývá nějaká akce, pokračuje dál a soukromá práce zůstává použitelná.
- V souboru. Export, který umístil zaznamenanou práci, zapíše jednu zdrojovou přísadu Content Credentials pro každé jednotlivé dílo, svázanou s původními bajty na jejich veřejné adrese a nesoucí tvůrce, licenci a její odkaz, zdroj, revizi a změny. Lolly podepisuje to, co pozorovalo. Nikdy nepodepisuje tvrzení jménem původního autora a Verify říká, které z těch dvou nastalo.
- Po zápisu. Doručené bajty se zpětně přečtou, než cokoli řekne, že kredity jsou zahrnuté. Pověření, které se neověřilo, se nepočítá jako doručený kredit.
- V editovatelném souboru
.lolly. Bajty cestují jen tehdy, když prověřená licence zaznamenává oprávnění předat zdroj dál, aCREDITS.txtbalíčku vypisuje, co cestovalo, pod jakou licencí a co bylo zadrženo a proč. Nezaznamenaná licence je zadržená. Zadržený obsah pořád můžeš zahrnout záměrně a soubor s kredity zaznamená, že to byla tvoje volba. - Ve Verify. Panel Sources vypisuje každý zdroj, který soubor zaznamenává, se spočítaným souhrnem, kreditem, tlačítkem pro zkopírování kreditu, odkazem pro otevření zdroje, který se otevře jen na vyžádání, a uvedenými limity toho, co bylo prozkoumané. Otázka na kontrolu pro toto použití se zeptá jen tehdy, když si vybereš použití, a k odpovědi se nic nestahuje.
- Když odstraníš metadata. Očištění ti řekne, kolik kreditů zdrojů už soubor nenese, nabídne text kreditu a nabídne čistý soubor s kredity vedle něj. Očištěné bajty se nikdy znovu neopatří razítkem.
Co zůstává tvoje
- Tvá volba licence je tvoje. Nárokování souboru odděluje tři stavy, které bývaly jedním: žádná veřejná licence není deklarovaná, výslovná poznámka "všechna práva vyhrazena" a skutečné udělení veřejné licence. Lolly zapisuje řádek o právech jen pro poslední dva a nikdy z tvého profilu.
- Tvá práce se za tebe nepřelicencovává. Podmínky zdroje a tvá vlastní deklarace výstupu jsou oddělené záznamy. Podmínka ShareAlike platí pro adaptaci, kterou upravuje, ne automaticky pro všechno ostatní, co jsi vytvořil.
- Soukromá práce zůstává použitelná. Podmínky, které platí při sdílení, se objeví, až když je sdílení na dohled. Nic z tohohle se nezmění v zákaz importu a žádný licenční dotazník nestojí mezi tebou a tvými vlastními soubory.
- Rozhodnutí se pamatuje vůči svým vlastním faktům. Každá volba, kterou zaznamenáš, je opatřená otiskem prací, použití, cesty a publika, kterých se týkala. Změň sadu, úpravu, formát nebo publikum a otázka se zeptá znovu. Neexistuje plošný přepínač "ignorovat licence", protože odkliknutí varování nemůže doručit kredit ani udělit oprávnění.
- Tvé údaje zůstávají oddělené od kreditu třetí strany. Odstranění tvých vlastních osobních metadat neodstraní kreditovaného umělce a povinný kredit není nikdy záminka pro export tvých kontaktních údajů.
Na příkazové řádce
Render vypíše blok Rights: na standardní chybový výstup, když má vyhodnocení povinný kredit nebo nějaký problém. Nese stav, jeden řádek pro každý problém jako code - summary, to, čím se doručený soubor ukázal při zpětném přečtení, a text kreditu k vložení.
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.Tato dvě tvrzení jsou nezávislá, a to je smysl toho, proč je držet oddělené: kredit je v souboru a rozhodnutí o licenci je pořád dlužné, než se soubor sdílí. Soubor se zapíše tak jako tak.
| Stav | Význam | Exit |
|---|---|---|
ready | Na nikoho nic nečeká. | 0 |
actions-required | Před sdílením souboru zbývá rozhodnutí. Soubor se přesto zapíše. | 4 |
use-not-covered | Prověřené pravidlo říká, že licence toto použití nepokrývá. | 4 |
unknown | Jediné problémy jsou mezery: licence, která nebyla zaznamenaná, nebo podmínky, které nejsou vyhodnocené. | 0 |
delivery-failed | Nastavené účtenkou, nikdy vyhodnocením: slíbený kredit nebyl nalezený v doručených bajtech. Exportní panel to ukáže; CLI místo toho hlásí stejnou skutečnost ve svém řádku zpětného čtení. | netiskne se |
Exit 4 je kód, který toto CLI už dává ochranné kontrole, která řekla ne. Záměrně to není 3, což znamená "zkus to znovu na jiném runneru", protože rozhodnutí o licenci bude čekat na úplně každém runneru, který existuje.
--rights=private uvádí, že tento render se nikomu nedoručuje. Blok se přesto vypíše a kredit tam pořád je ke zkopírování; ustupuje jen podmínka platná při sdílení a nezaznamená se žádné tvrzení o doručení. Neexistuje přepínač pro ignorování podmínky: --rights=ignore je chyba použití.
Kódy problémů jsou stabilní a strojově čitelné, nezávislé na přeloženém textu:
attribution.source-missing, attribution.delivery-missing, licence.adaptation-choice, licence.use-not-covered, licence.grant-conflict, licence.unknown, source.redistribution-unknown, credential.ingredient-missing.
Přes MCP lolly_verify vrací payload rights se souhrnem, jedním řádkem pro každý zaznamenaný zdroj a uvedenými limity; bezprohlížečové lolly_render vrací status, issues, credits, fingerprint a příznak creditsInFile, který se měří zpětným přečtením bajtů.
Kde pravidla žijí
Čtyři moduly enginu, všechny čisté: žádná síť, žádné hodiny, žádný souborový systém. Data pravidel jsou verzovaná a v repozitáři, nikdy se nestahují.
| Modul | Co obsahuje |
|---|---|
engine/src/rights-profiles.ts | Tabulka identifikátorů, minimální čtečka výrazů SPDX, prověřené profily s jejich citacemi a jedno pravidlo pro odkaz, který kredit může vytisknout. |
engine/src/rights-evaluate.ts | Klasifikace, problémy, plán uvedení autorství a otisk. Deterministické: stejná fakta v jiném pořadí dávají stejnou odpověď. |
engine/src/rights-attribution.ts | Čitelné kredity, doprovodné soubory, zdrojové přísady a účtenka měřená po zápisu. |
engine/src/rights-report.ts | Ověřené pověření zpětně přečtené jako tři otázky, které klade Verify. |
Soubory s očekáváními v tests/fixtures/rights/ byly napsané z textů licencí, ne z výstupu vyhodnocovače, a jejich README cituje sekci za každým očekáváním.
Co tohle nedělá
Řečeno na rovinu, protože nepojmenovaná mezera se čte jako slib.
- NC a ND se nevyhodnocují. Jejich podmínky jsou zaznamenané a hlášené jako neznámé.
- Žádný cíl se nepotvrzuje. Lolly připraví popisek; to, že konektor přijme požadavek, není důkaz, že kredit dosáhl ke čtenáři, a nic tady neslibuje, že pozdější nahrání, screenshot nebo transkódování zachová skrytá metadata.
- Nativní pole kreditu v metadatech se nezapisují z plánu. Kredity cestují v Content Credentials a v čitelném textu. Pole kreditu pro jednotlivý zdroj v IPTC a XMP se z plánu uvedení autorství zatím nevyplňují.
- Opravy a stažení nejsou postavené. Přidání chybějícího tvůrce nebo místní opravy k zaznamenané práci a stažení záznamu nemají žádné rozhraní.
- Připojení poskytovatelé nejsou postavení. Zakoupený stock, vlastní oprávnění a účet u poskytovatele nemají žádnou importní cestu, takže jejich oprávnění lze zaznamenat jen jako tvé vlastní prohlášení.
- Firemní politika se s těmito výsledky neskládá. Exportní politika a podmínky licence jsou dnes oddělené a firemní schválení není oprávnění od držitele práv.
- Několik cest doručení na této cestě zatím není. Stažení originálu z katalogu, hromadný ZIP, odvozené stažení, Send a Copy image tyto kredity zatím nevyhodnocují ani nenesou.