Publik ≠ diizinkan
Meskipun repositori dipublikasikan di GitHub, jika tidak ada file LICENSE, kode itu bukan open source. Hak cipta muncul otomatis saat kode ditulis (di sebagian besar negara anggota Konvensi Bern), dan tanpa izin tersendiri hanya pemegang hak cipta yang boleh menyalin, mengubah, mendistribusikan, dan membuat karya turunan. Dokumentasi GitHub juga menjelaskan bahwa tanpa lisensi berlaku hukum hak cipta bawaan, sehingga pemegang hak cipta memegang semua hak dan orang lain tidak boleh menyalin, mendistribusikan, atau membuat karya turunan.
Yang diizinkan Ketentuan GitHub
Menurut Ketentuan Layanan GitHub (D.5 'License Grant to Other Users'), orang yang mengunggah konten ke repositori publik memberi pengguna GitHub hak untuk menggunakan, menampilkan, dan menjalankan konten itu di dalam layanan GitHub, serta menyalinnya sebatas yang dimungkinkan fitur GitHub seperti fork. Artinya, yang berikut ini boleh.
- Melihat dan membaca kode di web
- Mem-fork di dalam GitHub
Namun ketentuan itu tidak mengizinkan hak di luar itu, misalnya memasukkannya ke produk Anda lalu mendistribusikannya atau memublikasikan versi modifikasi di tempat lain.
Jika ingin memakai kode tanpa lisensi
- Minta kepada pemegang hak cipta: minta lewat issue atau email agar lisensi ditambahkan. Sering kali mereka hanya lupa dan dengan senang hati memasang MIT atau lainnya.
- Dapatkan izin tertulis: jika penambahan lisensi sulit, mintalah izin terpisah yang menuliskan cakupan penggunaan lalu simpan.
- Cari alternatif: cari pustaka open source dengan fungsi yang sama.
- Implementasikan sendiri: tulis ulang tanpa melihat kodenya, hanya mengacu pada spesifikasi atau perilakunya (yang disebut implementasi clean room). Hati-hati, karena menyalin ulang kode asli dapat dianggap penyalinan.
Jika README hanya bertuliskan "silakan pakai sesuka hati", situasinya ambigu. Niatnya tampak jelas, tetapi cakupannya (modifikasi, distribusi ulang, penggunaan komersial) tidak jelas, jadi lebih aman meminta agar lisensi standar dipasang.
Kasus ambigu yang sering ditemui
- Tidak ada LICENSE, hanya
"license": "MIT"di package.json: niatnya tampak MIT, tetapi MIT mewajibkan pemberitahuan hak cipta dan teks izin disertakan dalam salinan, sehingga tanpa teks lengkap sulit memenuhi pemberitahuan itu. Sebaiknya minta agar file LICENSE ditambahkan ke repositori. - Kode dari jawaban Stack Overflow: konten yang diunggah pengguna disediakan di bawah Creative Commons BY-SA (2.5·3.0·4.0 tergantung waktu unggah). Ada syarat atribusi dan berbagi serupa, jadi saat memindahkannya ke kode produk, periksa kebijakan perusahaan.
- Kode dari blog atau tutorial: jika tidak ada tanda terpisah di syarat penggunaan situs atau di artikel, pada dasarnya hak ciptanya dilindungi.
Cara memasang lisensi di repositori Anda
- Pilih lisensi di generator, masukkan tahun dan pemegang hak cipta, lalu unduh file
LICENSE. - Commit di tingkat teratas repositori. GitHub mengenali file ini dan menampilkan lisensinya di informasi repositori.
- Tulis pengenal SPDX di kolom license pada
package.json·Cargo.toml·pyproject.tomldan sebagainya (panduan SPDX). - Jika tercampur kode orang lain, rapikan lisensi dan pemberitahuan bagian itu secara terpisah (praktik penerapan).
Jika sengaja tidak memasang lisensi
Jika, seperti portofolio atau tugas, Anda hanya ingin menunjukkan kode dan tidak ingin kode dipakai ulang, tidak memasang lisensi juga merupakan pilihan. Dalam hal ini, menuliskan 'Semua hak dilindungi (All rights reserved)' dan kontak di README akan mengurangi salah paham. Namun selama repositorinya publik, melihat dan mem-fork yang diizinkan Ketentuan GitHub tidak dapat dicegah.
Artikel ini adalah informasi umum, bukan nasihat hukum. Untuk keputusan penting, konsultasikan dengan ahli.
Sumber
- GitHub Docs, Licensing a repository — https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository
- GitHub Terms of Service, D.5 — https://docs.github.com/en/site-policy/github-terms/github-terms-of-service
- choosealicense.com, No License — https://choosealicense.com/no-permission/
- Lisensi konten Stack Overflow — https://stackoverflow.com/help/licensing