Lolly
Abrir la app

Derechos creativos, créditos y lo que sigue siendo tuyo

Deberías poder usar el buen trabajo de otras personas sin convertirte en experto en licencias, y sin dejar de lado en silencio a quienes lo crearon. Por eso Lolly conserva la fuente de cada obra que incorpora, lee la licencia que se registró para ella, calcula qué pide esa licencia para el uso que realmente estás haciendo, hace la parte que un programa puede hacer y nombra la parte que solo tú puedes hacer.

Nada de esto es asesoría legal, y nada de esto es un fallo sobre tu proyecto. Lolly registra hechos, aplica un pequeño conjunto de reglas leídas de los propios textos legales de las licencias, y muestra su razonamiento. Una licencia con condiciones es una elección normal y permitida. Nunca se presenta como un recurso dañado.

Tres hechos, mantenidos aparte

"CC BY 4.0", "este uso necesita un crédito" y "el crédito está en el archivo que acabas de descargar" son tres afirmaciones distintas, y Lolly las mantiene separadas:

Dónde lo ves por primera vez

Los conjuntos de emojis son el caso cotidiano. Twemoji está bajo CC BY 4.0, así que un encabezado con un emoji se exporta con la obra ya acreditada y nada más que hacer de tu parte. Ambos conjuntos de OpenMoji están bajo CC BY-SA 4.0, así que recolorear uno de sus glifos con un tratamiento de marca es una adaptación, y compartir esa adaptación te pide elegir una licencia compatible una sola vez. Elegir el conjunto nunca está bloqueado, y el control del conjunto nombra la licencia justo donde la eliges. Las mismas reglas se aplican a una ilustración del catálogo, un LUT, una tipografía y cualquier otra obra registrada.

Las palabras que usa Lolly

Un mismo vocabulario en el panel de exportación, Verify, la línea de comandos y el resultado legible por máquina.

Qué vesQué significa
Los créditos de origen se incluirán.El crédito está preparado y la vía puede llevarlo. Todavía no se ha escrito nada, así que esto no es un mensaje de éxito.
Créditos incluidos en los metadatos de este archivo.Los bytes entregados se releyeron, la credencial se verificó y se encontró en ellos cada fuente requerida.
Los créditos y las credenciales están en el paquete de descarga.El crédito viaja como un archivo complementario junto al resultado. Mantenlos juntos cuando los compartas.
Añade este crédito a la descripción de la publicación.La vía elegida no lleva ni credencial ni crédito legible, así que el texto del crédito queda en tus manos para pegarlo.
Si compartes esta adaptación, necesita una licencia compatible.Se cambió una fuente ShareAlike y el resultado se dirige a algo distinto del uso privado. Elegir es una sola acción, no un diálogo por cada colocación.
Licencia de origen no registrada.No se registró nada para esta fuente. Eso es un vacío por llenar, no un hallazgo en contra de la obra.
Condiciones registradas, aún no interpretadas.El identificador se reconoce y sus condiciones están listadas, y ninguna regla de aquí las lee. Ni aprobación automática, ni prohibición automática.
Dos declaraciones de licencia no coinciden.Dos registros nombran licencias distintas, y nada ha elegido cuál permiso aplica.
Ningún crédito requerido bajo la dedicatoria CC0 registrada.La dedicatoria no pide nada. Aun así se ofrece un crédito de cortesía.
Los créditos no están en el archivo que se entregó.Se prometió un crédito, la relectura no lo encontró, y el archivo sigue siendo tuyo. Exporta de nuevo, o usa el texto del crédito a mano.

Lolly no usa "copyright verificado", "legalmente seguro", "totalmente autorizado" o "derechos aclarados", y no hay una sola insignia verde de licencia en ningún lugar del producto. Esas palabras afirmarían algo que ningún programa puede comprobar.

Las licencias que Lolly ha revisado

Versión de reglas rights-rules-2026-09-13.2. Cada regla de abajo se leyó del propio texto legal de la licencia, y la sección de la que proviene se cita junto a ella tanto en engine/src/rights-profiles.ts como aquí. Una versión y un puerto se conservan tal como se registraron: una declaración de CC BY 3.0 conserva su propia versión en lugar de reportarse como 4.0 solo porque el selector de la app prefiere 4.0.

