Keuntungan menjadi yang pertama untuk copyleft algoritma baru? [Tutup]

18

Katakanlah saya telah membuat algoritma (DSP) baru. Apakah saya akan mendapat keuntungan jika saya membuka sumber algoritma di bawah lisensi copyleft (GPL dll.)? Dari apa yang saya ketahui tentang lisensi ini harus mengunci orang agar tidak menggunakan kode yang persis sama dengan sumber tertutup, tetapi apakah mereka dapat "menulis ulang" algoritme sebagai sumber tertutup?

Catatan: Saya tidak benar-benar tahu apakah algoritme ini baru tetapi belum dirilis sebagai sumber terbuka. Karena saya dari Uni Eropa, apakah saya perlu mencari paten perangkat lunak jika ingin copyleft?

Kozuch
sumber
21
Saya memberikan suara untuk menutup pertanyaan ini sebagai di luar topik karena meminta nasihat hukum. Itu hanya dapat dijawab dengan benar oleh pengacara IP untuk yurisdiksi tertentu.
1
Saya merekomendasikan untuk meneliti sejarah teknik reverse black box. Meskipun tidak sama dengan apa yang Anda minta, ada banyak informasi menarik tentang hukum IP, kontrak, rekayasa balik, paten, dll. Yang relevan.
2
@Snowman: seperti yang Anda lihat di sini, meta.programmers.stackexchange.com/questions/1655/… , tidak setiap pertanyaan tentang topik hukum pada umumnya di luar topik. Saya kira, setidaknya untuk bagian penting dari pertanyaan ini, komunitas kami memiliki beberapa pengetahuan untuk dibagikan. Meskipun saya setuju bahwa untuk jawaban mendalam seseorang mungkin perlu pengacara.
Doc Brown
2
Pertanyaan ini ditanyakan 8 jam yang lalu dan sudah memiliki 1.880 tampilan. Ini sepertinya pertanyaan yang sangat populer dan dibutuhkan. Senang ada yang bertanya.
Gabriel Fair
2
Meskipun pertanyaan ini mungkin populer dan menarik, jawaban "yang dapat diperdebatkan" di bawah ini menggambarkan secara tepat mengapa pertanyaan-pertanyaan legalitas seperti ini tidak cocok untuk PSE dan mengapa mereka tidak dibahas di sini.
Eric King

Jawaban:

27

Pembatasan dalam lisensi copyleft seperti GPL berlaku untuk versi modifikasi kode Anda dan juga kode asli Anda. Jadi mereka tidak bisa hanya men-tweak gaya spasi putih atau penjepit dan kemudian menghapus pernyataan lisensi Anda.

Namun, Anda tidak dapat mematenkan / hak cipta / copyleft / apa pun "algoritma" dalam arti yang paling abstrak. Anda dapat meletakkan lisensi pada penerapan quicksort favorit Anda, tetapi Anda tidak dapat melisensikan quicksort itu sendiri. Jika seseorang membaca kode Anda hanya untuk mempelajari algoritme, dan kemudian menulis ulang algoritme dari awal dengan caranya sendiri, itu tidak masalah.

Sejauh yang saya tahu, tidak ada "keuntungan" untuk menjadi yang pertama untuk mempublikasikan algoritma selain dari beberapa kemasyhuran dan reputasi (dunia nyata) jika itu sangat penting. Menjadi orang pertama yang copyleft pasti tidak memberi Anda apa-apa, tetapi fakta bahwa seseorang copyleft akan dilihat sebagai manfaat bagi komunitas perangkat lunak bebas.

