Lolly
Deschide aplicația

Drepturi creative, credite și ce rămâne al tău

Ar trebui să poți folosi o lucrare bună făcută de alte persoane fără să devii un expert în licențiere, și fără să renunți în tăcere la oamenii care au făcut-o. Așa că Lolly păstrează sursa fiecărei lucrări pe care o folosește, citește licența care a fost înregistrată pentru ea, calculează ce cere acea licență de la utilizarea pe care o faci de fapt, face partea pe care o poate face un program, și numește partea pe care doar tu o poți face.

Nimic din toate acestea nu este consultanță juridică, și nimic nu este o hotărâre despre proiectul tău. Lolly înregistrează fapte, aplică un set mic de reguli citite din textele legale proprii ale licențelor, și își arată raționamentul. O licență cu condiții este o alegere normală, permisă. Nu este niciodată prezentată ca un asset defect.

Trei fapte, ținute separat

"CC BY 4.0", "această utilizare are nevoie de un credit" și "creditul este în fișierul pe care tocmai l-ai descărcat" sunt trei afirmații diferite, iar Lolly le ține separate:

Unde întâlnești asta prima dată

Seturile de emoji sunt cazul de zi cu zi. Twemoji este CC BY 4.0, așa că un titlu cu un emoji în el se exportă cu ilustrația creditată și nimic rămas de făcut pentru tine. Ambele seturi OpenMoji sunt CC BY-SA 4.0, așa că recolorarea unuia dintre glifele lor cu un tratament de brand este o adaptare, iar partajarea acelei adaptări îți cere să alegi o dată o licență compatibilă. Alegerea setului nu este niciodată blocată, iar controlul setului numește licența acolo unde faci alegerea. Aceleași reguli răspund pentru o ilustrație din catalog, un LUT, un font și orice altă lucrare înregistrată.

Cuvintele pe care le folosește Lolly

Un singur vocabular în panoul de export, în Verify, în linia de comandă și în rezultatul pentru mașină.

Ce veziCe înseamnă
Creditele de sursă vor fi incluse.Creditul este pregătit, iar ruta poate să-l transporte. Nu s-a scris încă nimic, deci acesta nu este un mesaj de succes.
Credite incluse în metadatele acestui fișier.Byte-ii livrați au fost recitiți, acreditarea a fost verificată și fiecare sursă necesară a fost găsită în el.
Creditele și acreditările sunt în pachetul de descărcare.Creditul călătorește ca fișier însoțitor alături de artefact. Păstrează-le împreună atunci când le transmiți mai departe.
Adaugă acest credit la descrierea postării.Ruta aleasă nu poartă nici o acreditare, nici un credit lizibil, deci textul creditului este al tău, de lipit.
Dacă partajezi această adaptare, are nevoie de o licență compatibilă.O sursă ShareAlike a fost modificată, iar rezultatul se îndreaptă spre altceva decât utilizarea privată. Alegerea este o singură acțiune, nu un dialog per plasare.
Licența sursei nu este înregistrată.Nimic nu a fost înregistrat pentru această sursă. Este o lacună de completat, nu o constatare împotriva lucrării.
Condiții înregistrate, neinterpretate încă.Identificatorul este recunoscut și condițiile lui sunt listate, iar nicio regulă de aici nu le citește. Nici acceptare automată, nici interzicere automată.
Două declarații de licență nu sunt de acord.Două înregistrări numesc licențe diferite și nimic nu a ales ce acordare se aplică.
Niciun credit necesar sub dedicația CC0 înregistrată.Dedicația nu cere nimic. Un credit de curtoazie este oferit oricum.
Creditele nu sunt în fișierul care a fost livrat.Un credit a fost promis, recitirea nu l-a găsit, iar fișierul tot este al tău. Exportă din nou, sau folosește manual textul creditului.

Lolly nu folosește "drepturi de autor verificate", "sigur din punct de vedere legal", "complet eliberat" sau "drepturi eliberate", și nu există nicăieri în produs o singură insignă verde de licență. Aceste cuvinte ar pretinde ceva ce niciun program nu poate verifica.

Licențele pe care Lolly le-a revizuit

Versiunea regulilor rights-rules-2026-09-13.2. Fiecare regulă de mai jos a fost citită din textul legal propriu al licenței, iar secțiunea din care provine este citată alături de ea în engine/src/rights-profiles.ts, la fel ca aici. O versiune și un port sunt păstrate așa cum au fost înregistrate: o declarație CC BY 3.0 își păstrează propria versiune în loc să fie raportată ca 4.0 doar pentru că selectorul aplicației preferă 4.0.

