Bagaimana Anda harus mengaktifkan lisensi open source? Cukup sertakan teks lisensi di semua file?
Saya tidak tahu apa persyaratan hukum yang tepat, tetapi praktik normal adalah memasukkan komentar header kecil di awal setiap file:
- yang menyatakan siapa yang memiliki hak cipta, dan
- yang menyatakan bahwa file tersebut dilindungi oleh lisensi ini-dan-itu, memberi tahu pembaca nama file yang berisi teks lisensi, dan memberi tahu mereka di mana menemukan teks jika file tersebut hilang.
Apa lagi yang harus saya lakukan? Apakah saya perlu membeli yang benar?
Tidak.
Sertakan readme.txt di semua direktori?
Tidak. File README tunggal di root pohon direktori adalah ide yang bagus, tetapi tidak wajib.
Maksud saya, apa yang harus saya lakukan jika saya ingin kode saya dilindungi oleh uji lisensi?
Untuk benar-benar yakin, bicarakan dengan pengacara.
Mengenai persyaratan lisensi Anda.
(1) Saya tidak peduli apa yang orang lakukan dengan kode saya, tujuan pendidikan, untuk menghasilkan uang, saya tidak keberatan apa pun yang ingin mereka lakukan dengannya.
Itu semacam persyaratan. Sangat sedikit lisensi yang melarang orang menghasilkan uang, menggunakan dalam pendidikan, dll.
Namun "lakukan apa yang mereka suka" benar-benar bertentangan dengan beberapa persyaratan Anda yang lain.
(2) Jika mereka mengubah kode saya dan seseorang meminta modifikasi itu, mereka memberikan kode dengan modifikasi.
Persyaratan bahwa mereka menyediakan kode sumber modifikasi apa pun yang mereka buat ada di GPL, LGPL, AGPL, tetapi tidak di Apache, BSD, dan lisensi umum lainnya.
(3) Tapi saya ingin orang tidak menghapus nama saya dari kode, dan jika mereka menggunakan kode saya memaksa mereka untuk menyebutkan saya.
Sebagian besar lisensi memerlukan atribusi dalam kode untuk tetap berada dalam kode.
Namun "memaksa mereka untuk menyebut saya" itu sulit, dan sedikit jika ada lisensi mengatakan itu. Memang posisi FSF adalah bahwa persyaratan seperti itu membuat kode Anda tidak bebas ...
(4) Tapi saya tidak ingin memaksa orang untuk menerbitkan kode aplikasi mereka, bahkan jika mereka menggunakan kode saya.
Beberapa lisensi memaksa orang untuk mempublikasikan kode aplikasi mereka sebagai hal yang biasa. Bahkan yang paling radikal dari keluarga GPL memungkinkan Anda untuk menggunakan dan memodifikasi perangkat lunak untuk tujuan pribadi semata.
Namun GPL et al memaksa orang untuk menerbitkan sumber jika orang mendistribusikan aplikasi berdasarkan Anda. (Kondisi yang tepat tergantung pada lisensi. Misalnya, LGPL memungkinkan orang untuk menautkan kode mereka dengan kode Anda tanpa memaksa mereka untuk menerbitkan kode mereka. Di sisi lain, GPL mengharuskan mereka untuk mempublikasikan kode mereka dalam keadaan seperti itu, dan AGPL memperluas ini ke area lain. .)
Perhatikan juga, bahwa persyaratan (2) dan (4) secara harfiah bertentangan.
Singkatnya, Anda harus dapat mengekspresikan persyaratan Anda untuk lisensi dengan jelas. Jika Anda tidak dapat melakukannya, maka Anda memiliki sedikit peluang dalam menemukan lisensi yang sesuai dengan kebutuhan Anda.
Atau mungkin Anda harus berbicara dengan seorang pengacara. (Dia jelas perlu menanyakan banyak pertanyaan kepada Anda untuk mendapatkan apa persyaratan sebenarnya Anda.)