Bagaimana keluarnya CLA mencegah masalah hukum dalam proyek-proyek sumber terbuka?

22

Misalnya: yeoman . Ini dilisensikan di bawah lisensi BSD. The bentuk CLA (Perjanjian Lisensi Kontributor) tidak spesifik proyek, dan dapat ditandatangani secara elektronik.

  • Bagaimana dan masalah apa yang dapat mencegah perjanjian ini?
  • Apakah penting seberapa besar atau kecil kontribusi yang saya berikan?
  • Mengapa beberapa proyek mengharuskan CLA yang ditandatangani untuk menerima tambalan, sementara yang lain tidak? (mis. node.js vs rails)
NARKOZ
sumber

Jawaban:

27

CLA umumnya ada untuk melakukan beberapa hal:

  • Mereka mencegah Anda mencabut kode Anda. Di negara-negara yang menandatangani t konvensi Bern, penulis secara eksklusif mempertahankan hak cipta pada semua karya asli, dengan yang lain diizinkan untuk menyalinnya hanya dengan izin eksplisit. PKB membuat Anda memberikan izin itu secara eksplisit — dan sering kali selamanya, sehingga Anda tidak dapat mengubah pikiran nanti. PKB ini mengandung klausa seperti itu, jadi tidak ada pengembalian kode setelah Anda berkontribusi.
  • Mereka dapat mencegah Anda menggugat mereka karena pelanggaran paten. Beberapa kontributor adalah duplikat, dan mungkin menyumbang kode yang mereka tahu dilindungi oleh salah satu paten mereka, berharap bahwa mereka kemudian menuntut semua orang di jalan ketika kode tersebar luas. Ini telah terjadi di beberapa badan standar utama, dan juga muncul dalam perangkat lunak sumber terbuka. CLA di sini melarang Anda melakukan aksi ini: ketika Anda mengirimkan kode ke proyek ini, Anda juga memberi mereka, dan para penggunanya, lisensi bebas royalti abadi untuk paten apa pun yang Anda miliki yang menyertakan kode penutup yang Anda kirimkan sendiri.
  • Ini mencakup pantat mereka jika orang lain menuntut mereka atau mengklaim hak cipta. Sebagian besar PKB, termasuk yang ini, membuat Anda bersumpah bahwa semua yang Anda berkontribusi adalah milik Anda untuk berkontribusi. Ini pada dasarnya berfungsi sebagai cara untuk Google (atau proyek hulu lainnya), yang digugat karena pelanggaran hak cipta, untuk menunjuk pada Anda dan berkata, Maaf, tapi bukan kami, itu dia.
  • Secara opsional dapat menetapkan kembali hak cipta, memberikan organisasi induk beberapa gigi untuk menuntut pelanggar lisensi. Akhirnya, meskipun PKB yang Anda tautkan tidak melakukan hal ini, banyak proyek sumber terbuka, termasuk semua yang dijalankan oleh FSF, memiliki PKB yang membutuhkan penugasan hak cipta langsung, yang berarti bahwa setiap kode yang Anda kirimkan akan menanggung hak cipta proyek, dan bukan Anda. Ini memiliki dua keuntungan bagi organisasi induk: mereka tidak perlu mengumpulkan semua kontributor sebelumnya jika mereka ingin menuntut pelanggaran sumber terbuka; dan mereka tidak perlu berkonsultasi dengan kontributor jika mereka ingin mengubah lisensi di jalan. Sebagian besar PKB yang memerlukan penugasan hak cipta juga memberikan lisensi gratis royalti abadi kepada kontributor dan pelanggan mereka dalam bentuk kebalikan dari cara kerja PKB lainnya. Seperti disebutkan, PKB ini tidak memerlukan penugasan kembali hak cipta.

Sebagian besar proyek sukarela sepenuhnya, seperti Rails dan Node, tidak memerlukan PKB, jika tidak ada alasan lain selain karena tidak ada entitas pendukung untuk meminta atau melakukan sesuatu yang berarti dengan mereka. (Proyek yang didukung FSF adalah pengecualian utama di sini, seperti yang disebutkan sebelumnya). Sebagian besar proyek open-source yang didukung secara komersial, seperti yang merupakan produk resmi Google / Oracle / Apple, memang memerlukan beberapa bentuk CLA, keduanya karena sebagian besar perusahaan memiliki pengacara yang berpikir tentang orang-orang macam hal, dan karena ada adalah entitas dukungan tunggal untuk menegakkan hal semacam itu.

Benjamin Pollack
sumber
1
Cukup beberapa poin jadi alih-alih jawaban saya sendiri sebagai tambahan: Beberapa PKB memungkinkan pemilik proyek utama untuk mengubah lisensi setelahnya. yaitu beberapa proyek berubah dari "GPL2 atau yang lebih baru" menjadi "GPL2" atau melakukan lisensi ganda dengan lisensi komersial. Dalam pengalaman pribadi saya kebanyakan CLA mencoba membantu pemilik proyek untuk menjauh dari dirinya sendiri jika ada masalah ...
johannes
Node membutuhkan CLA . Mengapa CLA diperlukan untuk masuk bahkan ketika berkontribusi patch kecil? Bagaimana mereka tahu bahwa saya keluar dari CLA, tetapi tidak ada orang lain?
NARKOZ
Katakanlah, saya mengirimkan tambalan untuk yeoman dan Angular.js . Bagaimana mereka tahu bahwa saya menandatangani PKB bukan hanya untuk satu proyek, tetapi untuk keduanya?
NARKOZ
"penugasan, yang berarti bahwa kode apa pun yang Anda kirim akan memiliki hak cipta proyek, dan bukan Anda" - pada kenyataannya beberapa PKB seperti Perjanjian Kontributor Oracle "memberikan hak cipta" dibagikan ... sehingga Anda masih memiliki kode Anda tetapi mereka masih dapat lakukan versi komersial atau pertahankan lisensi sumber terbuka di pengadilan - oracle.com/technetwork/community/oca-486395.html
johannes
4

