Proyek sumber terbuka yang dilisensikan di bawah BSD, MIT atau lisensi permisif lainnya menerima kontribusi kode dari komunitas.
Bagaimana saya bisa mencegah seseorang mengambil kode berlisensi GPL yang bukan miliknya dan mengirimkannya ke proyek berlisensi BSD saya? Saya tidak tahu bahwa sumbangan itu dicuri dari proyek berlisensi GPL dan menerimanya.
Saya tidak ingin menerima kontribusi seperti itu, agar tidak membuat seluruh proyek GPL. Tetapi saya tidak memiliki cara untuk mengetahui apakah kontributor benar-benar memegang hak cipta untuk kode yang mereka kontribusikan. Jadi, jika seseorang secara ilegal menyumbangkan kode berlisensi GPL ke proyek saya, saya tidak tahu cara apa pun untuk menghentikannya (kecuali tidak menerima kontribusi sama sekali).
Tentunya, ada banyak proyek berlisensi BSD dan MIT di luar sana, jadi pasti ada solusinya.
Terima kasih!
Jawaban:
Seseorang tidak hanya "menjaga terhadap" kontribusi ilegal.
Anda tidak pernah menerima sumbangan secara membabi buta, dan harus memiliki proses untuk memeriksa sumbangan (termasuk milik Anda) untuk beberapa jenis masalah:
"Semua" yang perlu Anda lakukan adalah menambahkan cek untuk plagiarisme . Ini dapat dilakukan, sampai titik tertentu, dengan alat otomatis dengan hanya googling baris kode yang relevan.
Saya baru saja mencoba dengan mengangkat beberapa contoh kode dari proyek, dan itu berhasil. Saya hanya mengekstraksi string, format, komentar, nama fungsi, dan prototipe dari kode, lalu googled semuanya, dan melihat di mana satu situs muncul dalam beberapa pertandingan. Dalam 17 tes dari 19 situs sumber adalah yang pertama dari lima kandidat; dalam semua kasus, situs itu memang muncul di antara lima yang pertama. Sebaliknya, potongan kode saya sendiri hanya memicu positif palsu dalam tiga (empat) kasus dari dua puluh, dengan target kualitas yang sangat rendah, sehingga dengan cepat membaca setengah lusin situs saya dapat mengabaikan peringatan tersebut. Selain itu, dengan kode GPL, cuplikan dari Google Search tampak sama dengan kode yang saya uji-filked.
Pada titik ini saya yakin Anda bisa melakukannya dengan tangan . Lihatlah kodenya, lihat komentarnya (apakah itu masuk akal? Jika tidak, itu jenis lain dari lampu merah. Jika ya, apakah mereka semua telah ditulis ulang (!) Atau Anda akan menemukannya), cobalah beberapa string teks, tancapkan di Google dan / atau mesin pencari lainnya.
Dan Anda hanya perlu ini untuk kontribusi yang cukup besar .
Dari sudut pandang hukum - saya dengan cepat mengarungi kedalaman saya - saya membayangkan bahwa Anda membutuhkan kontributor Anda untuk menerima beberapa bentuk pengabaian atau perjanjian di mana mereka menyatakan bahwa mereka akan berkontribusi secara jujur.
Ketika mereka tidak, dan Anda melewatkan itu (misalnya mereka mengubah / mengaburkan beberapa kode GPL sehingga tidak ditemukan dengan googling), kemungkinan IMHO adalah bahwa itu tidak akan pernah ditemukan kecuali dilakukan untuk tujuan penjebakan, dan mereka sendiri meniup peluit. Pada saat itu proyek Anda akan melanggar GPL dan Anda dapat:
Agar seluruh skenario menjadi masalah yang realistis, "kontributor" harus:
Seluruh skenario, terutama poin terakhir, menurut saya sangat mengada-ada. Setelah pemeriksaan plagiarisme dilakukan, saya akan berhenti khawatir.
sumber