Pemberitahuan hak cipta / penafian dalam file sumber

60

Ini adalah praktik umum untuk menempatkan pemberitahuan hak cipta, berbagai penafian hukum dan kadang-kadang bahkan perjanjian lisensi penuh di setiap file sumber dari proyek open-source. Apakah ini benar-benar diperlukan untuk (1) proyek sumber terbuka dan (2) proyek sumber tertutup? Apa yang ingin Anda capai atau cegah dengan meletakkan pemberitahuan ini di file sumber?

Saya mengerti ini adalah pertanyaan hukum dan saya ragu kita bisa mendapatkan jawaban yang sepenuhnya kompeten di sini di programmer. Jadi (ini untuk programmer, bukan?) , apakah karena "semua orang melakukannya" atau Anda mendapat nasihat hukum? Apa alasannya?

Mojuba
sumber

Jawaban:

41

Apakah ini benar-benar perlu

Tidak. Tidak diwajibkan secara hukum. (Saya bukan pengacara, tapi saya sudah melihat ini dinyatakan oleh satu.)


Jika Anda punya proyek di mana file individual mungkin diambil di luar konteks, itu mungkin masuk akal - tetapi itu hanya membutuhkan beberapa baris, untuk mengatakan sesuatu seperti:

File ini adalah bagian dari <project> yang dirilis di bawah <license>.
Lihat file <filename> atau buka <url> untuk detail lisensi lengkap.


Untuk hal lain, Anda dapat dengan mudah meletakkan file teks LISENSI di root proyek, dan setiap detail / kredit / etc yang relevan dalam file README - itu masih memiliki hak cipta (secara otomatis), jadi itu hanya masalah menjadi jelas dari segi lisensi di file readme.

Peter Boughton
sumber
1
+1 karena tidak meletakkan seluruh pelat lisensi. Saya hanya menggunakan satu baris:Copyright YYYY First Last. Subject to the XYZ license.
mk12
1
Banyak perusahaan ingin memiliki garis hak cipta karena mereka ingin melakukan "manajemen lisensi". Dengan kata lain: periksa sesuatu GPL'ish yang disalin dari internet. Pada dasarnya mereka memindai kode sumber untuk jalur hak cipta - yang sebenarnya hanya baris pertama yang berisi "Hak Cipta" / "(c)". Jadi baris itu harus berisi pemegang hak cipta (penulis atau perusahaan) dan petunjuk apakah itu perangkat lunak bebas atau tidak. Oleh karena itu @ mk12 adalah tentang apa yang seharusnya terlihat minimum. Karena kebenaran adalah -> baris kedua atau ketiga tidak akan pernah dikenal di tempat lain selain di kode sumber.
Guido U. Draheim
12
Saya ingin google "IANAL" tapi saya agak takut melakukannya.
Pieter De Bie
1
@PieterDeBie Ini kependekan dari "Saya bukan pengacara"
Adam Lindberg
Alangkah baiknya jika untuk <lisensi> Anda memasukkan nomor versi. LGPL 2.1 adalah pelindung yang bagus untuk pengembang open source. GPL 3.0 adalah virus yang mencoba untuk mengkonsumsi semua.
user922020
22

Anda dapat, dengan mudah, menaruh pemberitahuan hak cipta yang menyebutkan file LICENSE, namun tidak ada jaminan bahwa setelah dirilis, kode Anda akan tetap berupa atom. Bahkan, sangat mungkin bahwa potongan-potongan itu akan remix di setidaknya beberapa proyek lainnya.

Inilah sebabnya mengapa penting untuk setidaknya memiliki yang berikut ini di setiap file sumber:

/* Copyright (C) 1883 Thomas Edison - All Rights Reserved
 * You may use, distribute and modify this code under the
 * terms of the XYZ license, which unfortunately won't be
 * written for another century.
 *
 * You should have received a copy of the XYZ license with
 * this file. If not, please write to: , or visit :
 */

Anda mencapai dua hal dengan melakukan ini:

  • Hak cipta Anda dinyatakan tidak peduli bagaimana kode Anda hancur dan mencerai-beraikan di masa depan.
  • Anda membuat ketentuan penggunaan, distribusi, dan modifikasi cukup jelas, bahkan jika seseorang hanya menerima sebagian kecil dari perpustakaan yang Anda tulis.

Banyak orang juga memasukkan alamat email mereka di bawah hak cipta, yang bermanfaat untuk menerima tambalan di masa depan. Saya menerima tambalan bulan lalu untuk kode yang saya tulis lima tahun lalu dan sudah lama terlupakan. Tentu saja, itu berarti mempertahankan alamat email dan memasang dengan sedikit SPAM.