Ixrec
sumber
27
Jawaban ini mengandung beberapa informasi yang benar dan dapat diperdebatkan, jadi berhati-hatilah. AFAIK, paten telah dicoba diterapkan pada perangkat lunak yang jauh kurang substansial, dan mereka telah dicoba untuk ide-ide abstrak, bukan hanya implementasi. Ini sangat tergantung pada hukum setempat dan sangat berbeda bahkan di berbagai negara bagian di Eropa. Menerbitkan algoritme baru sebagai yang pertama dapat membuat case untuk "prior art" ( en.wikipedia.org/wiki/Prior_art ) ketika seseorang kemudian mencoba mematenkan ide yang sama dalam implementasi yang berbeda.
Doc Brown
10
Oracle v Google bukan tentang implementasi Java; justru sebaliknya, itu tentang API. Saya akan sangat enggan untuk mengatakan bahwa algoritma tidak dapat dipatenkan secara umum, terutama di AS.
sapi
9
Tidak dapat mematenkan algoritma? Sudahkah kita melupakan paten GIF dan MP3?
Andrew Medico
2
@ Bakuriu: Anda melewatkan intinya. Baik pemegang paten GIF dan MP3 menggugat perusahaan lain karena menggunakan algoritme (atau setidaknya mengancam akan menuntut mereka), bukan karena perusahaan lain itu menyalin implementasi tertentu.
Doc Brown
4
@AbhinavGauniyal: Mematenkan cara melakukan sesuatu adalah hal yang normal. Ini disebut proses / metode paten. Misalnya, jika Anda memiliki cara baru untuk membuat bumper mobil, Anda dapat mematenkannya. Bukan bumper mobil, proses pembuatan bumper mobil. Paten proses adalah salah satu landasan paten perangkat lunak. Tetapi gagasan paten perangkat lunak berbenturan dengan aspek lain dari hukum paten: Anda tidak dapat mematenkan rumus matematika (setidaknya di AS). Dan dapat dikatakan bahwa algoritma adalah bagian dari matematika murni yang kita sebut "ilmu komputer".
slebetman
12

Jika Anda ingin mencegah hal yang dapat dipatenkan dipatenkan dan kemudian "ditutup" dari komunitas yang lebih besar, Anda dapat melakukan pengungkapan defensif. Misalnya, Cuis Smalltalk melakukan ini dengan beberapa teknik anti-aliasing baru:

Frank Shearar
sumber
3
Jika Anda merilis sesuatu, de jure itu tidak dapat dipatenkan lagi karena seni sebelumnya ada. Secara de facto, kantor paten di seluruh dunia biasanya tidak cukup peduli untuk meneliti ini (karena mereka tidak akan mendapatkan uang untuk itu) dan memungkinkan hampir semua paten yang tidak terlihat terlalu mencurigakan. Jika pemegang paten kemudian menuntut seseorang, paten tersebut tidak akan diajukan ke pengadilan (jika ada proses pengadilan. Harganya mahal ...)
Josef
2
@ Josef Tidak sepenuhnya benar, sebagian besar kantor paten (tentu benar di AS dan UE) adalah yang pertama kali diajukan, tetapi ini hanya masalah untuk penemuan yang terjadi berdekatan. Jika seseorang menerbitkan (tetapi tidak mematenkan) suatu algoritma, orang lain dapat mematenkannya pada hari berikutnya dan mungkin lolos begitu saja. Masalah hukum spesifik seputar hal ini kompleks, dan orang harus berkonsultasi dengan pengacara IP jika mencoba melakukannya.
@Snowman untuk menghindari pematenan hari berikutnya apakah akan membantu mempublikasikan dalam bentuk terenkripsi dan kemudian menerbitkan kunci beberapa bulan kemudian?
trichoplax
1
@trichoplax Saya tidak tahu harus jujur. Saya mencoba mengikuti perkembangan undang-undang ini, tetapi ini adalah perubahan terbaru di AS tempat saya tinggal. Jika saya akan mencoba melakukan ini, saya akan berkonsultasi dengan pengacara IP yang tahu lebih banyak. Cara saya memahaminya adalah ada area abu-abu besar dan seseorang yang berspesialisasi dalam hukum perlu membimbing saya.
Hanya untuk memperjelas, saya bermaksud jawaban saya untuk secara khusus berbicara tentang ide, algoritma, dll., Karena banyak orang mulai berbicara tentang kode sumber sementara OP bertanya tentang algoritma . Jika ragu (dan Anda seharusnya), konsultasikan dengan pengacara IP.
Frank Shearar
9

Saya melihat beberapa informasi berharga di jawaban lain dan komentar, tetapi juga beberapa informasi yang salah, jadi saya mencoba untuk memberikan ringkasan dan menambahkan beberapa hal tambahan.

Apakah saya akan mendapat keuntungan jika saya membuka sumber algoritma di bawah lisensi copyleft (GPL dll.)?

