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:
- Dowód to to, co zadeklarowało źródło, zapisane tak, jak zostało znalezione, wraz z tym, kto to powiedział i gdzie zostało odczytane. Późniejszy import nigdy nie nadpisuje wcześniejszego zapisu.
- Zobowiązanie to to, co sprawdzone reguły robią z tym dowodem dla jednego zastosowania, jednej drogi dostarczenia i jednej grupy odbiorców. Warunki dotyczące udostępniania pozostają warunkowe, dopóki pracujesz prywatnie.
- Dostarczenie to to, co gotowe bajty faktycznie niosą, zmierzone przez ich ponowny odczyt. Lolly mówi, że przypisanie autorstwa jest uwzględnione dopiero, gdy czytnik znajdzie je w dostarczonym pliku.
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 widzisz | Co 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.
| Licencja | Czego wymaga od zastosowania, którego może dokonać Lolly | Źródło |
|---|---|---|
| CC BY 4.0 | Twó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.0 | To 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.0 | Nic. 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-PDDC | Nic. 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.0 | Uwagi 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 |
| MIT | Linia 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.1 | Renderowanie 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:
- Identyfikator
LicenseRef-wraca taki, jaki jest. Wskazuje na zapisaną definicję i nigdy nie jest własnościowy przez samo brzmienie. - Deklaracja, której nic nie rozpoznaje, wraca niezinterpretowana, z oryginalnym tekstem zachowanym obok niej.
A OR Bto wybór zaoferowany przez posiadacza praw, więc zwracana jest każda alternatywa i żadna nie jest wybierana.A AND Bjest łączne, i te reguły to rejestrują, zamiast odczytywać dwa profile razem.
Brak informacji o licencji nigdy nie jest odczytywany jako dowód, że dzieło można swobodnie przekazywać dalej.
Co Lolly robi dla ciebie
- W katalogu. Karta dzieła pokazuje jego źródło i twórcę, kanoniczną nazwę licencji z zachowaną pod spodem oryginalną etykietą, kopiowalne przypisanie tam, gdzie zostało zarejestrowane, oraz jedną linijkę mówiącą, czego wymaga jego użycie. Kafelek podaje wymóg; nigdy nie twierdzi, że eksport został ukończony.
- W panelu eksportu. Karta Source credits pojawia się, gdy tylko renderowanie korzysta z zarejestrowanego dzieła. Pokazuje stan, tekst przypisania pod Szczegółami, przycisk Kopiuj przypisanie oraz osadzoną kartę, gdy pozostaje decyzja do podjęcia. Decyzja nigdy nie jest blokującym oknem: pobieranie, które ma jeszcze pozostałą czynność, przebiega dalej, a prywatna praca pozostaje użyteczna.
- W pliku. Eksport, który umieścił zarejestrowane dzieło, zapisuje jeden składnik źródłowy Content Credentials na każde odrębne dzieło, powiązany z oryginalnymi bajtami pod ich publicznym adresem, niosący twórcę, licencję wraz z jej linkiem, źródło, wersję i zmiany. Lolly podpisuje to, co zaobserwowała. Nigdy nie podpisuje twierdzenia w imieniu pierwotnego artysty, a Verify mówi, które z tych dwóch miało miejsce.
- Po zapisaniu. Dostarczone bajty są odczytywane ponownie, zanim cokolwiek stwierdzi, że przypisanie zostało uwzględnione. Poświadczenie, które się nie zweryfikowało, nie liczy się jako dostarczone przypisanie.
- W edytowalnym pliku
.lolly. Bajty podróżują tylko wtedy, gdy sprawdzona licencja rejestruje zezwolenie na przekazanie źródła dalej, a plikCREDITS.txtpaczki wypisuje, co podróżowało, na jakiej licencji, i co zostało wstrzymane wraz z powodem. Niezarejestrowana licencja jest wstrzymywana. Nadal możesz świadomie dołączyć wstrzymaną zawartość, a plik z przypisaniami odnotowuje, że to był twój wybór. - W Verify. Panel Źródła wypisuje każde źródło zarejestrowane przez plik, wraz z obliczonym podsumowaniem, przypisaniem, przyciskiem Kopiuj przypisanie, linkiem Otwórz źródło, który jest otwierany tylko na żądanie, oraz podanymi ograniczeniami tego, co zostało sprawdzone. Pytanie Sprawdź dla tego zastosowania jest zadawane tylko wtedy, gdy wybierasz zastosowanie, i nic nie jest pobierane, by na nie odpowiedzieć.
- Gdy usuwasz metadane. Usuwanie mówi ci, ile przypisań źródeł plik już nie niesie, oferuje tekst przypisania i oferuje czysty plik z przypisaniami obok niego. Wyczyszczone bajty nigdy nie są ponownie znakowane.
Co zostaje twoje
- Wybór licencji należy do ciebie. Zgłoszenie praw do pliku rozdziela trzy stany, które kiedyś były jednym: brak zadeklarowanej licencji publicznej, wyraźna informacja o zastrzeżeniu wszystkich praw oraz faktyczne udzielenie licencji publicznej. Lolly zapisuje linię praw tylko dla tych dwóch ostatnich, i nigdy z twojego profilu.
- Twoje dzieło nie jest za ciebie relicencjonowane. Warunki źródła i twoja własna deklaracja dotycząca wyniku to osobne zapisy. Warunek ShareAlike dotyczy opracowania, którym rządzi, a nie automatycznie wszystkiego innego, co stworzyłeś.
- Prywatna praca pozostaje użyteczna. Warunki, które obowiązują przy udostępnianiu, są podnoszone, gdy udostępnianie wchodzi w grę. Nic tutaj nie zamienia się w zakaz importu, i żadna ankieta licencyjna nie stoi między tobą a twoimi własnymi plikami.
- Decyzja jest pamiętana w odniesieniu do własnych faktów. Każdy zapisany przez ciebie wybór jest oznaczany odciskiem palca dzieł, zastosowań, drogi i odbiorców, których dotyczył. Zmień zestaw, zabieg, format lub odbiorców, a pytanie zostanie zadane ponownie. Nie ma tu ogólnego przełącznika „ignoruj licencje”, ponieważ kliknięcie, by odprawić ostrzeżenie, nie może dostarczyć przypisania ani udzielić zezwolenia.
- Twoje dane pozostają oddzielone od przypisania osoby trzeciej. Usunięcie twoich własnych danych osobowych nie usuwa uznanego artysty, a wymagane przypisanie nigdy nie jest wymówką do eksportowania twoich danych kontaktowych.
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.
| Status | Znaczenie | Kod wyjścia |
|---|---|---|
ready | Nic nie czeka na człowieka. | 0 |
actions-required | Przed udostępnieniem pliku pozostaje decyzja. Plik i tak zostaje zapisany. | 4 |
use-not-covered | Sprawdzona reguła mówi, że licencja nie obejmuje tego zastosowania. | 4 |
unknown | Jedynymi problemami są luki: licencja, która nie została zarejestrowana, lub warunki, które nie są interpretowane. | 0 |
delivery-failed | Ustawiany 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.ts | Tabelę 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.ts | Klasyfikację, problemy, plan przypisania autorstwa i odcisk palca. Deterministyczny: te same fakty w innej kolejności dają tę samą odpowiedź. |
engine/src/rights-attribution.ts | Czytelne przypisania, pliki towarzyszące, składniki źródłowe oraz potwierdzenie zmierzone po zapisaniu. |
engine/src/rights-report.ts | Zweryfikowane 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.
- NC i ND nie są interpretowane. Ich warunki są rejestrowane i zgłaszane jako nieznane.
- Żaden cel nie jest potwierdzony. Lolly przygotowuje podpis; to, że łącznik przyjmuje żądanie, nie jest dowodem, że przypisanie dotarło do czytelnika, i nic tutaj nie obiecuje, że późniejszy upload, zrzut ekranu czy transkodowanie zachowa ukryte metadane.
- Natywne pola przypisania w metadanych nie są zapisywane z planu. Przypisania podróżują w Content Credentials i w czytelnym tekście. Pola przypisania IPTC i XMP dla poszczególnych źródeł nie są jeszcze wypełniane z planu przypisania.
- Poprawki i wycofanie nie są zbudowane. Dodanie brakującego twórcy lub lokalnej poprawki do zarejestrowanego dzieła oraz wycofanie zapisu nie mają interfejsu.
- Połączeni dostawcy nie są zbudowani. Zakupione stockowe zasoby, niestandardowe zezwolenie i konto dostawcy nie mają ścieżki importu, więc ich uprawnienia mogą być rejestrowane tylko jako twoje własne oświadczenie.
- Polityka organizacji nie jest łączona z tymi wynikami. Polityka eksportu i warunki licencji są dziś oddzielne, a zatwierdzenie organizacji nie jest zezwoleniem od posiadacza praw.
- Kilka dróg dostarczenia nie jest jeszcze na tej ścieżce. Pobieranie oryginału z katalogu, zbiorczy ZIP, pochodne pobranie, Send oraz Copy image nie oceniają ani nie niosą jeszcze tych przypisań.