Lolly
Отвори приложението

Творчески права, кредити и какво остава твое

Трябва да можеш да използваш добра работа, направена от други хора, без да ставаш експерт по лицензиране и без тихомълком да пропускаш хората, които са я направили. Затова Lolly пази източника на всяка творба, от която черпи, чете лиценза, записан за нея, преценява какво иска този лиценз от употребата, която всъщност правиш, върши частта, която програма може да свърши, и назовава частта, която само ти можеш да свършиш.

Нищо от това не е правен съвет и нищо от него не е присъда за твоя проект. Lolly записва факти, прилага малък набор от правила, прочетени от собствените правни текстове на лицензите, и показва как е стигнал до тях. Лиценз с условия е нормален, разрешен избор. Той никога не се представя като повреден актив.

Три факта, държани разделени

"CC BY 4.0", "тази употреба се нуждае от кредит" и "кредитът е във файла, който току-що изтегли" са три различни твърдения, и Lolly ги държи разделени:

Къде срещаш това за пръв път

Наборите с емоджита са ежедневният случай. Twemoji е CC BY 4.0, така че заглавие с емоджи в него се експортира с кредитирана графика и нищо не остава да правиш. И двата набора OpenMoji са CC BY-SA 4.0, така че прекрасяването на един от техните символи с брандова обработка е адаптация, а споделянето на тази адаптация те моли да избереш съвместим лиценз веднъж. Изборът на набор никога не е блокиран, а контролът за набора назовава лиценза там, където го избираш. Същите правила отговарят за илюстрация от каталога, LUT, шрифт и всяка друга записана творба.

Думите, които Lolly използва

Един речник в панела за експорт, Verify, командния ред и машинния резултат.

Какво виждашКакво означава
Кредитите за източник ще бъдат включени.Кредитът е подготвен и пътят може да го пренесе. Нищо още не е записано, така че това не е съобщение за успех.
Кредитите са включени в метаданните на този файл.Доставените байтове бяха прочетени обратно, удостоверението беше проверено и всеки изискван източник беше намерен в него.
Кредитите и удостоверенията са в пакета за изтегляне.Кредитът пътува като придружаващ файл до артефакта. Дръж ги заедно, когато ги предаваш нататък.
Добави този кредит в описанието на публикацията.Избраният път не носи нито удостоверение, нито четим кредит, така че текстът на кредита е твой да го поставиш.
Ако споделиш тази адаптация, тя се нуждае от съвместим лиценз.Източник ShareAlike беше променен и резултатът е насочен другаде, а не към лична употреба. Изборът е едно действие, не диалог за всяко поставяне.
Лицензът на източника не е записан.Нищо не е записано за този източник. Това е празнина за запълване, не констатация срещу творбата.
Условията са записани, но още не са интерпретирани.Идентификаторът е разпознат и условията му са изброени, а никое правило тук не ги чете. Никакво автоматично одобрение, никаква автоматична забрана.
Две декларации за лиценз не съвпадат.Два записа назовават различни лицензи и нищо не е избрало кое разрешение важи.
Няма изискван кредит според записаното посвещение CC0.Посвещението не изисква нищо. Кредит от учтивост въпреки това се предлага.
Кредитите не са във файла, който беше доставен.Кредит беше обещан, повторното прочитане не го намери, а файлът все още е твой. Експортирай отново или използвай текста на кредита ръчно.

Lolly не използва изразите "авторско право проверено", "законно безопасно", "напълно изчистено" или "права изчистени", и никъде в продукта няма нито един зелен бадж за лиценз. Тези думи биха твърдели нещо, което никоя програма не може да провери.

Лицензите, които Lolly е прегледал

Версия на правилата rights-rules-2026-09-13.2. Всяко правило по-долу е прочетено от собствения правен текст на лиценза, а разделът, от който идва, е цитиран до него в engine/src/rights-profiles.ts, както и тук. Версия и порт се пазят такива, каквито са записани: декларация за CC BY 3.0 пази собствената си версия, вместо да бъде отчетена като 4.0, само защото избирачът на приложението предпочита 4.0.

