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, що означає "повторити на іншому раннері", адже рішення щодо ліцензії чекатиме на кожному наявному раннері.

--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 цитує розділ, що стоїть за кожним очікуванням.

Чого це не робить

Сказано прямо, бо неназвана прогалина читається як обіцянка.