Relicense BSD 2/3-klausa kode untuk GPL


11

Misalkan saya merilis beberapa kode sumber di bawah lisensi BSD yang baru. Apakah diizinkan bagi orang lain untuk mengambil kode ini, membuat modifikasi, dan mendistribusikannya berdasarkan ketentuan GPL? Dari Wikipedia :

Banyak dari lisensi perangkat lunak bebas yang paling umum, seperti lisensi MIT / X asli, lisensi BSD (dalam bentuk 2-klausa saat ini), dan LGPL, adalah "kompatibel dengan GPL". Artinya, kode mereka dapat dikombinasikan dengan program di bawah GPL tanpa konflik (kombinasi baru akan menerapkan GPL ke keseluruhan). Namun, beberapa lisensi perangkat lunak bebas / sumber terbuka tidak kompatibel dengan GPL.

Saya berasumsi ini menyiratkan bahwa seseorang dapat mengganti kode lisensi BSD baru ke GPL?


Saya mengajukan pertanyaan serupa di Open Source Stack Exchange: opensource.stackexchange.com/questions/4837/... Saya merasa kami belum menemukan jawaban konklusif; yang kita miliki hanyalah selusin tebakan. Akan sangat menyenangkan mendengar dari pengacara yang sebenarnya, atau mungkin bahkan FSF sendiri.
Tanner Swett

Jawaban:


8

Itu pertanyaan yang menarik. Penafian: IANAL.

Fragmen yang dikutip berarti kode berlisensi BSD dapat digunakan dalam proyek yang dilisensikan GPL.

Di sisi lain, Anda masih pemegang hak cipta kode Anda. Lisensi kode asli tidak dapat diubah tanpa izin Anda. Lisensi BSD juga secara eksplisit mensyaratkan:

  • Redistribusi kode sumber harus mempertahankan pemberitahuan hak cipta di atas, daftar ketentuan ini dan penafian berikut.
  • Redistribusi dalam bentuk biner harus mereproduksi pemberitahuan hak cipta di atas, daftar persyaratan ini dan penafian berikut dalam dokumentasi dan / atau materi lain yang disediakan bersama distribusi.

Dengan demikian lisensi BSD tidak dapat dilepaskan dari kode Anda.

Untuk benar-benar dapat merilis kode gabungan di bawah GPL penulis lain harus membuat "kontribusi signifikan" pada kode. Tidak jelas apa artinya sebenarnya, tetapi biasanya harus berarti setidaknya menambahkan fitur signifikan baru, bukan hanya tambalan kecil.

Situasi serupa: SFLC Menyelesaikan Ulasan Driver Nirkabel Atheros untuk Linux, Panduan Rilis untuk Pengembang .

Pertanyaan terkait pada SO: /programming/821608/relicensing-a-bsd-library


Jadi kondisi BSD harus dipertahankan. Itu jelas. Tetapi bisakah kondisi tambahan ditambahkan ke daftar, katakanlah klausa seperti membuat-perubahan-Anda-tersedia-untuk-orang lain seperti GPL?
Brecht Machiels

1
@ Brecht: jika dan hanya jika itu adalah sesuatu yang baru yang jatuh sebagai pekerjaan terpisah di bawah karya hak cipta. Jika itu perubahan kecil atau adaptasi, itu bukan pekerjaan yang terpisah, jadi tidak mungkin untuk melisensikan ulang itu.
vartec

6

Dalam pengalaman saya, tidak, Anda tidak "melisensikan ulang" sesuatu karena Anda tidak memiliki hak cipta. Anda hanya memiliki lisensi dari penulis asli.

Yang dapat Anda lakukan adalah menggunakan karya berhak cipta dalam karya turunan, tetapi Anda harus mengikuti ketentuan lisensi, yang dalam kasus BSD / MIT, mengatakan bahwa Anda harus mempertahankan pemberitahuan hak cipta dan lisensi pada kode yang Anda gunakan .

Dalam praktiknya, jika seseorang menggunakan pustaka BSD Anda dalam aplikasi GPL seperti yang Anda lihat di aplikasi mereka adalah:

  • Salinan lisensi GPL dalam file teks
  • File terpisah yang mengklaim seluruh program dilisensikan di bawah GPL (dan mengarahkannya ke file lisensi GPL untuk rincian), tetapi kemudian memiliki bagian terpisah di bawah tajuk yang mengatakan "perpustakaan XYZ dilisensikan di bawah lisensi BSD" dan kemudian menunjukkan lisensi XYZ di sana juga. Ini adalah contoh dari jenis file ini, dari aplikasi GPL yang saya tulis .