ЛицензКакво изисква от употреба, която Lolly може да направиПрочетено от
CC BY 4.0Създателят, заглавието, известието за авторско право, името и линкът на лиценза, линкът към източника и означение на промените - всяко едно от тях, когато източникът го е предоставил. Никоя употреба не е изключена, включително търговска употреба.Правен текст, раздели 2(a)(1) и 3(a)
CC BY-SA 4.0Същият кредит. В допълнение, ако споделиш адаптация, тя излиза под съвместим лиценз: CC BY-SA 4.0, Free Art License 1.3, или GPL-3.0-or-later, който важи само в една посока. Тези три се пренасят като данни от списъка на Creative Commons, никога не се съпоставят по име.Правен текст, раздели 3(a) и 3(b); списъкът на съвместимите лицензи
CC0 1.0Нищо. Посвещението не носи никакво условие, затова Lolly предлага кредит от учтивост и никога не го представя като изискван.Посвещението, раздели 2 и 3; ЧЗВ на CC за кредитиране
CC-PDDCНищо. Записаното е самото твърдение и кой го е направил, защото сертификация е изявление на едната страна, а не доказателство.параграфите на посвещението и сертификацията
Apache License 2.0Известията от източника и текстът за приписване от файла NOTICE пътуват с разпространявана творба. Употреба по време на изпълнение не изисква нищо. Лиценз, който изисква текст на известие, а творба, която не носи такъв, се отчита като празнина.Apache License 2.0, раздел 4, условия от 1 до 4
MITРедът за авторско право и известието за разрешение пътуват с копия и съществени части. Употреби по време на изпълнение и справочни употреби не изискват нищо.MIT, условието за известие за разрешение
SIL OFL 1.1Изобразяването на текст с шрифта не изисква нищо от текста. Предаването на файла на шрифта носи лиценза, известието за авторско право и правилото за запазено име.OFL 1.1, условия 2, 3 и 5; ЧЗВ на OFL за документи

Записано, не интерпретирано

CC BY-NC, CC BY-ND и комбинациите NC-SA и NC-ND са разпознати, условията им са изброени, и никое правило тук не ги чете. Те отчитат licence.unknown с ред, назоваващ условията. Търговски контекст не може да се изведе от цена или акаунт, а всеки комбиниран текст се нуждае от собствен преглед, преди правило да го докосне.

Три още по-честни отговора, нито един от които не е разрешение:

Липсваща информация за лиценз никога не се чете като доказателство, че творба е свободна за предаване нататък.

Какво прави Lolly за теб

Какво остава твое

На командния ред

Рендиране отпечатва блок Rights: в стандартната грешка, когато оценката има изискван кредит или проблем. Той носи статуса, по един ред за проблем във формат code - summary, това, което доставеният файл се прочете обратно като, и текста на кредита за поставяне.

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.

Тези две твърдения са независими, което е смисълът да се държат разделени: кредитът е във файла, а решение за лиценз все още се дължи, преди файлът да бъде споделен. Файлът се записва и в двата случая.

СтатусЗначениеИзход
readyНищо не чака човек.0
actions-requiredОстава решение, преди файлът да бъде споделен. Файлът все пак се записва.4
use-not-coveredПрегледано правило казва, че лицензът не покрива тази употреба.4
unknownЕдинствените проблеми са празнини: лиценз, който не е записан, или условия, които не са интерпретирани.0
delivery-failedЗадава се от разписка, никога от оценка: обещан кредит не е намерен в доставените байтове. Панелът за експорт го показва; CLI-то отчита същия факт в реда си за повторно прочитане вместо това.не се отпечатва

Изход 4 е кодът, който това CLI вече дава на защитна проверка, казала не. Той умишлено не е 3, което означава "опитай отново на друг runner", а решение за лиценз ще чака на всеки съществуващ runner.

--rights=private заявява, че това рендиране не се доставя на никого. Блокът все пак се отпечатва и кредитът все още стои там за копиране; това, което отпада, е условието, което важи при споделяне, и не се записва никакво твърдение за доставка. Няма флаг за игнориране на условие: --rights=ignore е грешка при употреба.

Кодовете на проблемите са стабилни и машинно четими, независими от преведения текст:

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

През MCP, lolly_verify връща полезен товар rights с обобщението, по един ред за всеки записан източник и посочените граници; lolly_render без браузър връща status, issues, credits, fingerprint и флаг creditsInFile, измерен чрез повторно прочитане на байтовете.

Къде живеят правилата

Четири модула на ядрото, всички чисти: без мрежа, без часовник, без файлова система. Данните за правилата са версионирани и в хранилището, никога извличани.

МодулКакво съдържа
engine/src/rights-profiles.tsТаблицата с идентификатори, минималният четец на SPDX израз, прегледаните профили с техните цитати, и единственото правило за линк, който кредит може да отпечата.
engine/src/rights-evaluate.tsКласификация, проблеми, планът за приписване и отпечатъкът. Детерминистичен: същите факти в различен ред дават същия отговор.
engine/src/rights-attribution.tsЧетими кредити, придружаващите файлове, съставките на източника и разписката, измерена след записване.
engine/src/rights-report.tsПроверено удостоверение, прочетено обратно като трите въпроса, които Verify задава.

Файловете с очаквания в tests/fixtures/rights/ са написани от текстовете на лицензите, а не от изхода на оценителя, и README-то им цитира раздела зад всяко очакване.

Какво това не прави

Казано ясно, защото празнина, която не е назована, се чете като обещание.