Dengan menerbitkan kode sumber dari implementasi algoritme Anda di bawah GPL (saya berasumsi bahwa itulah yang Anda maksudkan), Anda mendapatkan keuntungan dengan menunjukkan algoritme Anda berfungsi sebagaimana dimaksud, dan semua orang dapat memeriksa kode sumber Anda untuk memastikannya tidak mengandung apa pun. "tidak biasa" seperti bug atau malware yang parah. Mungkin Anda akan mendapatkan beberapa kontributor untuk peningkatan lebih lanjut. Dan karena Anda adalah pemegang hak cipta, Anda masih bebas mempublikasikan atau menjual implementasi Anda kepada orang lain di bawah lisensi yang berbeda.

Pertanyaan yang berbeda adalah apakah itu memberi Anda keuntungan untuk menjadi yang pertama menerbitkan algoritma itu. Dengan menjadi yang pertama Anda bisa mencoba mencegah orang lain mendapatkan paten pada algoritma itu, karena implementasi Anda akan berfungsi sebagai semacam bukti bahwa Anda adalah penemu. Tetapi sebagai @Snowman telah benar menunjukkan dalam komentar, karena file pertama (bukan yang pertama kali ditemukan) dari banyak peraturan paten Eropa, yang mungkin sebenarnya tidak berfungsi.

Dari apa yang saya ketahui tentang lisensi ini harus mengunci orang agar tidak menggunakan kode yang persis sama dengan sumber tertutup, tetapi apakah mereka dapat "menulis ulang" algoritme sebagai sumber tertutup?

Anda mengunci orang agar tidak mempublikasikan kode sumber Anda atau mengubahnya dalam sumber tertutup, bukan menggunakannya di dalam organisasi komersial. Anda mengunci orang agar tidak menerbitkannya sebagai sumber terbuka atau tertutup di bawah lisensi yang berbeda dari GPL. Namun, Anda tidak mengunci orang dari menerbitkan implementasi "ruang bersih" baru dari algoritma Anda di bawah lisensi sewenang-wenang, yang merupakan implementasi yang dibuat hanya dari deskripsi algoritma Anda, tanpa benar-benar melihat ke dalam kode sumber.

Karena saya dari Uni Eropa, apakah saya perlu mencari paten perangkat lunak jika ingin copyleft?

Meskipun undang-undang di banyak negara Eropa secara resmi melarang paten pada algoritma murni, banyak perusahaan telah mengelak dari undang-undang tersebut di masa lalu dengan menyatakan algoritma tertentu sebagai "penemuan yang diimplementasikan komputer". AFAIK, kantor paten Eropa tidak menerima banyak paten algoritmik seperti kantor paten AS di masa lalu, meskipun demikian mereka telah menerima ribuan paten selama bertahun-tahun yang dapat diartikan sebagai paten pada algoritma. Jika paten-paten itu benar-benar akan diajukan ke pengadilan adalah pertanyaan yang berbeda, tetapi seseorang yang ingin mengetahuinya biasanya harus mengadili ini, dengan semua risiko yang terkait. Dua kelompok contoh paling populer disebutkan dalam komentar, paten tentang kompresi gambar GIF dan paten tentang kompresi / dekompresi MP3, lihat di sini untuk lebih banyak contoh.

Jadi, jika Anda ingin mengurangi risiko dituntut, sebelum menerbitkan perangkat lunak yang berisi algoritme tertentu, Anda mungkin harus melihat apakah ada seseorang yang memegang hak paten di sana, bahkan di UE.

Doc Brown
sumber
Jawaban komprehensif yang benar-benar bagus. Saya hanya memiliki beberapa masalah dengan paragraf terakhir: Bagaimana saya diasumsikan untuk mencari paten yang mungkin saya langgar? Saya, untuk satu, tidak dapat menyimpulkan dari judul mereka jika mereka mungkin berlaku untuk kode saya. Saya juga tidak tahu indeks tematik yang komprehensif untuk mereka. Mencari kata kunci tidak akan memotongnya, jadi meskipun Google tidak berguna, kata-katanya bisa sangat tidak terbayangkan oleh saya. Dan mengingat ribuan paten, saya tidak dapat memeriksa semuanya. Afaik jelas tidak mungkin untuk benar-benar mencari paten yang mungkin saya
langgar
1
@ cmaster: peluang terbaik Anda di Eropa mungkin adalah mesin pencari dari kantor paten Eropa, lihat epo.org/searching.html
Doc Brown
1
@ cmaster: Anda seharusnya menghabiskan jutaan dolar untuk pengacara yang melakukan tinjauan paten, dengan benar-benar membaca paten. Saya mengerti ini bahkan bekerja di proyek-proyek besar di luar perangkat lunak (bayangkan mobil baru), karena mereka dikembangkan dengan cara yang lebih "air terjun" dan memiliki lebih sedikit ide. Tetapi tentu saja, itu tidak praktis untuk perangkat lunak, sehingga perusahaan besar seringkali hanya mematenkan lisensi silang, dan yang kecil tidak dapat melindungi diri mereka sendiri.
Blaisorblade
5

