Anda seharusnya bisa memakai karya bagus buatan orang lain tanpa perlu menjadi ahli lisensi, dan tanpa diam-diam melupakan orang yang membuatnya. Karena itu Lolly menyimpan sumber setiap karya yang digunakannya, membaca lisensi yang tercatat untuknya, menghitung apa yang diminta lisensi itu untuk penggunaan yang sebenarnya Anda lakukan, mengerjakan bagian yang bisa dikerjakan program, dan menyebutkan bagian yang hanya bisa Anda kerjakan sendiri.
Tidak satu pun dari ini adalah nasihat hukum, dan tidak satu pun adalah putusan tentang proyek Anda. Lolly mencatat fakta, menerapkan sekumpulan kecil aturan yang dibaca dari teks hukum lisensi itu sendiri, dan menunjukkan cara kerjanya. Lisensi dengan syarat adalah pilihan normal yang diperbolehkan. Itu tidak pernah ditampilkan sebagai aset yang bermasalah.
Tiga fakta, dijaga terpisah
"CC BY 4.0", "penggunaan ini butuh kredit" dan "kreditnya ada di file yang baru saja Anda unduh" adalah tiga pernyataan berbeda, dan Lolly menjaganya tetap terpisah:
- Bukti adalah apa yang dinyatakan sebuah sumber, dicatat sebagaimana ditemukan, lengkap dengan siapa yang menyatakannya dan di mana itu dibaca. Impor berikutnya tidak pernah menimpa catatan sebelumnya.
- Kewajiban adalah apa yang dihasilkan aturan yang telah ditinjau dari bukti itu untuk satu penggunaan, satu jalur pengiriman dan satu audiens. Syarat berbagi tetap bersyarat selama Anda bekerja secara privat.
- Pengiriman adalah apa yang benar-benar dibawa oleh byte jadi, diukur dengan membacanya kembali. Lolly menyatakan kredit sudah disertakan hanya setelah pembaca menemukannya di dalam file yang dikirimkan.
Di mana Anda pertama kali menemui ini
Set emoji adalah kasus sehari-hari. Twemoji berlisensi CC BY 4.0, sehingga heading yang berisi emoji diekspor dengan karya seninya sudah dikreditkan dan tidak ada lagi yang perlu Anda lakukan. Kedua set OpenMoji berlisensi CC BY-SA 4.0, sehingga mewarnai ulang salah satu glyph-nya dengan perlakuan brand adalah sebuah adaptasi, dan membagikan adaptasi itu meminta Anda memilih lisensi yang kompatibel satu kali. Memilih set tidak pernah diblokir, dan kontrol set menyebutkan lisensinya tepat di tempat Anda memilihnya. Aturan yang sama berlaku untuk ilustrasi katalog, LUT, font, dan karya tercatat lainnya.
Kata-kata yang digunakan Lolly
Satu kosakata yang sama di panel ekspor, Verify, command line, dan hasil mesin.
| Yang Anda lihat | Artinya |
|---|---|
| Kredit sumber akan disertakan. | Kreditnya sudah disiapkan dan jalur pengirimannya bisa membawanya. Belum ada yang ditulis, sehingga ini bukan pesan keberhasilan. |
| Kredit disertakan dalam metadata file ini. | Byte yang dikirimkan telah dibaca kembali, kredensialnya terverifikasi, dan setiap sumber yang diwajibkan ditemukan di dalamnya. |
| Kredit dan kredensial ada dalam paket unduhan. | Kreditnya ikut sebagai file pendamping di samping artifaknya. Simpan keduanya bersama-sama saat Anda meneruskannya. |
| Tambahkan kredit ini ke deskripsi unggahan. | Jalur yang dipilih tidak membawa kredensial maupun kredit yang bisa dibaca, sehingga teks kreditnya harus Anda tempel sendiri. |
| Jika Anda membagikan adaptasi ini, dibutuhkan lisensi yang kompatibel. | Sebuah sumber ShareAlike diubah dan hasilnya akan digunakan di luar penggunaan privat. Memilih adalah satu tindakan, bukan dialog per penempatan. |
| Lisensi sumber tidak tercatat. | Tidak ada yang tercatat untuk sumber ini. Itu adalah celah yang perlu diisi, bukan temuan yang memberatkan karya tersebut. |
| Syarat tercatat, belum diinterpretasikan. | Pengidentifikasinya dikenali dan syarat-syaratnya terdaftar, tetapi tidak ada aturan di sini yang membacanya. Tidak ada lolos otomatis, tidak ada larangan otomatis. |
| Dua deklarasi lisensi tidak sesuai. | Dua catatan menyebutkan lisensi yang berbeda dan belum ada yang menentukan pemberian izin mana yang berlaku. |
| Tidak ada kredit wajib di bawah dedikasi CC0 yang tercatat. | Dedikasinya tidak meminta apa pun. Kredit sebagai bentuk kesopanan tetap ditawarkan. |
| Kreditnya tidak ada di dalam file yang dikirimkan. | Sebuah kredit telah dijanjikan, pembacaan kembali tidak menemukannya, dan file itu tetap milik Anda. Ekspor ulang, atau gunakan teks kreditnya secara manual. |
Lolly tidak menggunakan "hak cipta terverifikasi", "aman secara hukum", "sudah sepenuhnya beres" atau "hak-haknya sudah beres", dan tidak ada satu pun lencana lisensi hijau di mana pun dalam produk ini. Kata-kata itu akan mengklaim sesuatu yang tidak bisa diperiksa oleh program mana pun.
Lisensi yang telah ditinjau Lolly
Versi aturan rights-rules-2026-09-13.2. Setiap aturan di bawah ini dibaca dari teks hukum lisensi itu sendiri, dan bagian sumbernya dikutip di sampingnya baik di engine/src/rights-profiles.ts maupun di sini. Versi dan porting tetap dijaga sebagaimana tercatat: deklarasi CC BY 3.0 tetap memakai versinya sendiri, bukan dilaporkan sebagai 4.0, hanya karena pemilih di aplikasi lebih menyukai 4.0.
| Licence | Apa yang diminta untuk penggunaan yang bisa dilakukan Lolly | Dibaca dari |
|---|---|---|
| CC BY 4.0 | Pencipta, judul, notice hak cipta, nama dan tautan lisensi, tautan sumber, serta indikasi perubahan, masing-masing ketika sumbernya menyediakannya. Tidak ada penggunaan yang dikecualikan, termasuk penggunaan komersial. | Teks hukum, bagian 2(a)(1) dan 3(a) |
| CC BY-SA 4.0 | Kredit yang sama. Sebagai tambahan, jika Anda membagikan sebuah adaptasi, itu harus keluar di bawah lisensi yang kompatibel: CC BY-SA 4.0, Free Art License 1.3, atau GPL-3.0-or-later, yang berlaku satu arah saja. Ketiganya dibawa sebagai data dari daftar Creative Commons, tidak pernah dicocokkan berdasarkan nama. | Teks hukum, bagian 3(a) dan 3(b); daftar lisensi yang kompatibel |
| CC0 1.0 | Tidak ada. Dedikasinya tidak membawa syarat apa pun, sehingga Lolly menawarkan kredit sebagai bentuk kesopanan dan tidak pernah menampilkannya sebagai kewajiban. | Dedikasinya, bagian 2 dan 3; FAQ CC soal pemberian kredit |
| CC-PDDC | Tidak ada. Yang tercatat adalah pernyataan itu sendiri dan siapa yang membuatnya, karena sertifikasi adalah pernyataan satu pihak, bukan bukti. | Paragraf-paragraf dedikasi dan sertifikasi |
| Apache License 2.0 | Notice dari sumber dan teks atribusi file NOTICE ikut bersama karya yang didistribusikan. Penggunaan runtime tidak meminta apa pun. Lisensi yang meminta teks notice sementara karya tidak membawanya dilaporkan sebagai celah. | Apache License 2.0, bagian 4, syarat 1 sampai 4 |
| MIT | Baris hak cipta dan notice izin ikut bersama salinan dan bagian substansialnya. Penggunaan runtime dan referensi tidak meminta apa pun. | MIT, syarat notice izin |
| SIL OFL 1.1 | Merender teks dengan font ini tidak meminta apa pun dari teksnya. Meneruskan file font-nya membawa lisensi, notice hak cipta, dan aturan reserved-name-nya. | OFL 1.1, syarat 2, 3 dan 5; FAQ OFL soal dokumen |
Tercatat, tidak diinterpretasikan
CC BY-NC, CC BY-ND serta kombinasi NC-SA dan NC-ND dikenali, syarat-syaratnya terdaftar, tetapi tidak ada aturan di sini yang membacanya. Ketiganya melaporkan licence.unknown dengan satu baris yang menyebutkan syarat-syaratnya. Konteks komersial tidak bisa dibaca dari harga atau jenis akun, dan setiap teks gabungan membutuhkan tinjauannya sendiri sebelum disentuh oleh sebuah aturan.
Tiga jawaban jujur lainnya, tidak satu pun di antaranya adalah izin:
- Pengidentifikasi
LicenseRef-kembali sebagai dirinya sendiri. Ia menunjuk ke definisi yang tersimpan dan tidak pernah bersifat proprietary hanya karena ejaannya. - Deklarasi yang tidak dikenali apa pun kembali dalam bentuk tidak terurai (unparsed), dengan teks aslinya disimpan di sampingnya.
A OR Badalah pilihan yang ditawarkan pemegang hak, sehingga setiap alternatif dikembalikan dan tidak satu pun yang dipilih.A AND Bbersifat kumulatif, dan aturan-aturan ini mencatatnya alih-alih membaca dua profil sekaligus.
Informasi lisensi yang hilang tidak pernah dibaca sebagai bukti bahwa sebuah karya bebas untuk diteruskan.
Apa yang dilakukan Lolly untuk Anda
- Di katalog. Lembar sebuah karya menampilkan sumber dan penciptanya, nama lisensi kanonis dengan label aslinya tetap disimpan di bawahnya, kredit yang bisa disalin bila ada yang tercatat, dan satu baris yang menyebutkan apa yang diminta oleh penggunaannya. Sebuah tile menyatakan persyaratannya; tile tidak pernah mengklaim bahwa sebuah ekspor telah selesai.
- Di panel ekspor. Kartu Source credits muncul begitu sebuah render menggunakan karya tercatat. Kartu ini menampilkan statusnya, teks kredit di balik Details, tombol Copy credit, dan kartu inline saat ada keputusan yang masih terutang. Sebuah keputusan tidak pernah menjadi dialog yang memblokir: unduhan yang masih menyisakan satu tindakan tetap berlanjut, dan karya privat tetap bisa dipakai.
- Di dalam file. Ekspor yang menempatkan karya tercatat menulis satu bahan sumber Content Credentials per karya yang berbeda, terikat ke byte aslinya pada alamat publiknya, membawa pencipta, lisensi beserta tautannya, sumber, revisi, dan perubahannya. Lolly menandatangani apa yang diamatinya. Lolly tidak pernah menandatangani klaim atas nama artis aslinya, dan Verify menyatakan mana dari keduanya yang terjadi.
- Setelah penulisan. Byte yang dikirimkan dibaca kembali sebelum apa pun menyatakan kreditnya sudah disertakan. Kredensial yang gagal terverifikasi tidak dihitung sebagai kredit yang terkirim.
- Di dalam file
.lollyyang bisa diedit. Byte hanya ikut berpindah ketika sebuah lisensi yang telah ditinjau mencatat izin untuk meneruskan sumbernya, danCREDITS.txtdi dalam paket mendaftar apa yang ikut berpindah, di bawah lisensi apa, dan apa yang ditahan beserta alasannya. Lisensi yang tidak tercatat akan ditahan. Anda tetap bisa menyertakan konten yang ditahan itu secara sengaja, dan file kreditnya mencatat bahwa itu adalah pilihan Anda. - Di Verify. Panel Sources mendaftar setiap sumber yang tercatat dalam sebuah file, lengkap dengan ringkasan yang dihitung, kreditnya, tombol Copy credit, tautan Open source yang hanya dibuka atas permintaan, dan batasan yang dinyatakan dari apa yang diperiksa. Pertanyaan Check for this use hanya diajukan ketika Anda memilih sebuah penggunaan, dan tidak ada yang diambil untuk menjawabnya.
- Saat Anda menghapus metadata. Penghapusan (stripping) memberi tahu Anda berapa banyak kredit sumber yang tidak lagi dibawa file tersebut, menawarkan teks kreditnya, dan menawarkan file bersih dengan kreditnya di sampingnya. Byte yang sudah dihapus tidak pernah distempel ulang.
Apa yang tetap menjadi milik Anda
- Pilihan lisensi Anda adalah milik Anda. Mengklaim sebuah file memisahkan tiga keadaan yang dulunya satu: tidak ada lisensi publik yang dideklarasikan, notice eksplisit bahwa seluruh hak dilindungi, dan pemberian lisensi publik yang sungguhan. Lolly menulis baris hak hanya untuk dua yang terakhir, dan tidak pernah dari profil Anda.
- Karya Anda tidak dilisensikan ulang untuk Anda. Syarat sebuah sumber dan deklarasi output Anda sendiri adalah catatan yang terpisah. Syarat ShareAlike berlaku untuk adaptasi yang diaturnya, bukan secara otomatis untuk semua hal lain yang Anda buat.
- Karya privat tetap bisa dipakai. Syarat yang berlaku saat berbagi baru diangkat ketika berbagi memang sedang dipertimbangkan. Tidak satu pun di sini berubah menjadi larangan impor, dan tidak ada kuesioner perlisensian yang menghalangi Anda dengan file Anda sendiri.
- Sebuah keputusan diingat berdasarkan faktanya sendiri. Setiap pilihan yang Anda catat distempel dengan sidik jari dari karya, penggunaan, jalur, dan audiens yang menjadi dasar keputusan itu dibuat. Ubah set, perlakuan, format, atau audiensnya, dan pertanyaannya diajukan lagi. Tidak ada sakelar "abaikan lisensi" yang berlaku untuk semuanya, karena mengklik hilangkan sebuah peringatan tidak bisa mengirimkan kredit atau memberikan izin.
- Detail Anda tetap terpisah dari kredit milik pihak ketiga. Menghapus metadata pribadi Anda sendiri tidak menghapus artis yang dikreditkan, dan kredit yang diwajibkan tidak pernah menjadi alasan untuk mengekspor detail kontak Anda.
Di command line
Sebuah render mencetak blok Rights: ke standard error ketika evaluasinya memiliki kredit wajib atau sebuah isu. Blok ini membawa status, satu baris per isu dalam bentuk code - summary, apa yang terbaca kembali dari file yang dikirimkan, dan teks kredit untuk ditempel.
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.Kedua pernyataan itu independen, dan itulah maksud dari menjaganya tetap terpisah: kreditnya ada di dalam file, dan sebuah keputusan lisensi masih terutang sebelum file itu dibagikan. File-nya tetap ditulis, apa pun keadaannya.
| Status | Arti | Exit |
|---|---|---|
ready | Tidak ada yang menunggu keputusan seseorang. | 0 |
actions-required | Masih ada keputusan yang tersisa sebelum file dibagikan. File-nya tetap ditulis. | 4 |
use-not-covered | Sebuah aturan yang telah ditinjau menyatakan lisensinya tidak mencakup penggunaan ini. | 4 |
unknown | Satu-satunya isu adalah celah: lisensi yang tidak tercatat, atau syarat yang tidak diinterpretasikan. | 0 |
delivery-failed | Ditetapkan oleh sebuah tanda terima, tidak pernah oleh evaluasi: kredit yang dijanjikan tidak ditemukan di dalam byte yang dikirimkan. Panel ekspor menampilkannya; CLI justru melaporkan fakta yang sama di baris pembacaan kembalinya. | tidak dicetak |
Exit 4 adalah kode yang sudah diberikan CLI ini untuk pemeriksaan protektif yang berkata tidak. Kode ini dengan sengaja bukan 3, yang berarti "coba lagi di runner lain", padahal keputusan lisensi akan tetap menunggu di runner mana pun.
--rights=private menyatakan bahwa render ini tidak sedang dikirimkan kepada siapa pun. Bloknya tetap dicetak dan kreditnya tetap ada untuk disalin; yang dikesampingkan adalah syarat yang berlaku saat berbagi, dan tidak ada klaim pengiriman yang dicatat. Tidak ada flag untuk mengabaikan sebuah syarat: --rights=ignore adalah kesalahan penggunaan (usage error).
Kode isu bersifat stabil dan bisa dibaca mesin, tidak bergantung pada teks yang diterjemahkan:
attribution.source-missing, attribution.delivery-missing, licence.adaptation-choice, licence.use-not-covered, licence.grant-conflict, licence.unknown, source.redistribution-unknown, credential.ingredient-missing.
Lewat MCP, lolly_verify mengembalikan payload rights berisi ringkasan, satu baris per sumber tercatat dan batasan yang dinyatakan; lolly_render yang bebas-browser mengembalikan status, issues, credits, fingerprint, dan sebuah flag creditsInFile yang diukur dengan membaca kembali byte-nya.
Di mana aturan-aturan ini berada
Empat modul engine, semuanya pure: tanpa jaringan, tanpa clock, tanpa filesystem. Data aturannya diberi versi dan berada di dalam repositori, tidak pernah diambil (fetched) dari luar.
| Module | Apa yang disimpannya |
|---|---|
engine/src/rights-profiles.ts | Tabel pengidentifikasi, pembaca ekspresi SPDX minimal, profil-profil yang telah ditinjau beserta kutipannya, dan satu aturan untuk tautan yang boleh dicetak sebuah kredit. |
engine/src/rights-evaluate.ts | Klasifikasi, isu, rencana atribusi, dan fingerprint. Deterministik: fakta yang sama dalam urutan berbeda memberi jawaban yang sama. |
engine/src/rights-attribution.ts | Kredit yang bisa dibaca, file pendamping, bahan sumber, dan tanda terima yang diukur setelah penulisan. |
engine/src/rights-report.ts | Kredensial terverifikasi yang dibaca kembali sebagai tiga pertanyaan yang diajukan Verify. |
File ekspektasi di tests/fixtures/rights/ disusun dari teks lisensi, bukan dari output evaluator, dan README-nya mengutip bagian di balik setiap ekspektasi.
Apa yang tidak dilakukan ini
Dinyatakan secara terus terang, karena sebuah celah yang tidak disebutkan terbaca sebagai sebuah janji.
- NC dan ND tidak diinterpretasikan. Syarat-syaratnya tercatat dan dilaporkan sebagai tidak diketahui (unknown).
- Tidak ada tujuan yang dikonfirmasi. Lolly menyiapkan sebuah caption; sebuah konektor yang menerima permintaan bukan bukti bahwa kredit sampai ke pembaca, dan tidak ada apa pun di sini yang menjanjikan bahwa unggahan, tangkapan layar, atau transcode berikutnya akan mempertahankan metadata tersembunyi.
- Bidang kredit metadata native tidak ditulis dari rencana atribusi. Kredit berjalan lewat Content Credentials dan lewat teks yang bisa dibaca. Bidang kredit per-sumber IPTC dan XMP belum diisi dari rencana atribusi.
- Koreksi dan penarikan belum dibangun. Menambahkan pencipta yang hilang atau koreksi lokal pada sebuah karya tercatat, serta menarik sebuah catatan, belum memiliki antarmuka.
- Penyedia yang terhubung belum dibangun. Stok yang dibeli, izin khusus, dan akun penyedia belum memiliki jalur impor, sehingga pemberian izinnya hanya bisa dicatat sebagai pernyataan Anda sendiri.
- Kebijakan organisasi tidak digabungkan dengan hasil ini. Kebijakan ekspor dan syarat lisensi saat ini terpisah, dan persetujuan organisasi bukanlah izin dari pemegang hak.
- Beberapa jalur pengiriman belum berada di jalur ini. Mengunduh original katalog, ZIP massal, unduhan turunan, Send, dan Copy image belum mengevaluasi atau membawa kredit-kredit ini.