Lolly
Otwórz aplikację

Prawa twórcze, przypisanie autorstwa i to, co zostaje twoje

Dobre dzieła stworzone przez inne osoby powinno dać się wykorzystać bez zostawania ekspertem od licencjonowania i bez cichego pomijania tych, którzy je stworzyli. Dlatego Lolly zapisuje źródło każdego dzieła, z którego korzysta, odczytuje licencję zarejestrowaną dla niego, ustala, czego ta licencja wymaga przy zastosowaniu, którego faktycznie dokonujesz, robi tę część, którą może zrobić program, i wskazuje tę część, którą możesz zrobić tylko ty.

Nic z tego nie jest poradą prawną ani orzeczeniem w sprawie twojego projektu. Lolly zapisuje fakty, stosuje niewielki zestaw reguł odczytanych z tekstów prawnych samych licencji i pokazuje tok swojego rozumowania. Licencja z warunkami to normalny, dozwolony wybór. Nigdy nie jest przedstawiana jako uszkodzony zasób.

Trzy fakty, trzymane osobno

„CC BY 4.0”, „to zastosowanie wymaga przypisania autorstwa” i „przypisanie jest w pliku, który właśnie pobrałeś” to trzy różne stwierdzenia, i Lolly trzyma je osobno:

Gdzie spotkasz się z tym po raz pierwszy

Zestawy emoji to codzienny przypadek. Twemoji ma licencję CC BY 4.0, więc nagłówek z emoji eksportuje się z podanym autorstwem grafiki i niczym więcej do zrobienia. Oba zestawy OpenMoji mają licencję CC BY-SA 4.0, więc przekolorowanie jednego z ich glifów przy pomocy zabiegu marki jest opracowaniem, a udostępnienie tego opracowania prosi cię o jednorazowy wybór kompatybilnej licencji. Wybór zestawu nigdy nie jest blokowany, a kontrolka zestawu podaje nazwę licencji tam, gdzie go wybierasz. Te same reguły dotyczą ilustracji z katalogu, LUT-a, czcionki i każdego innego zarejestrowanego dzieła.

Słowa, których używa Lolly

Jedno słownictwo w panelu eksportu, Verify, wierszu poleceń i wyniku maszynowym.

Co widziszCo to oznacza
Przypisanie źródeł zostanie uwzględnione.Przypisanie jest przygotowane, a droga dostarczenia może je przenieść. Nic nie zostało jeszcze zapisane, więc to nie jest komunikat o powodzeniu.
Przypisanie uwzględnione w metadanych tego pliku.Dostarczone bajty zostały odczytane ponownie, poświadczenie zweryfikowane, a każde wymagane źródło zostało w nim znalezione.
Przypisanie i poświadczenia są w pobranym pakiecie.Przypisanie podróżuje jako plik towarzyszący obok pliku wynikowego. Trzymaj je razem, gdy przekazujesz je dalej.
Dodaj to przypisanie do opisu posta.Wybrana droga nie niesie ani poświadczenia, ani czytelnego przypisania, więc tekst przypisania musisz wkleić sam.
Jeśli udostępnisz to opracowanie, potrzebuje ono kompatybilnej licencji.Źródło ShareAlike zostało zmienione, a wynik zmierza gdzieś poza użytek prywatny. Wybór to jedna czynność, a nie osobne okno dla każdego umieszczenia.
Licencja źródła nie została zarejestrowana.Dla tego źródła nic nie zostało zarejestrowane. To luka do wypełnienia, a nie zarzut wobec dzieła.
Warunki zarejestrowane, jeszcze nie zinterpretowane.Identyfikator jest rozpoznany, a jego warunki są wypisane, ale żadna reguła tutaj ich nie odczytuje. Żadnej automatycznej zgody, żadnego automatycznego zakazu.
Dwie deklaracje licencji są ze sobą sprzeczne.Dwa zapisy wskazują różne licencje i nic nie wybrało, które uprawnienie obowiązuje.
Brak wymaganego przypisania w ramach zarejestrowanej dedykacji CC0.Dedykacja niczego nie wymaga. Przypisanie z uprzejmości jest mimo to oferowane.
Przypisania nie ma w dostarczonym pliku.Przypisanie zostało obiecane, ponowny odczyt go nie znalazł, a plik nadal należy do ciebie. Wyeksportuj ponownie albo użyj tekstu przypisania ręcznie.

