Lisensi AI: Kode, Weights, dan Dataset Adalah Tiga Kontrak Berbeda

Lisensi AI: Kode, Weights, dan Dataset Adalah Tiga Kontrak Berbeda
Sebuah model AI bukan satu artifact. Minimal ada tiga — kode, trained weights, dan training data — dan masing-masing kontrak terpisah. Lampu hijau di satu lapisan tidak berlaku untuk dua lapisan lainnya.
Di artikel sebelumnya dalam seri ini saya membahas perilaku lisensi open-source di software komersial biasa. Produk AI menambah lapisan masalah yang menjebak bahkan tim yang sudah mengerjakan PR itu.
Saya menyebut aturannya no magic green. Badge MIT atau Apache-2.0 di repository GitHub bagai stempel "aman dikonsumsi" di kemasan makanan — cuma menjamin satu bahan, bukan seluruh isi piring. Yang lolos hanya kodenya.
Tim melihat badge, menjalankan pilot, menjanjikan produk ke klien — lalu saat due diligence baru ketahuan weights yang mereka deploy dirilis untuk riset saja. Saat itu modelnya sudah terhubung ke mana-mana. (Catatan standar: ini panduan engineering, bukan nasihat hukum.)
Lapisan satu: kode
Ini lisensi yang ditampilkan GitHub di halaman repository, dan satu-satunya yang dibaca kebanyakan engineer. Cakupannya training script, inference wrapper, dan definisi arsitektur. Kalau MIT, BSD, atau Apache-2.0, sisi kode biasanya aman — simpan notice, sertakan teks lisensi, selesai.
Tapi kode juga bisa jadi masalahnya sendirian. Ultralytics YOLO — paket object detection paling praktis di ekosistem — adalah kode AGPL-3.0. Sajikan produk yang dibangun di atasnya lewat jaringan, dan Anda wajib meng-open-source-kan produk itu, kecuali membeli lisensi komersialnya.
Tidak perlu analisis weights atau dataset. Lisensi kodenya saja sudah memutuskan.
Lapisan dua: weights
Parameter terlatih yang benar-benar Anda deploy didistribusikan dengan ketentuannya sendiri — kadang di LICENSE repository, kadang di model card. Ketentuan itu sering jauh lebih ketat daripada kode di sekitarnya.
Dunia 3D vision menyediakan contoh paling gamblang. DUSt3R dan MASt3R, foundation model yang jadi fondasi separuh pekerjaan rekonstruksi terbaru, dirilis di bawah CC BY-NC-SA 4.0: non-komersial, share-alike. Kodenya jalan mulus di pilot Anda. Tapi memasukkan weights itu ke produk berbayar tanpa lisensi terpisah dari pemegang haknya adalah pelanggaran, titik.
Implementasi referensi 3D Gaussian Splatting yang asli memakai lisensi research-only dari institusinya — sementara implementasi Apache-2.0 untuk teknik yang sama, seperti gsplat, aman dijadikan fondasi. Algoritma sama, artifact berbeda, jawaban berkebalikan.
Itulah pola yang perlu diresapi: pertanyaannya tidak pernah "apakah teknik ini boleh dipakai komersial" — teknik tidak dilisensikan. Pertanyaannya: "apakah artifact persis ini, di versi persis ini, berlisensi untuk hal yang akan saya lakukan."
Lapisan tiga: training data
Weights adalah fungsi dari training data-nya, dan dataset juga membawa ketentuan. Izin benchmark bukan izin training komersial: banyak dataset akademik mengizinkan evaluasi dan riset tapi membatasi training model untuk distribusi komersial. Kalau Anda fine-tune (melatih ulang model orang lain dengan data sendiri) di sebuah dataset, ketentuannya ikut menempel di weights hasilnya.
Gambar hasil scraping membawa risiko copyright dan privasi yang tidak bisa dicuci oleh lisensi kode mana pun. Untuk apa pun yang menghadap pelanggan, baseline amannya: data milik sendiri, data berlisensi, atau data yang ketentuan training komersialnya eksplisit dan tercatat.
Artifact registry
Solusinya bukan analisis hukum heroik, tapi pembukuan: registry dengan satu baris per artifact, diisi sebelum artifact masuk jalur produk.
Untuk setiap versi model saya mencatat:
- Tipe artifact — kode, weights, dataset, Docker image. Lisensinya berbeda per tipe, jadi masing-masing dapat baris sendiri.
- Source URL, versi atau commit, dan checksum, sidik jari digital yang memastikan file tidak berubah — "kami download sekitar bulan Maret" tidak akan lolos audit.
- Nama lisensi plus tautan ke file lisensi persisnya — teks yang benar-benar mengikat Anda, bukan badge di README.
- Pemakaian komersial dan redistribusi: ya, tidak, atau tidak jelas — ditulis sebagai jawaban eksplisit, karena "tidak jelas" adalah temuan, bukan kekosongan.
- Status: green, yellow, atau red — green boleh rilis dengan notice normal, yellow butuh review sebelum rilis, red tidak boleh masuk jalur produk.
Registry ini makan waktu hitungan menit per model, dan mengubah due diligence dari penggalian jadi sekadar cetak tabel. Kegagalan senyap saat model di-upgrade ke versi baru yang ketentuannya berubah pun ikut tertutup — versi baru dapat baris baru, dan baris itu memaksa pertanyaannya diajukan.
Meloloskan sebuah artifact
Kebanyakan artifact mendarat di yellow pada pemeriksaan pertama, dan itu tidak apa-apa. Yellow artinya "harus ada yang melihat sebelum ini rilis" — persis disiplin yang tidak dimiliki cara kerja lirik-badge-lalu-jalan.
Intinya
Perlakukan setiap model sebagai tiga kontrak: kode, weights, data. Verifikasi masing-masing di versi persis yang Anda deploy, tuliskan jawabannya di registry, dan jadikan registry itu gerbang rilis. Tim yang terbakar tidak pernah tim yang salah membaca lisensi. Mereka tim yang cuma membaca satu dari tiganya.
Artikel Terkait
Mau bangun hal serupa?
Jasa Pembuatan Sistem Manajemen Hotel
Software manajemen hotel custom ala ERP: booking, status kamar, invoice, staf, dan otomatisasi WhatsApp — dibangun sesuai cara hotel Anda bekerja.
Lihat cara saya bisa bantu