Saya menulis kode yang menggunakan satu perpustakaan dengan lisensi GPL (bukan LGPL), dan satu dengan lisensi BSD 3-klausa . Karena saya menautkan ke perpustakaan berlisensi GPL, kode saya juga harus GPL. Bagaimana seharusnya saya, dalam praktiknya, menangani LICENSE.txt asli dari perpustakaan BSD?
(A) Dapatkah saya mendistribusikan proyek sehingga kode sumber utama berlisensi GPL, dan kemudian beberapa subdirektori berlisensi BSD?
(B) Jika saya tidak hanya menautkan ke perpustakaan, tetapi untuk menggunakan dan menggabungkan kode BSD dan GPL dengan cara yang lebih terlibat, lalu apa yang harus dilakukan dengan LICENSE.txt?
Teks BSD 3 klausa memberi tahu: "Redistribusi kode sumber harus mempertahankan pemberitahuan hak cipta di atas, daftar ketentuan ini dan penafian berikut." jadi rupanya saya harus mempertahankan pemberitahuan hak cipta, dan daftar ketentuan, di suatu tempat. Tetapi kemudian saya juga harus meletakkan file txt-lisensi GPL di suatu tempat.
Lebih lanjut, tampaknya saya tidak perlu mempertahankan "Redistribusi dan penggunaan dalam bentuk sumber dan biner, dengan atau tanpa modifikasi, diizinkan asalkan ketentuan berikut dipenuhi:" bagian dari teks lisensi BSD, karena hanya memberitahu saya untuk pertahankan bagian lainnya.
Jadi, bagaimana, dan di mana file teks, dalam praktiknya saya harus mengatur teks lisensi GPL dan bagian-bagian dari lisensi BSD dan hak cipta yang saya simpan?
EDIT: Jadi dalam kasus B, saya akan mengambil 3-klausa kode BSD berlisensi, dan mendistribusikannya di bawah GPL, yang diizinkan, karena lisensi 3-klausa BSD (satu arah) kompatibel dengan GPL . Saya hanya bertanya bagaimana cara berurusan dengan teks lisensi dan file teks dalam praktek.
sumber
Jawaban:
Untuk kesederhanaan, mungkin yang terbaik adalah merilis semuanya di bawah GPL. Lisensi BSD 3-klausa tidak memiliki bentuk salinan-kiri, jadi Anda berhak melakukan rebranding selama Anda mempertahankan pemberitahuannya.
Anda akan mendapatkan dua jenis file:
Dan tentu saja untuk setiap rilis biner, Anda harus menyertakan tautan ke sumber dan kedua header dalam bentuk lain. Saya akan merekomendasikan GPL standar, diikuti oleh "Bagian dari program ini awalnya dirilis di bawah lisensi berikut" atau sesuatu seperti itu, Anda mungkin dapat menemukan contoh ini terjadi di alam liar jika Anda mencarinya.
Perhatikan bahwa saya bukan pengacara, saya juga tidak berspesialisasi dalam lisensi sumber terbuka, atau lisensi pada umumnya. Saya hanya menyampaikan seperti apa interpretasi saya terhadap kombinasi lisensi yang diberikan nantinya.
sumber
Oke, membaca bagian 7 dari GPLv3 , apakah memungkinkan untuk "izin tambahan [yang] hanya berlaku untuk bagian dari Program" [1]. Jadi menyimpan beberapa file atau direktori di bawah lisensi BSD tampaknya baik-baik saja, karena saya kira "lakukan apa pun yang Anda inginkan" dari lisensi BSD adalah "izin tambahan".
Juga, bagian 7 memungkinkan untuk "melengkapi ketentuan Lisensi ini dengan ketentuan:" (6 poin daftar jenis yang diizinkan berikut), dan semua 3 klausa (+ penafian) dari lisensi BSD tercakup, jadi dalam kasus mencampurkan kode BSD dan GPL dalam satu file, mungkin saya hanya perlu menaruh ADDITIONAL_TERMS.txt di suatu tempat, berisi 3 klausa + penafian dari lisensi BSD.
(Untuk lebih tepatnya, setiap saat saya berbicara tentang lisensi BSD, saya maksudkan lisensi 3-klausa AKA "Lisensi BSD Baru" AKA "Modifikasi BSD Licence", yang saya tautkan dalam pertanyaan saya.)
[1] Selama penerima program diizinkan untuk menghapus izin tambahan jika ia mendistribusikan kembali. Dan lisensi BSD memungkinkan untuk ini.
sumber
Ini sama sekali tidak mungkin menurut beberapa interpretasi dari ketentuan lisensi.
gnu.org mengatakan untuk versi 2:
dan untuk GPL v3 :
Pengacara / hakim lain, tentu saja, mungkin memiliki pendapat berbeda.
sumber