Dovresti poter usare il buon lavoro fatto da altre persone senza diventare un esperto di licenze, e senza lasciare silenziosamente indietro chi lo ha creato. Per questo Lolly conserva la fonte di ogni opera che utilizza, legge la licenza registrata per essa, calcola cosa chiede quella licenza per l'uso che stai effettivamente facendo, svolge la parte che un programma può fare, e indica la parte che solo tu puoi fare.
Niente di tutto questo è una consulenza legale, e niente di tutto questo è un giudizio sul tuo progetto. Lolly registra fatti, applica un piccolo insieme di regole lette dai testi legali delle licenze stesse, e mostra il proprio ragionamento. Una licenza con condizioni è una scelta normale e consentita. Non viene mai presentata come un asset difettoso.
Tre fatti, tenuti separati
"CC BY 4.0", "questo uso richiede un credito" e "il credito è nel file che hai appena scaricato" sono tre affermazioni diverse, e Lolly le tiene separate:
- Prova è ciò che una fonte ha dichiarato, registrato così com'è stato trovato, con chi lo ha detto e dove è stato letto. Un'importazione successiva non sovrascrive mai un record precedente.
- Obbligo è ciò che le regole verificate ricavano da quella prova per un uso, una via di consegna e un pubblico specifici. Le condizioni di condivisione restano condizionali finché lavori in privato.
- Consegna è ciò che i byte finiti trasportano davvero, misurato rileggendoli. Lolly dichiara che i crediti sono inclusi solo dopo che un lettore li ha trovati nel file consegnato.
Dove lo incontri per primo
I set di emoji sono il caso quotidiano. Twemoji è CC BY 4.0, quindi un titolo con un'emoji al suo interno viene esportato con l'illustrazione già accreditata e niente resta da fare per te. Entrambi i set OpenMoji sono CC BY-SA 4.0, quindi ricolorare uno dei loro glifi con un trattamento di brand è un adattamento, e condividere quell'adattamento ti chiede di scegliere una licenza compatibile una sola volta. Scegliere il set non è mai bloccato, e il controllo del set indica la licenza proprio dove lo scegli. Le stesse regole valgono per un'illustrazione di catalogo, una LUT, un font e qualsiasi altra opera registrata.
Le parole che usa Lolly
Un unico vocabolario nel pannello di esportazione, in Verify, nella riga di comando e nel risultato macchina.
| Cosa vedi | Cosa significa |
|---|---|
| I crediti delle fonti saranno inclusi. | Il credito è pronto e la via di consegna può trasportarlo. Non è stato ancora scritto nulla, quindi non è un messaggio di successo. |
| Crediti inclusi nei metadati di questo file. | I byte consegnati sono stati riletti, la credenziale verificata e ogni fonte richiesta è stata trovata al suo interno. |
| Crediti e credenziali sono nel pacchetto di download. | Il credito viaggia come file di accompagnamento accanto all'elaborato. Tienili insieme quando li passi ad altri. |
| Aggiungi questo credito alla descrizione del post. | La via scelta non trasporta né una credenziale né un credito leggibile, quindi il testo del credito tocca a te incollarlo. |
| Se condividi questo adattamento, serve una licenza compatibile. | Una fonte ShareAlike è stata modificata e il risultato è destinato a qualcosa di diverso dall'uso privato. Scegliere è un'unica azione, non una finestra per ogni posizionamento. |
| Licenza della fonte non registrata. | Non è stato registrato nulla per questa fonte. È una lacuna da colmare, non un rilievo contro l'opera. |
| Condizioni registrate, non ancora interpretate. | L'identificatore è riconosciuto e le sue condizioni sono elencate, ma nessuna regola qui le legge. Nessun via libera automatico, nessun divieto automatico. |
| Due dichiarazioni di licenza sono in disaccordo. | Due record indicano licenze diverse e nulla ha selezionato quale concessione si applichi. |
| Nessun credito richiesto sotto la dedica CC0 registrata. | La dedica non chiede nulla. Un credito di cortesia viene comunque offerto. |
| I crediti non sono nel file che è stato consegnato. | Un credito era stato promesso, la rilettura non lo ha trovato, e il file resta comunque tuo. Esporta di nuovo, oppure usa il testo del credito a mano. |
Lolly non usa "copyright verificato", "legalmente sicuro", "completamente liberato" o "diritti liberati", e non esiste un unico badge verde di licenza da nessuna parte nel prodotto. Quelle parole affermerebbero qualcosa che nessun programma può controllare.
Le licenze che Lolly ha esaminato
Versione delle regole rights-rules-2026-09-13.2. Ogni regola qui sotto è stata letta dal testo legale della licenza stessa, e la sezione da cui proviene è citata accanto sia in engine/src/rights-profiles.ts sia qui. Una versione e una porta restano come registrate: una dichiarazione CC BY 3.0 mantiene la propria versione invece di essere segnalata come 4.0 solo perché il selettore dell'app preferisce la 4.0.
| Licence | Cosa chiede per un uso che Lolly può fare | Letta da |
|---|---|---|
| CC BY 4.0 | Il creatore, il titolo, l'avviso di copyright, il nome e il link della licenza, il link alla fonte e un'indicazione delle modifiche, ciascuno quando la fonte lo ha fornito. Nessun uso è escluso, incluso quello commerciale. | Testo legale, sezioni 2(a)(1) e 3(a) |
| CC BY-SA 4.0 | Lo stesso credito. Inoltre, se condividi un adattamento, questo esce sotto una licenza compatibile: CC BY-SA 4.0, la Free Art License 1.3, oppure GPL-3.0-or-later, che vale in una sola direzione. Queste tre sono trasportate come dati dall'elenco di Creative Commons, mai associate per nome. | Testo legale, sezioni 3(a) e 3(b); l'elenco delle licenze compatibili |
| CC0 1.0 | Niente. La dedica non porta alcuna condizione, quindi Lolly offre un credito di cortesia e non lo presenta mai come obbligatorio. | La dedica, sezioni 2 e 3; le FAQ di CC sull'attribuzione |
| CC-PDDC | Niente. Ciò che viene registrato è l'asserzione stessa e chi l'ha fatta, perché una certificazione è la dichiarazione di una parte, non una prova. | I paragrafi della dedica e certificazione |
| Apache License 2.0 | Gli avvisi della fonte e il testo di attribuzione del file NOTICE viaggiano con un'opera distribuita. Un uso a runtime non chiede nulla. Una licenza che richiede un testo di avviso e un'opera che non ne porta nessuno viene segnalata come una lacuna. | Apache License 2.0, sezione 4, condizioni da 1 a 4 |
| MIT | La riga di copyright e l'avviso di autorizzazione viaggiano con le copie e le porzioni sostanziali. Gli usi a runtime e di riferimento non chiedono nulla. | MIT, la condizione dell'avviso di autorizzazione |
| SIL OFL 1.1 | Renderizzare del testo con il font non chiede nulla al testo. Passare avanti il file del font porta con sé la licenza, l'avviso di copyright e la regola del reserved-name. | OFL 1.1, condizioni 2, 3 e 5; le FAQ OFL sui documenti |
Registrato, non interpretato
CC BY-NC, CC BY-ND e le combinazioni NC-SA e NC-ND sono riconosciute, le loro condizioni sono elencate, ma nessuna regola qui le legge. Segnalano licence.unknown con una riga che nomina le condizioni. Un contesto commerciale non può essere dedotto da un prezzo o da un account, e ogni testo combinato ha bisogno di una propria revisione prima che una regola lo tocchi.
Altre tre risposte oneste, nessuna delle quali è un permesso:
- Un identificatore
LicenseRef-torna così com'è. Punta a una definizione memorizzata e non è mai proprietario per come è scritto. - Una dichiarazione che nulla riconosce torna non analizzata (unparsed), con il testo originale conservato accanto.
A OR Bè una scelta offerta dal titolare dei diritti, quindi ogni alternativa viene restituita e nessuna viene selezionata.A AND Bè cumulativo, e queste regole lo registrano invece di leggere insieme due profili.
L'informazione di licenza mancante non viene mai letta come prova che un'opera sia libera da trasmettere.
Cosa fa Lolly per te
- Nel catalogo. La scheda di un'opera mostra la sua fonte e il suo creatore, il nome canonico della licenza con l'etichetta originale conservata sotto, un credito copiabile dove ne è registrato uno, e una riga che dice cosa richiede il suo utilizzo. Una tile dichiara il requisito; non afferma mai che un'esportazione sia stata completata.
- Nel pannello di esportazione. Una card Source credits appare non appena un render usa un'opera registrata. Mostra lo stato, il testo del credito dietro Details, un pulsante Copy credit, e una card inline quando è dovuta una decisione. Una decisione non è mai una finestra bloccante: un download con un'azione ancora da compiere procede comunque, e l'opera privata resta utilizzabile.
- Nel file. Un'esportazione che ha inserito un'opera registrata scrive un ingrediente sorgente Content Credentials per ogni opera distinta, legato ai byte originali al loro indirizzo pubblico, che porta il creatore, la licenza con il suo link, la fonte, la revisione e le modifiche. Lolly firma ciò che ha osservato. Non firma mai un'affermazione per conto dell'artista a monte, e Verify dice quale delle due cose è successa.
- Dopo la scrittura. I byte consegnati vengono riletti prima che qualcosa dichiari i crediti inclusi. Una credenziale che non ha superato la verifica non conta come credito consegnato.
- In un file
.lollymodificabile. I byte viaggiano solo quando una licenza esaminata registra il permesso di trasmettere la fonte, e ilCREDITS.txtdel pacchetto elenca cosa ha viaggiato, sotto quale licenza, e cosa è stato trattenuto con il motivo. Una licenza non registrata viene trattenuta. Puoi comunque includere deliberatamente contenuto trattenuto, e il file dei crediti registra che è stata una tua scelta. - In Verify. Un pannello Sources elenca ogni fonte che un file registra, con un riepilogo calcolato, il credito, un pulsante Copy credit, un link Open source che si apre solo su richiesta, e i limiti dichiarati di ciò che è stato ispezionato. Una domanda Check for this use viene posta solo quando scegli un uso, e non viene recuperato nulla per rispondervi.
- Quando rimuovi i metadati. La rimozione ti dice quanti crediti delle fonti il file non porta più, offre il testo del credito, e offre un file pulito con i crediti accanto. I byte ripuliti non vengono mai ritimbrati.
Cosa resta tuo
- La tua scelta di licenza è tua. Rivendicare un file separa tre stati che un tempo erano uno solo: nessuna licenza pubblica dichiarata, un avviso esplicito di tutti i diritti riservati, e una concessione di licenza pubblica effettiva. Lolly scrive una riga sui diritti solo per gli ultimi due, e mai a partire dal tuo profilo.
- Il tuo lavoro non viene rilicenziato al posto tuo. I termini di una fonte e la tua stessa dichiarazione sull'output sono record separati. Una condizione ShareAlike si applica all'adattamento che governa, non automaticamente a tutto il resto che hai creato.
- Il lavoro privato resta utilizzabile. Le condizioni che si applicano alla condivisione vengono sollevate quando la condivisione è in vista. Niente qui si trasforma in un divieto di importazione, e nessun questionario sulle licenze si frappone tra te e i tuoi stessi file.
- Una decisione viene ricordata rispetto ai propri fatti. Ogni scelta che registri viene timbrata con un'impronta delle opere, degli usi, della via e del pubblico a cui si riferiva. Cambia il set, il trattamento, il formato o il pubblico e la domanda viene posta di nuovo. Non esiste un interruttore generale "ignora le licenze", perché chiudere un avviso con un clic non può consegnare un credito né concedere un permesso.
- I tuoi dati restano separati dal credito di terzi. Rimuovere i tuoi metadati personali non rimuove un artista accreditato, e un credito richiesto non è mai una scusa per esportare i tuoi dati di contatto.
Sulla riga di comando
Un render stampa un blocco Rights: su standard error quando la valutazione ha un credito richiesto o un problema. Riporta lo stato, una riga per problema nella forma code - summary, cosa risulta rileggendo il file consegnato, e il testo del credito da incollare.
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.Queste due affermazioni sono indipendenti, ed è proprio questo il punto di tenerle separate: il credito è nel file, e una decisione sulla licenza è ancora dovuta prima che il file venga condiviso. Il file viene comunque scritto in entrambi i casi.
| Status | Significato | Uscita |
|---|---|---|
ready | Niente è in attesa di una persona. | 0 |
actions-required | Resta una decisione prima che il file venga condiviso. Il file viene comunque scritto. | 4 |
use-not-covered | Una regola verificata dice che la licenza non copre questo uso. | 4 |
unknown | Gli unici problemi sono lacune: una licenza non registrata, oppure condizioni non interpretate. | 0 |
delivery-failed | Impostato da una ricevuta, mai da una valutazione: un credito promesso non è stato trovato nei byte consegnati. Il pannello di esportazione lo mostra; la CLI riporta invece lo stesso fatto nella sua riga di rilettura. | non stampato |
Uscita 4 è il codice che questa CLI dà già a un controllo protettivo che ha detto no. Deliberatamente non è 3, che significa "riprova su un altro runner", perché una decisione sulla licenza aspetterà su ogni runner che esiste.
--rights=private dichiara che questo render non viene consegnato a nessuno. Il blocco viene comunque stampato e il credito resta lì da copiare; ciò che si ritira è la condizione che si applica alla condivisione, e non viene registrata alcuna dichiarazione di consegna. Non esiste un flag per ignorare una condizione: --rights=ignore è un errore di utilizzo.
I codici dei problemi sono stabili e leggibili dalla macchina, indipendenti dal testo tradotto:
attribution.source-missing, attribution.delivery-missing, licence.adaptation-choice, licence.use-not-covered, licence.grant-conflict, licence.unknown, source.redistribution-unknown, credential.ingredient-missing.
Su MCP, lolly_verify restituisce un payload rights con il riepilogo, una riga per ogni fonte registrata e i limiti dichiarati; lolly_render, privo di browser, restituisce status, issues, credits, fingerprint e un flag creditsInFile misurato rileggendo i byte.
Dove vivono le regole
Quattro moduli del motore, tutti puri: nessuna rete, nessun orologio, nessun filesystem. I dati delle regole sono versionati e si trovano nel repository, mai recuperati da remoto.
| Module | Cosa contiene |
|---|---|
engine/src/rights-profiles.ts | La tabella degli identificatori, il lettore minimale di espressioni SPDX, i profili esaminati con le loro citazioni, e l'unica regola per un link che un credito può stampare. |
engine/src/rights-evaluate.ts | Classificazione, problemi, il piano di attribuzione e l'impronta. Deterministico: gli stessi fatti in un ordine diverso danno la stessa risposta. |
engine/src/rights-attribution.ts | Crediti leggibili, i file di accompagnamento, gli ingredienti sorgente e la ricevuta misurata dopo la scrittura. |
engine/src/rights-report.ts | Una credenziale verificata riletta come le tre domande che Verify pone. |
I file di aspettativa in tests/fixtures/rights/ sono stati scritti a partire dai testi delle licenze anziché dall'output del valutatore, e il suo README cita la sezione dietro ogni aspettativa.
Cosa non fa questo
Detto chiaramente, perché una lacuna non dichiarata si legge come una promessa.
- NC e ND non vengono interpretate. Le loro condizioni sono registrate e segnalate come sconosciute.
- Nessuna destinazione è confermata. Lolly prepara una didascalia; un connettore che accetta una richiesta non è prova che un credito abbia raggiunto un lettore, e niente qui promette che un caricamento, uno screenshot o una transcodifica successivi preservino i metadati nascosti.
- I campi di credito nei metadati nativi non vengono scritti dal piano. I crediti viaggiano nelle Content Credentials e nel testo leggibile. I campi di credito per fonte IPTC e XMP non sono ancora compilati dal piano di attribuzione.
- Correzioni e ritiro non sono ancora implementati. Aggiungere un creatore mancante o una correzione locale a un'opera registrata, e ritirare un record, non hanno un'interfaccia.
- I provider connessi non sono ancora implementati. Stock acquistato, un permesso personalizzato e un account provider non hanno un percorso di importazione, quindi le loro concessioni possono essere registrate solo come tua dichiarazione.
- La policy dell'organizzazione non viene composta con questi risultati. Oggi la policy di esportazione e le condizioni di licenza sono separate, e un'approvazione dell'organizzazione non è un permesso da parte di un titolare di diritti.
- Diverse vie di consegna non sono ancora su questo percorso. Scaricare un originale di catalogo, uno ZIP in blocco, un download derivato, Send e Copy image non valutano né trasportano ancora questi crediti.