Bagaimana cara saya menemukan dan mendokumentasikan pelanggaran GPL?

15

Bagaimana mengetahui bahwa seseorang menyalin kode sumber terbuka yang dilisensikan dengan GPL ke aplikasi komersial sumber tertutup mereka, ketika Anda tidak memiliki akses ke kode sumber tertutup mereka?

Sunting: Jawaban yang bagus! Bagian 2. Bagaimana jika itu adalah aplikasi web di mana Anda bahkan tidak memiliki akses ke file executable?

Skenario: Mereka menyalin sumber, membuat beberapa perubahan kecil ke gui sehingga ujung depan hampir identik; tambahkan fitur baru ke back-end yang benar-benar identik; dan gagal untuk melepaskannya kembali ke open source.

siamii
sumber
1
Ya, ini lebih dari sekadar "ide bagus". Ini dapat ditegakkan melalui dampak hukum (di banyak yurisdiksi). Yaitu, merekrut (atau mendapatkan) pengacara dan tim analisis.
pst
Setelah diedit, ini cukup jelas. Mungkin tidak akan dimigrasi dalam bentuk saat ini. Karena tidak dapat dikirim kembali dengan mudah, saya sudah melakukan yang terbaik untuk menjawab. Saya juga merevisi judul Anda.
Tim Post
Awasi pria ini ;)
MarkJ

Jawaban:

6

Sepertinya Anda, memang mencoba untuk menemukannya , yang berarti Anda harus menggali ke dalam executable (atau pustaka terkait) yang dikompilasi dari program eksklusif untuk mengetahui. Anda mencari string dan simbol yang jelas cocok dengan perangkat lunak gratis yang Anda curigai.

Pada sistem operasi mirip UNIX, stringsutilitas ini memberikan petunjuk yang bagus. Analisis yang cermat biasanya akan mengungkapkan apa yang Anda butuhkan. Jika Anda lihat foolib_easy_init, well .. program yang dikompilasi menggunakan bodoh.

Ini tentu saja bervariasi dengan tingkat optimisasi kompiler, kebingungan yang dilakukan sebelum kompilasi dan kemungkinan simbol yang tidak digunakan / debug dilucuti, tetapi orang-orang yang terlalu malas untuk menulis perangkat lunak mereka sendiri umumnya sama-sama malas ketika harus menyembunyikannya.

Pos Tim
sumber
1
Saya mengerti, bagaimana jika programnya adalah aplikasi web, di mana Anda bahkan tidak memiliki akses ke binari? Mereka menyalin seluruh kode sumber berlisensi GPL, mengubah beberapa elemen GUI dan merilis webapp sumber tertutup mereka sendiri dengan ujung depan yang hampir identik, dan backend yang benar-benar identik. Kemudian mereka menambahkan fitur baru ke aplikasi tanpa melepaskannya sebagai open source. Apakah layak untuk menemukan jenis pelanggaran GPL ini?
siamii
3
@ bizso09: Itu bukan pelanggaran GPL, dengan asumsi kita berbicara tentang ujung belakang. Lihat jawaban saya untuk lebih detail.
David Thornley
2
@ bizso09 - Ini hanya akan menjadi pelanggaran GPL jika aplikasi ditransfer kepada Anda dalam format yang dikaburkan / dikompilasi tanpa kode sumber. Hanya menempatkannya 'dalam layanan' dan memungkinkan orang untuk menggunakannya tidak akan menjadi pelanggaran. Namun, itu akan melanggar Affero GPL, yang secara khusus mencakup perangkat lunak yang berinteraksi dengan jaringan. Namun, Anda mungkin dapat menemukannya melalui alat pembakar / dev dengan memeriksa semua elemen (atau bahkan mencari bug yang diketahui yang ada dalam kode yang Anda curigai disalahgunakan).
Tim Post
4

BusyBox telah memiliki beberapa kasus besar yang menuntut produsen perangkat keras untuk menggunakan BusyBox tanpa melepaskan sumber. Tuntutan hukum ini diajukan oleh pengacara di Software Freedom Law Center .

Jika proyek Anda cukup matang untuk bergabung dengan Software Freedom Conservancy, Anda juga dapat menggunakan layanan SFLC. (Tidak yakin apakah proyek non-Konservasi dapat menggunakan layanan SFLC --- Anda harus memeriksa.)

Chris Jester-Young
sumber
Tautan yang sangat bagus. Bahkan tidak tahu hal-hal seperti itu ada.
pst
1
Apakah mereka melakukan penelitian untuk Anda atau mereka hanya menyediakan pengacara? Karena saya pikir OP sedang mencari mantan
TheLQ
1
-1 Meskipun menarik, ini tidak menjawab pertanyaan yang diajukan.
HedgeMage
1
@HedgeMage - pertanyaannya sedikit lebih ambigu sebelum diedit.
detly
3