LicențăCe cere de la o utilizare pe care Lolly o poate faceCitită din
CC BY 4.0Creatorul, titlul, avizul de drepturi de autor, numele și linkul licenței, linkul sursei și o indicație a modificărilor, fiecare dintre ele atunci când sursa le-a furnizat. Nicio utilizare nu este exclusă, utilizarea comercială inclusă.Textul legal, secțiunile 2(a)(1) și 3(a)
CC BY-SA 4.0Același credit. În plus, dacă partajezi o adaptare, aceasta iese sub o licență compatibilă: CC BY-SA 4.0, Free Art License 1.3, sau GPL-3.0-or-later, care funcționează într-un singur sens. Aceste trei sunt purtate ca date din lista Creative Commons, niciodată potrivite după nume.Textul legal, secțiunile 3(a) și 3(b); lista de licențe compatibile
CC0 1.0Nimic. Dedicația nu poartă nicio condiție, deci Lolly oferă un credit de curtoazie și nu îl prezintă niciodată ca fiind obligatoriu.Dedicația, secțiunile 2 și 3; FAQ-ul CC despre acordarea creditului
CC-PDDCNimic. Ce se înregistrează este chiar afirmația și cine a făcut-o, pentru că o certificare este declarația unei părți, nu o dovadă.paragrafele dedicației și certificării
Apache License 2.0Avizele de la sursă și textul de atribuire din fișierul NOTICE călătoresc împreună cu o lucrare distribuită. O utilizare la runtime nu cere nimic. O licență care cere un text de aviz și o lucrare care nu poartă niciunul sunt raportate ca o lacună.Apache License 2.0, secțiunea 4, condițiile 1-4
MITLinia de drepturi de autor și avizul de permisiune călătoresc împreună cu copiile și porțiunile substanțiale. Utilizările la runtime și de referință nu cer nimic.MIT, condiția avizului de permisiune
SIL OFL 1.1Randarea textului cu fontul nu cere nimic textului. Transmiterea mai departe a fișierului de font poartă licența, avizul de drepturi de autor și regula numelui rezervat.OFL 1.1, condițiile 2, 3 și 5; FAQ-ul OFL despre documente

Înregistrate, neinterpretate

CC BY-NC, CC BY-ND și combinațiile NC-SA și NC-ND sunt recunoscute, condițiile lor sunt listate, iar nicio regulă de aici nu le citește. Ele raportează licence.unknown cu o linie care numește condițiile. Un context comercial nu poate fi dedus dintr-un preț sau dintr-un cont, iar fiecare text combinat are nevoie de propria sa revizuire înainte ca o regulă să îl atingă.

Încă trei răspunsuri oneste, niciunul dintre ele nefiind o permisiune:

Informația de licență lipsă nu este niciodată citită ca dovadă că o lucrare este liberă de transmis mai departe.

Ce face Lolly pentru tine

Ce rămâne al tău

În linia de comandă

O randare afișează un bloc Rights: la standard error atunci când evaluarea are un credit necesar sau o problemă. Acesta poartă starea, câte o linie per problemă ca code - summary, ceea ce s-a recitit că este fișierul livrat, și textul creditului de lipit.

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.

Aceste două afirmații sunt independente, ceea ce este chiar rostul de a le ține separate: creditul este în fișier, iar o decizie de licență este încă datorată înainte ca fișierul să fie partajat. Fișierul este scris oricum.

StatusSemnificațieIeșire
readyNimic nu așteaptă o persoană.0
actions-requiredO decizie rămâne înainte ca fișierul să fie partajat. Fișierul tot este scris.4
use-not-coveredO regulă revizuită spune că licența nu acoperă această utilizare.4
unknownSingurele probleme sunt lacune: o licență care nu a fost înregistrată, sau condiții care nu sunt interpretate.0
delivery-failedStabilit de o confirmare, niciodată de o evaluare: un credit promis nu a fost găsit în byte-ii livrați. Panoul de export îl arată; CLI-ul raportează același fapt în linia lui de recitire.nu se afișează

Ieșirea 4 este codul pe care acest CLI îl dă deja unei verificări de protecție care a spus nu. În mod deliberat nu este 3, ceea ce înseamnă "reîncearcă pe alt executor", iar o decizie de licență va aștepta pe fiecare executor care există.

--rights=private declară că această randare nu este livrată nimănui. Blocul tot se afișează și creditul tot este acolo de copiat; ce se retrage este condiția care se aplică la partajare, și nicio afirmație de livrare nu este înregistrată. Nu există un flag pentru a ignora o condiție: --rights=ignore este o eroare de utilizare.

Codurile de problemă sunt stabile și lizibile de mașină, independente de textul tradus:

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

Prin MCP, lolly_verify returnează un payload rights cu rezumatul, câte o linie per sursă înregistrată și limitele declarate; un lolly_render fără browser returnează status, issues, credits, fingerprint și un flag creditsInFile care este măsurat prin recitirea byte-ilor.

Unde locuiesc regulile

Patru module ale engine-ului, toate pure: fără rețea, fără ceas, fără sistem de fișiere. Datele regulilor sunt versionate și se află în repository, niciodată preluate de undeva.

ModulCe conține
engine/src/rights-profiles.tsTabelul de identificatori, cititorul minimal de expresii SPDX, profilurile revizuite cu citările lor, și singura regulă pentru un link pe care un credit îl poate afișa.
engine/src/rights-evaluate.tsClasificare, probleme, planul de atribuire și amprenta. Determinist: aceleași fapte într-o altă ordine dau același răspuns.
engine/src/rights-attribution.tsCredite lizibile, fișierele însoțitoare, ingredientele sursă și confirmarea măsurată după scriere.
engine/src/rights-report.tsO acreditare verificată, recitită ca cele trei întrebări pe care le pune Verify.

Fișierele de așteptare din tests/fixtures/rights/ au fost redactate din textele licențelor, nu din rezultatul evaluatorului, iar README-ul lor citează secțiunea din spatele fiecărei așteptări.

Ce nu face asta

Spus clar, pentru că o lacună care nu este numită se citește ca o promisiune.