Lolly nie używa określeń „prawa autorskie zweryfikowane”, „prawnie bezpieczne”, „w pełni wyjaśnione” ani „prawa wyjaśnione”, i nigdzie w produkcie nie ma pojedynczej zielonej plakietki licencji. Te słowa twierdziłyby coś, czego żaden program nie potrafi sprawdzić.

Licencje, które Lolly sprawdziła

Wersja reguł rights-rules-2026-09-13.2. Każda reguła poniżej została odczytana z własnego tekstu prawnego danej licencji, a paragraf, z którego pochodzi, jest cytowany obok niej zarówno w engine/src/rights-profiles.ts, jak i tutaj. Wersja i port są zachowywane tak, jak zostały zarejestrowane: deklaracja CC BY 3.0 zachowuje własną wersję, zamiast być zgłaszana jako 4.0, tylko dlatego że selektor aplikacji preferuje 4.0.

LicencjaCzego wymaga od zastosowania, którego może dokonać LollyŹródło
CC BY 4.0Twórcę, tytuł, informację o prawach autorskich, nazwę i link do licencji, link do źródła oraz wskazanie zmian, każde z nich, gdy źródło je podało. Żadne zastosowanie nie jest wykluczone, w tym zastosowanie komercyjne.Tekst prawny, sekcje 2(a)(1) i 3(a)
CC BY-SA 4.0To samo przypisanie. Dodatkowo, jeśli udostępniasz opracowanie, wychodzi ono na kompatybilnej licencji: CC BY-SA 4.0, Free Art License 1.3 lub GPL-3.0-or-later, która działa tylko w jedną stronę. Ta trójka jest przenoszona jako dane z listy Creative Commons, nigdy dopasowywana po nazwie.Tekst prawny, sekcje 3(a) i 3(b); lista kompatybilnych licencji
CC0 1.0Nic. Dedykacja nie niesie żadnego warunku, więc Lolly oferuje przypisanie z uprzejmości i nigdy nie przedstawia go jako wymaganego.Dedykacja, sekcje 2 i 3; CC FAQ na temat przypisywania autorstwa
CC-PDDCNic. Rejestrowane jest samo oświadczenie i to, kto je złożył, ponieważ certyfikacja to twierdzenie jednej strony, a nie dowód.Akapity dedykacji i certyfikacji
Apache License 2.0Uwagi ze źródła i tekst przypisania z pliku NOTICE podróżują wraz z rozpowszechnianym dziełem. Zastosowanie w czasie działania niczego nie wymaga. Licencja, która wymaga tekstu uwagi, a dzieło, które go nie niesie, jest zgłaszane jako luka.Apache License 2.0, sekcja 4, warunki od 1 do 4
MITLinia praw autorskich i informacja o zezwoleniu podróżują wraz z kopiami i istotnymi częściami. Zastosowania w czasie działania i referencyjne niczego nie wymagają.MIT, warunek dotyczący informacji o zezwoleniu
SIL OFL 1.1Renderowanie tekstu tą czcionką niczego nie wymaga od tekstu. Przekazanie dalej pliku czcionki niesie licencję, informację o prawach autorskich i regułę zastrzeżonej nazwy.OFL 1.1, warunki 2, 3 i 5; OFL FAQ na temat dokumentów

Zarejestrowane, niezinterpretowane

CC BY-NC, CC BY-ND oraz kombinacje NC-SA i NC-ND są rozpoznawane, ich warunki są wypisywane, a żadna reguła tutaj ich nie odczytuje. Zgłaszają licence.unknown wraz z linijką wskazującą warunki. Kontekstu komercyjnego nie da się odczytać z ceny ani z konta, a każdy złożony tekst wymaga własnego przeglądu, zanim dotknie go jakakolwiek reguła.