GPL hanya memiliki aplikasi terbatas untuk aplikasi web sisi server. Sisi klien apa pun sedang didistribusikan, tetapi ini biasanya Javascript, dan pengguna secara otomatis mendapatkan sumbernya. Apa pun yang benar-benar sisi-server dijalankan, tidak didistribusikan, dan GPL terutama berlaku untuk distribusi.

Ini adalah motivasi untuk Affero GPL, yang (IIRC) katakan pada dasarnya bahwa jika Anda menggunakan perangkat lunak AGPL dalam sesuatu seperti aplikasi web, perlu menawarkan untuk mendistribusikan sumber.

David Thornley
sumber
1
Benar. AGPL secara khusus mencakup 'perangkat lunak yang berinteraksi dengan jaringan'. Itu akan berlaku hanya untuk ... server IMAP ... seperti halnya untuk aplikasi web.
Pos Tim
2

Jika berperilaku seperti dan berjalan seperti program Anda, Anda bisa mulai dengan objdumpdan alat serupa. Entri Slashdot lama ini menunjukkan metode lain yang lebih formal untuk mendeteksi pelanggaran GPL.

vpit3833
sumber
1

Harald Welte telah sukses dengan pendekatan wortel dan tongkat untuk membuat perusahaan yang telah menggunakan kode berlisensi GPL-nya tidak sesuai untuk mematuhi persyaratan lisensi. Banyak perusahaan hanya perlu dididik tentang konsekuensi dari keputusan mereka dan menyelesaikan masalah mereka di luar pengadilan.

sarnold
sumber
-1 Tidak benar-benar menjawab pertanyaan yang diajukan, yaitu bagaimana mengidentifikasi pelanggaran semacam itu, bukan apa yang harus dilakukan setelah ditemukan.
HedgeMage
5
@HedgeMage - pertanyaan itu diedit baru-baru ini, itu benar-benar membingungkan cukup bahwa itu pindah ke sini, padahal sebenarnya itu mungkin tidak milik di SO.
Pos Tim
2
@Tim: Bisakah kita pergi dan membalas-downvote @HedgeMage sekarang? Pleeeez? :-P (Untuk lurkers pihak ketiga: Tidak, itu bukan saran yang serius. Baik Tim dan saya adalah moderator di situs SE lainnya dan tidak akan pernah terlibat dalam hal seperti itu. Tentunya!)
Chris Jester-Young
1

Jika Anda menemukan pelanggaran GPL (seseorang menggunakan kode di bawah hak cipta Anda dan tidak menawarkan sumber saat mendistribusikan binari), hubungi pelanggar tersebut dan minta untuk menyelesaikan situasinya. Dokumentasikan surat-surat, data kapan Anda menghubungi siapa, dll.

Jika tidak Anda cipta tetapi Anda melihat pelanggaran, mendapatkan kontak dengan pemilik hak cipta asli sebelah pelanggar dan menceritakan / dia tentang pelanggaran juga. Disarankan sebelum Anda menghubungi pelanggar.

Jika perangkat lunak ini adalah karya gabungan dengan banyak pemegang hak cipta, hal yang sama berlaku bagi Anda jika Anda hanya salah satu dari pemegang hak cipta atau hanya sekelompok pemegang hak cipta (dan tidak semua). Ini adalah hak cipta Anda, dan GPL berlaku untuk segala jenis turunan - besar atau kecil.

Jika Anda karena keterbatasan teknis tidak dapat memperoleh pengetahuan jika kemungkinan pelanggaran benar-benar merupakan pelanggaran, Anda perlu mencari cara lain untuk mengetahuinya lebih lanjut. Misalnya dengan mengajukan pertanyaan kepada pelanggar yang mungkin, dengan mendapatkan akses ke sumber biner atau bahkan melalui pihak ketiga dll.

Jika kode yang dipermasalahkan berada di bawah GPL v2 dan ada pelanggaran ketentuan lisensi, penghentian berlaku. Pelanggar telah kehilangan semua hak selamanya untuk menggunakan kode GPL. Ia harus menghubungi kembali semua pemegang hak cipta dan meminta pengembalian hak, jika tidak masih menggunakan kode melanggar hak cipta.

Jika kode yang dipermasalahkan berada di bawah GPL v3 dan ada pelanggaran terhadap persyaratan lisensi, penghentian berlaku juga tetapi pelanggar dapat memulihkan dari ini dengan menghentikan pelanggaran itu sendiri - kecuali jika pemegang hak cipta meminta lebih.

Sunting: Ini hanyalah informasi umum. Jika Anda ingin melihat sisi hukum konkret dari ini, Anda harus menjadi pemilik hak cipta dan Anda harus menghubungi tim hukum Anda di muka untuk mencari tahu apa yang Anda butuhkan untuk bukti dan apa yang disarankan untuk menyelesaikan pelanggaran walaupun tanpa hukum sebagai ini jauh lebih praktis.

hakre
sumber