CLA mungkin juga (selain hal-hal lain yang disebutkan di halaman ini) melindungi kontributor dari masalah hukum. Lihatlah kutipan ini dari CLA oleh Google :

Anda tidak diharapkan untuk memberikan dukungan untuk Kontribusi Anda, kecuali sejauh yang Anda inginkan untuk memberikan dukungan. Anda dapat memberikan dukungan gratis, dengan biaya, atau tidak sama sekali. Kecuali diwajibkan oleh hukum yang berlaku atau disetujui secara tertulis, Anda memberikan Kontribusi Anda pada DASAR "APA ADANYA", TANPA JAMINAN ATAU KONDISI APA PUN, baik tersurat maupun tersirat, termasuk, namun tidak terbatas pada, jaminan atau ketentuan apa pun dari TITLE, NON- PELANGGARAN, PENJUALAN, atau KESESUAIAN UNTUK TUJUAN TERTENTU.

KajMagnus
sumber
"Anda tidak diharapkan untuk memberikan dukungan untuk Kontribusi Anda, kecuali sejauh Anda ingin memberikan dukungan" <- bukankah itu sudah dicakup oleh lisensi itu sendiri? Anda tidak perlu PKB untuk menyatakan ini?
Rudolf Olah
1
@RudolfOlah Mungkin kadang-kadang (saya tidak yakin), tetapi tidak selalu. Contoh: Kontributor memberikan lisensi hak cipta kepada pemilik proyek - maka pemilik proyek dapat mengubah lisensi perangkat lunak menjadi apa pun yang mereka inginkan, misalnya [menghapus hal-hal yang melindungi kontributor] dari lisensi untuk pengguna akhir. Namun jika ada PKB maka kontributor tetap terlindungi.
KajMagnus
1
@RudolfOlah Contoh lain: Lisensi perangkat lunak komersial milik, mungkin memang menjanjikan pengguna perangkat lunak (cusotomers perusahaan perangkat lunak) bahwa pengembang benar-benar akan memberikan dukungan, dan membayar kerusakan untuk bug. - Kemudian, jika Anda berkontribusi pada perangkat lunak ini (misalnya karena Anda menggunakannya dan Anda ingin melakukan perbaikan cepat), Anda ingin CLA yang mengatakan Anda tidak perlu melakukan hal-hal itu.
KajMagnus
Terima kasih atas contoh-contoh itu, saya masih melihat CLA sebagai penghalang untuk masuk untuk berkontribusi pada proyek; Saya bisa mengerti bagaimana masuk akal untuk proyek yang lebih besar
Rudolf Olah
3

Jawaban Benjamin cukup jelas tetapi saya ingin menekankan satu hal. CLA melindungi perusahaan yang menggunakan atau berkontribusi pada proyek. Perusahaan, terutama yang besar, takut tertangkap basah oleh masalah hukum. Saya mempunyai pengacara korporat yang memberi tahu orang-orang bahwa saya tahu bahwa bahkan dalam kasus slam dunk di mana hukum berada di pihak Anda, Anda hanya dapat sekitar 60% yakin bahwa Anda akan memenangkan kasus ini.

Pertimbangkan situasi perusahaan, terutama yang sangat besar dengan banyak pendapatan, membangun produk di sekitar alat sumber terbuka. Mereka mendapatkan pelanggan, membangun infrastruktur dan mempekerjakan karyawan. Jika tiba-tiba seorang kontributor alat asli menggugat mereka atas pelanggaran paten atau hak cipta, perusahaan tersebut berada dalam banyak air panas yang sah. Jika mereka berhenti menyediakan produk mereka, mereka telah membuang-buang uang untuk infrastruktur dan karyawan yang tidak mereka butuhkan dan yang lebih penting, mereka membuat marah pelanggan. Di sisi lain, jika mereka berhenti menyediakan proyek mereka, tanggung jawab mereka berakhir sementara kasusnya diselesaikan.

Mengingat lanskap perangkat lunak hukum saat ini, CLA adalah cara terbaik untuk membuat perusahaan merasa nyaman menggunakan dan berkontribusi pada perangkat lunak open source. Ini tidak ideal (alangkah baiknya untuk tidak pernah harus berurusan dengan hal-hal hukum ini) tetapi sekarang ini adalah salah satu dari beberapa cara untuk membuat kontribusi ini pos

wwahammy
sumber
Ini bukan hanya tentang perusahaan dengan banyak pendapatan - Yayasan Perangkat Lunak Bebas tidak memiliki banyak pendapatan tetapi membutuhkan CLA untuk dapat melawan pelanggaran lisensi di pengadilan atau hanya menanganinya
johannes