Anda tidak dapat "copyleft" suatu algoritma. "Copyleft" bergantung pada perlindungan hak cipta untuk keberlakuannya, tetapi algoritme tidak dapat dilindungi hak cipta, sehingga Anda tidak dapat "copyleft" suatu algoritma. Dengan kata lain, pertanyaan Anda mungkin didasarkan pada premis yang salah.

Hak cipta hanya dapat digunakan untuk melindungi implementasi tertentu, bukan ide algoritma. Jadi, Anda bisa melindungi implementasi algoritma tertentu menggunakan lisensi berbasis hak cipta (seperti lisensi gaya "copyleft"), tetapi itu tidak akan mencegah orang lain untuk membangun implementasi berbeda dari algoritma yang sama. Akibatnya, tidak ada cara untuk "copyleft an algorithm".

Secara khusus, lisensi GPL dibangun di atas dasar hukum hak cipta. Hukum hak cipta mengatakan (secara kasar): tidak ada yang bisa menyalin konten Anda yang dilindungi hak cipta tanpa izin Anda. Lisensi GPL mengatakan: Saya memberikan izin untuk menyalin konten yang dilindungi hak cipta (kode) dalam kondisi tertentu (ketentuan lisensi "copyleft"). Jadi, untuk hal-hal yang berhak cipta, ini memungkinkan bootstrap lisensi "copyleft" berdasarkan undang-undang hak cipta yang ada. Tetapi, untuk hal-hal yang tidak dapat dilindungi hak cipta, pendekatan ini tidak berguna. Hukum hak cipta hanya melindungi ekspresi kreatif, bukan ide. Secara khusus, itu tidak melindungi algoritma.


Hukum paten adalah masalah yang berbeda. Di beberapa yurisdiksi, dimungkinkan untuk mendapatkan paten untuk suatu algoritma. Ini akan sangat tergantung pada yurisdiksi hukum dan mungkin pada spesifik situasi Anda. Secara umum, memublikasikan algoritme Anda mungkin membantu menetapkan penemuan sebelumnya yang mencegah orang lain mematenkan algoritme, tetapi detailnya rumit, dan sebaiknya berkonsultasi dengan pengacara. Secara umum, jika Anda menginginkan saran yang solid tentang apa pun yang berkaitan dengan paten algoritma, saya sarankan Anda menghubungi pengacara IP, karena ini terlalu luas untuk dijawab secara umum tanpa mengetahui informasi itu.

DW
sumber
IMHO pertanyaannya tidak didasarkan pada "premis yang salah", hanya saja tidak tepat. Saya cukup yakin OP sebenarnya dimaksudkan untuk open source implementasi dari algoritma-nya.
Doc Brown
1
@DocBrown: OP juga tertarik untuk memberlakukan Lisensi terhadap setiap implementasi bersih-bersih dari algoritmanya (menulis ulang). Jadi interpretasi DW dari pertanyaan itu benar.
slebetman
3

Copyleft tidak ada hubungannya dengan hak cipta atau perlindungan paten. Itu tidak memberikan perlindungan apa pun kepada Anda, pemegang hak cipta, yang sebelumnya tidak akan Anda miliki.

Namun, ini semua berkaitan dengan distribusi . Copyleft melindungi pengguna kode Anda dengan mengharuskan Anda dan siapa pun yang menggunakan kode mereka untuk mendistribusikan seluruh kode sumber dari karya kolektif mereka dan setiap perubahan yang mereka buat untuk itu. Tidak ada yang bisa dikatakan tentang perlindungan hak cipta atau paten, selain untuk memberi pengguna Anda hak spesifik tertentu yang mungkin tidak mereka miliki, seperti kebebasan untuk merekayasa ulang DRM di GPL3.

Robert Harvey
sumber