LicenciaQué pide de un uso que Lolly puede hacerLeído de
CC BY 4.0El autor, el título, el aviso de copyright, el nombre de la licencia y su enlace, el enlace a la fuente y una indicación de los cambios, cada uno cuando la fuente lo proporcionó. Ningún uso queda excluido, el uso comercial incluido.Código legal, secciones 2(a)(1) y 3(a)
CC BY-SA 4.0El mismo crédito. Además, si compartes una adaptación, sale bajo una licencia compatible: CC BY-SA 4.0, la Free Art License 1.3, o GPL-3.0-or-later, que funciona en una sola dirección. Esas tres se llevan como datos de la lista de Creative Commons, nunca comparadas por nombre.Código legal, secciones 3(a) y 3(b); la lista de licencias compatibles
CC0 1.0Nada. La dedicatoria no lleva ninguna condición, así que Lolly ofrece un crédito de cortesía y nunca lo presenta como obligatorio.La dedicatoria, secciones 2 y 3; las preguntas frecuentes de CC sobre acreditar
CC-PDDCNada. Lo que se registra es la propia afirmación y quién la hizo, porque una certificación es la declaración de una parte, no una prueba.Párrafos de la dedicatoria y certificación
Apache License 2.0Los avisos de la fuente y el texto de atribución del archivo NOTICE viajan con una obra distribuida. Un uso en tiempo de ejecución no pide nada. Una licencia que pide un texto de aviso y una obra que no lleva ninguno se reporta como un vacío.Apache License 2.0, sección 4, condiciones 1 a 4
MITLa línea de copyright y el aviso de permiso viajan con las copias y las partes sustanciales. Los usos en tiempo de ejecución y de referencia no piden nada.MIT, la condición del aviso de permiso
SIL OFL 1.1Representar texto con la tipografía no pide nada del texto. Pasar el archivo de la tipografía lleva consigo la licencia, el aviso de copyright y la regla del nombre reservado.OFL 1.1, condiciones 2, 3 y 5; las preguntas frecuentes de OFL sobre documentos

Registrado, no interpretado

CC BY-NC, CC BY-ND y las combinaciones NC-SA y NC-ND se reconocen, sus condiciones se listan, y ninguna regla de aquí las lee. Reportan licence.unknown con una línea que nombra las condiciones. Un contexto comercial no se puede deducir de un precio o una cuenta, y cada texto combinado necesita su propia revisión antes de que una regla lo toque.

Tres respuestas honestas más, ninguna de las cuales es un permiso:

La información de licencia ausente nunca se interpreta como evidencia de que una obra es libre de transmitir.

Lo que Lolly hace por ti

Lo que sigue siendo tuyo

En la línea de comandos

Un render imprime un bloque Rights: en la salida de error estándar cuando la evaluación tiene un crédito requerido o un problema. Lleva el estado, una línea por problema como code - summary, lo que arrojó la relectura del archivo entregado, y el texto del crédito para pegar.

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.

Esas dos afirmaciones son independientes, que es justo el sentido de mantenerlas separadas: el crédito está en el archivo, y todavía falta una decisión de licencia antes de compartir el archivo. El archivo se escribe de todos modos.

EstadoSignificadoSalida
readyNada está a la espera de una persona.0
actions-requiredQueda una decisión pendiente antes de compartir el archivo. El archivo se escribe de todos modos.4
use-not-coveredUna regla revisada dice que la licencia no cubre este uso.4
unknownLos únicos problemas son vacíos: una licencia que no se registró, o condiciones que no se interpretan.0
delivery-failedLo establece un recibo, nunca una evaluación: un crédito prometido no se encontró en los bytes entregados. El panel de exportación lo muestra; la CLI reporta el mismo hecho en su línea de relectura en su lugar.no se imprime

La salida 4 es el código que esta CLI ya le da a una comprobación de protección que dijo que no. Deliberadamente no es 3, que significa "reintentar en otro ejecutor", porque una decisión de licencia estará esperando en cualquier ejecutor que exista.

--rights=private declara que este render no se está entregando a nadie. El bloque se sigue imprimiendo y el crédito sigue ahí para copiar; lo que se retira es la condición que se aplica al compartir, y no se registra ninguna afirmación de entrega. No hay ninguna opción para ignorar una condición: --rights=ignore es un error de uso.

Los códigos de problema son estables y legibles por máquina, independientes del texto traducido:

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

A través de MCP, lolly_verify devuelve una carga rights con el resumen, una fila por cada fuente registrada y los límites declarados; un lolly_render sin navegador devuelve status, issues, credits, fingerprint y una marca creditsInFile que se mide releyendo los bytes.

Dónde viven las reglas

Cuatro módulos del motor, todos puros: sin red, sin reloj, sin sistema de archivos. Los datos de las reglas están versionados y viven en el repositorio, nunca se descargan.

MóduloQué contiene
engine/src/rights-profiles.tsLa tabla de identificadores, el lector mínimo de expresiones SPDX, los perfiles revisados con sus citas, y la única regla sobre si un crédito puede imprimir un enlace.
engine/src/rights-evaluate.tsClasificación, problemas, el plan de atribución y la huella. Determinista: los mismos hechos en un orden distinto dan la misma respuesta.
engine/src/rights-attribution.tsCréditos legibles, los archivos complementarios, los ingredientes de origen y el recibo medido después de escribir.
engine/src/rights-report.tsUna credencial verificada, releída como las tres preguntas que hace Verify.

Los archivos de expectativas en tests/fixtures/rights/ se redactaron a partir de los textos de las licencias y no de la salida del evaluador, y su README cita la sección detrás de cada expectativa.

Lo que esto no hace

Dicho sin rodeos, porque un vacío que no se nombra se lee como una promesa.