Trzy kolejne szczere odpowiedzi, z których żadna nie jest zezwoleniem:

Brak informacji o licencji nigdy nie jest odczytywany jako dowód, że dzieło można swobodnie przekazywać dalej.

Co Lolly robi dla ciebie

Co zostaje twoje

W wierszu poleceń

Renderowanie wypisuje blok Rights: do standardowego wyjścia błędów, gdy ocena wykazuje wymagane przypisanie lub problem. Zawiera status, jedną linijkę na problem w postaci code - summary, to, jak odczytano z powrotem dostarczony plik, oraz tekst przypisania do wklejenia.

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.

Te dwa stwierdzenia są niezależne, i o to właśnie chodzi w ich rozdzieleniu: przypisanie jest w pliku, a decyzja licencyjna wciąż jest należna, zanim plik zostanie udostępniony. Plik i tak zostaje zapisany.

StatusZnaczenieKod wyjścia
readyNic nie czeka na człowieka.0
actions-requiredPrzed udostępnieniem pliku pozostaje decyzja. Plik i tak zostaje zapisany.4
use-not-coveredSprawdzona reguła mówi, że licencja nie obejmuje tego zastosowania.4
unknownJedynymi problemami są luki: licencja, która nie została zarejestrowana, lub warunki, które nie są interpretowane.0
delivery-failedUstawiany przez potwierdzenie odbioru, nigdy przez ocenę: obiecane przypisanie nie zostało znalezione w dostarczonych bajtach. Panel eksportu to pokazuje; CLI zamiast tego zgłasza ten sam fakt w swojej linijce odczytu zwrotnego.nie jest wypisywany

Kod wyjścia 4 to kod, który to CLI już nadaje zabezpieczającej kontroli, która odpowiedziała nie. Celowo nie jest to 3, co oznacza „spróbuj ponownie na innym runnerze”, a decyzja licencyjna będzie czekać na każdym runnerze, jaki istnieje.

--rights=private stwierdza, że to renderowanie nie jest dostarczane nikomu. Blok nadal się wypisuje, a przypisanie nadal jest tam do skopiowania; to, co zostaje wycofane, to warunek obowiązujący przy udostępnianiu, i żadne twierdzenie o dostarczeniu nie jest rejestrowane. Nie ma flagi do ignorowania warunku: --rights=ignore jest błędem użycia.

Kody problemów są stabilne i czytelne maszynowo, niezależnie od przetłumaczonej treści:

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

Przez MCP lolly_verify zwraca ładunek rights z podsumowaniem, jednym wierszem na każde zarejestrowane źródło i podanymi ograniczeniami; bezprzeglądarkowe lolly_render zwraca status, issues, credits, fingerprint oraz flagę creditsInFile, mierzoną przez ponowny odczyt bajtów.

Gdzie mieszkają reguły

Cztery moduły silnika, wszystkie czyste: żadnej sieci, żadnego zegara, żadnego systemu plików. Dane reguł są wersjonowane i znajdują się w repozytorium, nigdy nie są pobierane.

ModułCo zawiera
engine/src/rights-profiles.tsTabelę identyfikatorów, minimalny czytnik wyrażeń SPDX, sprawdzone profile wraz z ich cytatami oraz jedną regułę dotyczącą linku, jaki może wypisać przypisanie.
engine/src/rights-evaluate.tsKlasyfikację, problemy, plan przypisania autorstwa i odcisk palca. Deterministyczny: te same fakty w innej kolejności dają tę samą odpowiedź.
engine/src/rights-attribution.tsCzytelne przypisania, pliki towarzyszące, składniki źródłowe oraz potwierdzenie zmierzone po zapisaniu.
engine/src/rights-report.tsZweryfikowane poświadczenie odczytane z powrotem jako trzy pytania, które zadaje Verify.

Pliki oczekiwań w tests/fixtures/rights/ zostały napisane na podstawie tekstów licencji, a nie na podstawie wyniku ewaluatora, a ich README cytuje paragraf stojący za każdym oczekiwaniem.

Czego to nie robi

Powiedziane wprost, ponieważ nienazwana luka brzmi jak obietnica.