Saya menerjemahkanC
program GPLv2 ke Python
, tetapi ternyata sulit untuk memperluas karena dirancang dan ditulis ulang bagian yang penting dari itu. Program ini sekarang secara struktural sangat berbeda, tetapi ada beberapa fungsi yang diterjemahkan kata demi kata yang digunakan.
The Ship Theseus Paradox (seperti yang dinyatakan dari Wikipedia) "menimbulkan pertanyaan apakah sebuah benda yang telah memiliki semua komponen yang diganti tetap fundamental objek yang sama."
Jika saya berhasil menulis pengganti untuk fungsi kata demi kata, apakah saya dapat menggunakan lisensi yang saya inginkan?
Terkait, akankah saya dapat mengeluarkan arsitektur yang dikembangkan dan menggunakannya kembali dengan lisensi yang berbeda? Saya pikir itu akan sangat berguna dengan sendirinya, tetapi tidak suka gagasan bahwa sekarang "ternoda" dengan lisensi GPL.
Tindak lanjut : Saya memutuskan untuk menghubungi pemegang hak cipta dan menerima izin untuk relicense . Terkadang cara terbaik adalah berinteraksi secara sosial daripada secara terprogram!
Jawaban:
Pertama, jawabannya adalah tidak (untuk terjemahan), Anda tidak dapat secara legal melepaskannya atau melakukan apa pun di luar legalitas lisensi asli. Anda mungkin telah melakukan 10 kali pekerjaan penulis asli, tetapi tidak masalah, itu viral. Bukan hanya karena itu GPL, tetapi karena itu bukan desain yang bersih atau menulis ulang.
Saya berjuang secara singkat dengan ini pada tahun 1992 ketika saya telah melakukan penulisan ulang besar-besaran dari basis kode MUD lama. Kami memiliki permainan yang sukses, tetapi ingin melakukan hal kami sendiri, dan orang-orang bersedia membayar untuk itu, namun lisensi DikuMUD melarang kami untuk menghasilkan uang. Seorang pesaing, pada saat itu, juga telah mendasarkan mereka pada basis kode yang sama, dan mereka memilih untuk secara terang-terangan mengabaikan hak cipta, merobek semua jejaknya, dan pada dasarnya berbohong kepada semua orang termasuk mereka sendiri. Logikanya adalah "tidak ada kode asli yang ada" dan "kami telah melakukan penulisan ulang dan peningkatan besar-besaran" dan umumnya mengabaikan fakta bahwa mereka mulai dengan 20.000 baris kode. Mereka memungut biaya untuk item dalam game, dan menghasilkan terlalu banyak uang untuk berhenti.
Saya memang merasa iri. Tetapi saya meneliti hukum hak cipta, dan berkonsultasi dengan hati nurani saya, dan memutuskan bahwa saya bahkan tidak bisa menggunakan kode yang saya tulis karena saya sejujurnya tidak merancang server game dari awal.
Jadi saya memutuskan untuk meletakkan uang saya di tempat mulut saya dan menulis dari awal, dengan salinan Program Pemrograman Jaringan UNIX W. Richard Steven dengan saya setiap saat, saya mulai. Menulis dari awal, cara saya, mengajar saya jauh lebih banyak daripada ketika saya menulis ulang DikuMUD, dan itu juga mengajarkan saya bahwa saya tidak benar-benar mengerti apa artinya berdiri di atas bahu orang lain. Dalam enam bulan saya memiliki 50.000 baris kode operasional yang bisa saya sebut milik saya. Saya menamakannya MUD ++ dan dirilis di bawah BSD. Buruk ditulis dalam gaya awal C ++, itu masih bebas, open source C ++ MUD pertama yang saya sadari. Sampai hari ini tidak ada yang bisa mengambilnya dariku. Saya memiliki server TCP terbaik saat itu, tidak ada orang lain yang bisa melakukan "hot reboot" tanpa menjatuhkan pemain, dan segera semua orang mencuri fitur tersebut (dan saya mencatat banyak GPL MUD memiliki potongan kode BSD saya - selalu menarik bagaimana GPL dapat membajak BSD-ware tetapi tidak sebaliknya ). Akhirnya, saya pindah, jadi itu tidak seperti keputusan untuk membuat atau menghancurkan keberuntungan saya, tetapi sementara orang-orang lain menghasilkan banyak uang untuk sementara waktu, terakhir saya melihat mereka berkurang, di dunia permainan grafis tidak ada banyak permintaan massal untuk teks lagi.
Ceritanya tidak berakhir ... beberapa tahun kemudian, saya bekerja untuk IBM dan Disney menyewa kami untuk menulis game multiplayer 3D realtime untuk Epcot center, dan saya dapat menggunakan inti TCP dari MUD ++ sebagai dasar untuk itu server game! Seandainya saya tidak memiliki kode sendiri, saya tidak akan diizinkan untuk menggunakannya, dan itu dengan jujur menghemat waktu pengkodean selama berminggu-minggu. Pada akhirnya, saya bangga dengan pilihan yang saya buat dan saya punya cerita untuk disampaikan kepada anak-anak saya.
Orang-orang mengecilkan dan meremehkan manfaat memulai dengan kerangka kerja orang lain untuk dibangun.
Jika Anda merasa "memilikinya", ujilah diri Anda. Mulai dari awal, dengan buku Python di samping Anda. Lihat bagaimana rasanya. Jangan menipu dan jangan melihat basis kode lama. Lihatlah hasilnya. Paksa diri Anda untuk memikirkan setiap aspek Anda sendiri, melakukan penelitian yang jujur. Anda akan lebih baik untuk itu, dan kemungkinan memiliki produk yang lebih baik.
Namun, sebelum Anda melakukannya, cobalah untuk menghubungi penulis asli. Tanyakan apakah mereka mau relicense. Jika Anda berencana untuk menjual binari, tawarkan royalti. Banyak penulis yang merilis GPL pada tahun 90-an dan 2000-an, sekarang berusia 30-an, 40-an, dan 50-an dan memahami apa artinya mencari nafkah di perangkat lunak. Saya telah melihat lebih dari satu relicense barang-barang mereka dari GPL ke MIT, Apache, Boost atau BSD.
Terakhir, lisensi tidak menggantikan hak sebelumnya terhadap kode yang mungkin Anda miliki. Atau jika Anda menulis add-on bersih secara mandiri, misalnya, jika Anda menulis mesin TCP sebagai add-on untuk game Tetris pemain tunggal, dan itu bisa berdiri sendiri dengan bersih (terutama jika Anda sebelumnya dirilis di bawah lisensi lain) maka Anda dapat menggunakan kembali kode Anda di proyek lain. Anda memiliki hak kepengarangan juga.
Keyakinan saya gratis, GRATIS. Jika Anda harus melampirkan string, jangan menyebutnya gratis. Seseorang mengirimi saya bertahun-tahun kemudian dan mengatakan bahwa mereka telah menggunakan permainan saya di mesin komersial, terutama TCP dan mungkin penerjemah bytecode. Mereka menghasilkan uang. Saya tidak keberatan sedikit pun. Saya bahagia karena masih seperti sekarang, sebagai ayah yang bangga.
sumber
Skenario ini tercakup dalam FAQ GPL :
sumber
Itu diragukan, bahkan jika Anda menulis ulang seluruh perpustakaan dari awal, itu akan melewati pengawasan hukum. Kode akan dianggap "tercemar" karena Anda telah melihat kode di perpustakaan berlisensi GPL.
Pendekatan standar untuk masalah ini disebut "implementasi ruang bersih". Anda menulis dokumen persyaratan dan meminta orang lain mengimplementasikannya (yang belum melihat kode GPL).
Lihat juga pertanyaan ini: Menulis ulang kode GPL untuk mengubah lisensi
Seperti seseorang dengan tepat meletakkannya di sana, terjemahan Harry Potter dari Cina masih merupakan karya turunan, meskipun semua informasi telah diganti.
Tentu saja, kemungkinan Anda dituntut atas penulisan ulang perpustakaan berlisensi GPL (dan moralitas mengandalkan probabilitas rendah itu) adalah diskusi yang sama sekali berbeda.
Sejauh menambahkan fungsionalitas ke kode asli, ini adalah (bagian dari) definisi karya turunan: menambah karya asli. Tidak masalah seberapa banyak Anda menambahkan, atau seberapa kecil pekerjaan awalnya - itu masih turunan.
sumber
Pengamatan: GPL hanya relevan jika Anda merilis pekerjaan Anda. Apakah Anda sudah merilisnya?
Pengamatan: Ini bukan situs web penasihat hukum, jadi buang semua FUD hukum itu, dan terapkan akal sehat.
Opini: GPL, atau lisensi apa pun, tidak memiliki ide hak cipta , ia mengklaim kode sumber, tidak peduli seberapa kecil bagiannya. Jadi, jika, dan hanya jika karya "turunan" Anda tidak dapat diidentifikasi berasal dari dokumen asli, karena Anda mengubah struktur kode dan menerapkan kembali semua fungsi, itu untuk semua tujuan praktis bukan turunan lagi, karena, jika memang demikian, maka dapat dibedakan dari implementasi kamar yang bersih.
Ini sangat sulit (tidak mungkin?) Untuk dicapai meskipun ketika Anda memiliki basis kode yang sudah Anda modifikasi, alih-alih mulai dari awal.
sumber
Anda memiliki hak cipta untuk kode apa pun yang Anda tulis. Apa mandat GPL adalah: kode apa pun yang Anda berkontribusi atau lepaskan bersama kode GPL, Anda juga harus melepaskannya di bawah lisensi yang serupa. Namun, hak cipta tetap milik Anda.
Jadi, jika Anda merilis perangkat lunak bagian-jalan Anda melalui penulisan ulang (jadi ada campuran kode Anda dan kode lama), maka Anda harus merilis bagian dari kode Anda sebagai GPL, dan ini tidak dapat dicabut. Namun, pemegang hak cipta adalah orang yang memutuskan persyaratan lisensi, jadi Anda masih memiliki hak untuk pada dasarnya "lisensi ganda" yang merupakan bagian dari kode, termasuk menggabungkannya dengan kode lain yang Anda tulis dan jual / lepaskan sendiri, dll.
Peringatan:
(sumber: sesi "hak cipta dan sumber terbuka" yang diselenggarakan oleh perusahaan saya beberapa minggu yang lalu)
sumber
Iya.
Jawaban lain menggunakan terlalu banyak teks untuk menjelaskan pendapat apakah Anda harus atau tidak, tetapi pendapat itu tidak relevan dengan pertanyaan.
Faktanya adalah bahwa Anda akan memiliki pekerjaan baru setelah Anda mengganti bagian terakhir, yang diakui dibangun dengan melihat karya GPL. Itu bukan masalah utama dalam hukum hak cipta (paten akan menjadi masalah lain). Segala sesuatu yang Anda distribusikan akan menjadi kreasi Anda.
Ada banyak bahan yang mendukung teori bahwa hak cipta dalam program perangkat lunak adalah jumlah dari hak cipta sebagian. Misalnya, MPL secara eksplisit mengakui model ini. Gugatan Google / Oracle turun ke hak cipta level-line.
sumber
Jawaban singkatnya adalah Anda tidak bisa tahu.
Ketika Anda berbicara dengan Richard, Anda menemukan dia "gila seperti rubah" di banyak implementasinya. GPL ditulis secara khusus untuk memiliki ambiguitas dan ungkapan yang tidak jelas. Ini umumnya dinyatakan bertentangan dengan manfaat penulis lisensi tetapi juga memberikan perhatian pengacara IP Anda. Secara cerdik, hal itu membuat pengacara IP Anda semakin khawatir karena perusahaan semakin besar. Sebuah perusahaan komersial kecil yang melakukan "interpretasi yang masuk akal" dari GPL mungkin merupakan risiko yang dapat diterima, tetapi sebuah perusahaan perangkat lunak besar mungkin merasa lebih bijaksana untuk membakar seluruh tim yang berhasil mendapatkan noda GPL.
Tidak ada Jawaban. Tidak akan ada jawaban. Itulah jawabannya.
sumber