Jika seseorang mengambil potongan kode, atau file dari pekerjaan Anda, dan memasukkannya ke dalam aplikasi GPL mereka, dan kemudian memodifikasinya, Anda mungkin akan melihat mereka menyertakan header GPL dan BSD pada file tersebut. File tersebut pada dasarnya memiliki dua penulis - Anda dan mereka. Kedua pemberitahuan hak cipta harus ditampilkan.

Ingat, GPL bersifat viral sehingga berlaku untuk seluruh pekerjaan, tetapi BSD / MIT hanya berlaku untuk kode persis yang ditulis seseorang.


1
mungkin Anda dapat merelease sebuah karya yang izinnya mengizinkannya, bahkan jika Anda bukan pemegang hak cipta asli. BSD tampaknya mengizinkan ini.
Armand

2

Penafian: IANAL.

Tidak ada larangan dalam lisensi MIT atau BSD terhadap pelepasan lisensi. Mengingat bahwa baik lisensi MIT maupun BSD tidak menambah batasan di luar apa yang sudah ada dalam GPL (bit hak cipta dan garansi sudah ada dalam klausa 1 dari Syarat dan Ketentuan GPLv2) saya tidak melihat masalah dengan memalsukan dan melepaskan kembali proyek berlisensi MIT.

Lisensi BSD lama memiliki klausa iklan yang tidak cocok dengan GPL.


2
Saya juga bukan pengacara, tapi saya pikir ini mungkin informasi yang salah. Hanya pemegang hak cipta yang dapat melihat kembali karya yang memiliki hak cipta. Alasan BSD kompatibel dengan GPL adalah karena kode berlisensi BSD dapat digunakan dalam karya GPL, tetapi kode BSD asli masih dilisensikan di bawah BSD. Sebagai bagian dari karya turunan, ini juga dilisensikan di bawah GPL, tetapi Anda harus tetap mempertahankan lisensi aslinya.
Scott Whitlock

3
@Scott BSD mengatakan Anda harus mempertahankan klausul BSD. Namun tidak membatasi penambahan pada mereka, jadi mungkin ini adalah interpretasi yang masuk akal
Armand

2
opensource.org/licenses/mit-license.php secara eksplisit menyatakan bahwa siapa pun yang mendapatkan salinan kode dapat mensublisensikan perangkat lunak.
Frank Shearar

2

Maaf, tetapi sebagian besar dari Anda salah.

Perizinan dan kepemilikan adalah dua hal yang berbeda. Anda tidak dapat melisensikan ulang sesuatu yang bukan milik Anda. Bukan keputusan Anda untuk membuat.

Pemiliknya adalah pemegang hak cipta, bukan Anda. Dengan demikian Anda tidak dapat melisensikan ulang karya mereka. Karena Anda tidak memiliki pekerjaan mereka, Anda hanya melisensikannya. Artinya, pemilik memungkinkan Anda untuk menggunakannya. Dia tidak memberikan kepemilikan kepada Anda.

Akan konyol untuk berpikir, misalnya, bahwa penulis asli (atau SIAPA PUN yang memperoleh kode BSD) harus mengikuti GPL untuk menggunakan kode asli hanya karena Anda memutuskan untuk menggunakan KODE MEREKA pada proyek GPL.

Namun Anda dapat melisensikan ke GPL kode ANDA SENDIRI. Dan kemudian, BAGIAN itu, bukan yang asli, berada di bawah GPL. Sebagai penulis asli tidak menempatkan karya pada GPL dan karena Anda HANYA melisensikan dan TIDAK MEMILIKI karya asli.

Anda dapat menggunakan kode berlisensi BSD pada kode GPL Anda (seperti BSD mengizinkan Anda untuk ini, selama Anda mengikuti ketentuan BSD, dan seseorang TIDAK UNTUK MENGHAPUS lisensi dari salinan), tetapi Anda tidak dapat dengan mudah melisensikan ulang semuanya, karena kamu tidak memilikinya. Sekali lagi, bukan keputusan Anda untuk membuat. Namun jika Anda ingin menggunakan kode GPL pihak ketiga dengan kode BSD. Maka masalahnya akan sesuai dengan bagian GPL.


1
Saya percaya pernyataan di atas "Anda tidak dapat melisensikan ulang sesuatu yang bukan milik Anda" tidak benar, banyak lisensi yang memberikan hak untuk mensublisensikan karya berhak cipta. Kadang-kadang hibah sublisensi membatasi lebih lanjut apa hak yang dapat diberikan berdasarkan sublisensi, tetapi tidak selalu. Spesifik tergantung pada situasinya, dan apakah Anda telah diberikan hak untuk melakukannya.
Cameron

Juga, jika Anda memasukkan lisensi BSD dalam salinan Anda, itu berarti kodenya masih BSD dan tidak bisa di bawah GPL pada saat yang sama.
warvariuc
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.