Saya merasa tidak perlu digandakan untuk memilikinya di setiap file kode, tetapi saya melihatnya di sebagian besar proyek open source. Haruskah saya melakukan hal yang sama, atau hanya menyertakan satu lisensi di luar kode?
Saya merasa tidak perlu digandakan untuk memilikinya di setiap file kode, tetapi saya melihatnya di sebagian besar proyek open source. Haruskah saya melakukan hal yang sama, atau hanya menyertakan satu lisensi di luar kode?
Jawaban:
Tolong satu orang di luar kode! Saya tidak tahu tentang yang lain, tapi saya benci melihat hal yang sama di atas setiap file.
Saya rasa saya sudah membacanya beberapa kali, hanya dengan page_down-ing melewatinya.
evidence for the legal situation
. Perhaps a lawyer can add a link to a court decision
.
EULA adalah istilah yang salah di sini, karena orang yang melihat kode sumber biasanya bukanlah pengguna akhir.
Secara hukum, tidak ada bedanya juga; hak cipta tidak perlu diumumkan secara eksplisit.
Pada dasarnya, semua yang Anda capai adalah risiko yang lebih rendah dari orang-orang yang secara tidak sengaja melanggar persyaratan lisensi Anda. Anda harus memutuskan seberapa penting hal itu bagi Anda.
Menurut saya, kompromi terbaik adalah dengan meletakkan tajuk yang sangat pendek yang berisi tautan (URL absolut serta relatif dalam proyek) ke teks lisensi lengkap ke dalam setiap file kode sumber. Dengan begitu, siapa pun yang peduli dengan lisensi tahu di mana menemukannya (idealnya, orang yang bersedia membayar biaya lisensi besar-besaran; Anda pasti ingin orang - orang itu dapat menghubungi Anda!)
Tidak, Anda tidak harus meletakkan lisensi di setiap file kode sumber.
Jika Anda melihat lebih dekat, sebagian besar aplikasi FOSS juga tidak melakukannya. Mereka meletakkan pernyataan hak cipta di bagian atas setiap file dan kalimat pendek yang memberi tahu Anda lisensi apa yang dimiliki file tersebut dan di mana Anda dapat menemukan teks lengkap dari lisensi tersebut. Mereka biasanya mengarahkan Anda ke file COPYING atau LICENSE yang berisi teks lengkap dari lisensi dan / atau ke situs web yang berisi teks lengkap (jika file COPYING sudah tidak ada lagi).
Seperti yang dikatakan Michael Borgwardt dalam jawabannya, secara hukum Anda tidak perlu melakukan ini. Tetapi disarankan untuk kode sumber yang ingin Anda distribusikan karena orang dapat langsung melihat siapa yang memiliki hak cipta dan apa lisensinya.
Itu mungkin tergantung pada lisensi. The GPL membedakan antara preamble
danlicense
. Ini dengan jelas menyatakan, bahwa pembukaan (mengganggu) harus menjadi bagian dari kode :
Dapatkah saya menghilangkan pembukaan GPL, atau instruksi bagaimana menggunakannya pada program Anda sendiri, untuk menghemat ruang?
Pembukaan dan instruksi merupakan bagian integral dari GNU GPL dan tidak boleh diabaikan. Faktanya, GPL memiliki hak cipta, dan lisensinya hanya mengizinkan penyalinan kata demi kata dari seluruh GPL. (Anda dapat menggunakan istilah hukum untuk membuat lisensi lain tetapi itu bukan GNU GPL.) (1)
Sumber: 1) http://www.gnu.org/licenses/gpl-faq.html#GPLOmitPreamble
Lihat juga http://softwarefreedom.org/resources/2012/ManagingCopyrightInformation.html
Sebuah ebook gratis dari ifrOSS menjelaskan dan komentar GPL 2 dalam bahasa Jerman. Ada satu lagi untuk GPL 3
Untuk jawaban yang beralasan Anda harus meminta nasihat hukum yang tidak tersedia di sx. Jika Anda tidak dapat menemukan pengacara untuk proyek (open source) Anda, lihatlah jaringan legal FSFE .
[...] attach the following notices to the program.
- pemberitahuan berikut hanyalah sebagian kecil dari lisensi penuh. safest to attach them to the start of each source file
- teraman tetapi tidak wajib. each file should have at least the "copyright" line and a pointer to where the full notice is found.
- satu-satunya persyaratan adalah baris hak cipta dengan penunjuk ke yang lainnya. Tidak masalah untuk meletakkan lisensi penuh dalam satu file terpisah.
Saya pikir alasan di balik meletakkannya di setiap file adalah alasan hukum. Jika perjanjian ada di setiap file, tidak ada kemungkinan seseorang menemukan sepotong kode tanpa mengetahui lisensi.
Ini mungkin tidak bagus, tapi semua anak laki-laki besar menggunakannya jadi jika itu hanya rasa sakit visual, saya akan mencari alasan yang lebih baik untuk tidak melakukan hal yang sama.
Jika Anda menggunakan GPL, ini lebih merupakan masalah, tetapi jika Anda menggunakan lisensi domain publik seperti BSD atau MIT, saya rasa Anda tidak terlalu peduli dengan apa yang orang lakukan dengan kode tersebut. Saya kira itu tergantung pada seberapa ketat lisensi Anda.
IANAL,
Dengan asumsi Anda berbicara tentang perizinan, bukan EULA, Anda dapat meletakkan lisensi di luar. Ini hampir selalu dilakukan dengan lisensi yang sangat panjang seperti GPL. Akan konyol untuk meletakkan seluruh lisensi GPL di setiap file. Biasanya Anda hanya memiliki beberapa jenis pemberitahuan yang mengatakan di mana Anda dapat menemukan lisensi yang sebenarnya. Ini sangat legal. Namun, dengan lisensi yang sangat pendek seperti BSD / Apache / MIT / apapun, akan lebih mudah untuk hanya memasukkan lisensi di setiap file, karena pemberitahuan yang mengatakan di mana menemukan lisensi hampir sepanjang lisensi itu sendiri.
Itu tergantung pada apa yang ditentukan oleh lisensi. GPL, misalnya, menginstruksikan Anda untuk memberikan pemberitahuan singkat di setiap file sumber, menyertakan seluruh lisensi di suatu tempat dalam distribusi sumber Anda, dan membuat distribusi sumber Anda tersedia bagi siapa saja yang mendapatkan salinan dari distribusi biner tersebut.
Jika Anda tidak setuju dengan ini, dan ini adalah kode ANDA, Anda bebas memilih lisensi yang lebih disetujui, atau membuat sendiri.
Jika kode Anda akan dikompilasi sehingga Anda hanya mendistribusikan biner maka itu tidak masalah. Karena ketika Anda membuat biner, komentar-komentar tersebut dihapus sebelum proses kompilasi berlangsung. Ini hanya masalah jika Anda akan mendistribusikan kode sumber sebenarnya baik sumber terbuka atau sumber tertutup. Hal ini penting jika Anda akan mendistribusikan aplikasi dalam bahasa skrip yang tidak dapat dikompilasi.
Anda tidak memerlukannya untuk lisensi, satu file eksternal akan digunakan selama jelas file apa yang dicakupnya.
Namun untuk Hak Cipta, Anda harus memiliki pemberitahuan hak cipta di setiap bagian teks.
Yang saya lakukan adalah memberi komentar dua baris di bagian atas file, menyebutkan nama perusahaan saya, tanggal revisi terakhir dan nama lisensi yang dimiliki file sumber, lalu di bagian paling bawah file ada versi pendek dari lisensi.
Tentu saja, lisensi penuh (semuanya dalam kasus beberapa lisensi) selalu disertakan pada file sumber dan direktori rilis.