Jika Anda benar-benar perlu menegakkan lisensi Anda, sangat penting bahwa pihak lain tidak dapat mengatakan bahwa persyaratannya ambigu atau hilang, semua bercanda.

Plus, sangat menyenangkan untuk menyaksikan bagaimana potongan-potongan kode Anda menemukan jalan mereka ke potongan-potongan kode lain dari waktu ke waktu. Kebanyakan orang bermain adil dan menghormati ketentuan hak cipta dan lisensi.

Pos Tim
sumber
2
"Ketentuan lisensi XYZ, yang sayangnya tidak akan ditulis untuk abad lain." Sudah 130 tahun dan terus bertambah. : P
Joe Z.
Banyak perusahaan ingin memiliki garis hak cipta karena mereka ingin melakukan "manajemen lisensi". Dengan kata lain: periksa sesuatu GPL'ish yang disalin dari internet. Pada dasarnya mereka memindai kode sumber untuk jalur hak cipta - yang sebenarnya hanya baris pertama yang berisi "Hak Cipta" / "(c)". Contoh mengatakan bahwa itu bukan perangkat lunak bebas karena "All Rights Reserved" - yang menyiratkan bahwa harus ada beberapa lembar lisensi di tempat ketiga, mungkin file LICENSE.TXT atau kertas nyata. Karena implikasi itu Anda tidak perlu teks lisensi boilerplate .
Guido U. Draheim
4

Hanya ingin mencatat Open Source! = Tidak Ada Hak Cipta.

Open Source bergantung pada seseorang yang mengklaim hak cipta kemudian mengadopsi dokumen hukum spesifik (Seperti GPL) untuk memberi orang lain hak atas kode itu.

Jadi, apa pun yang Anda putuskan cocok untuk kode sumber tertutup juga cocok untuk kode sumber terbuka.

James
sumber
1
Meskipun ada lebih banyak peluang satu file akan diambil di tempat lain dari proyek open source daripada yang tertutup, jadi mungkin pemberitahuan hak cipta di kepala file lebih masuk akal dalam proyek open source ...
James
1
Lisensi tidak "memberikan hak cipta itu". Ini memberi izin untuk menggunakan dan / atau memodifikasi dan / atau mendistribusikan kembali.
Glenn Randers-Pehrson
@ GlennRanders-Pehrson Poin bagus, diedit.
James
2

Untuk proyek sumber terbuka apa pun

Anda mendefinisikan kondisi di mana kode harus digunakan dan didistribusikan kembali (atau tidak, tergantung pada kondisi tersebut).

Paling tidak, lisensi dapat menjawab pertanyaan seperti:

  • Appropriation: Dapatkah seseorang mengambil kode dan mengubahnya menjadi proyek yang berbeda? Contoh bagus dari fenomena semacam itu adalah Google Chrome, yang didasarkan pada proyek Chromium open-source.
    • Apakah mereka perlu memberi Anda kredit, meminta izin, dll ...
  • Penggunaan Komersial: Dapatkah kode Anda digunakan secara komersial, seperti di dalam Photoshop sebagai DLL pihak ketiga? Jika demikian, apakah berlaku ketentuan yang berbeda?
  • Redistribusi: Apakah penggunaan kode Anda harus dalam perangkat lunak dengan lisensi serupa / identik? Lisensi seperti GPL yang mensyaratkan ini disebut lisensi virus (dan saya tidak tahu apakah itu istilah negatif, atau hanya pernyataan fakta).

Dll. Itu tidak berarti daftar yang lengkap, itu hanya untuk memberi Anda gambaran tentang pertanyaan yang akan dinyatakan oleh lisensi.

doppelgreener
sumber
1
Saya pikir saya mengerti itu, tetapi mengapa pemberitahuan hukum harus dimasukkan ke dalam setiap file sumber? Atau jika tidak, mengapa orang melakukannya?
mojuba
Kedengarannya seperti cara aman untuk memastikan lisensi tidak hilang jika dipisahkan dari kode sumber.
doppelgreener
-1

Alasan lain untuk memberikan hak cipta pada kode Anda adalah memberi tahu orang lain siapa yang menulisnya. Saya ingin dapat melihat dari mana kode itu berasal dan berapa lama telah ada. Sangat menarik dan bermanfaat untuk melihat bagaimana kode telah digunakan dalam proyek lain. Jadi meskipun secara hukum Anda mungkin tidak perlu meletakkan hak cipta pada sesuatu, tambahkan saja untuk alasan informasi. - sebuah thornton

A Thornton
sumber
1
Ini tidak menjawab pertanyaan. Pertanyaannya bukan apakah harus memasang pemberitahuan hak cipta, tetapi apakah akan memasukkan seluruh teks lisensi di setiap file sumber.
Brandin