Ada beberapa kode yang merupakan GPL atau LGPL yang saya pertimbangkan untuk digunakan untuk proyek iPhone.
Jika saya mengambil kode itu (JavaScript) dan menulis ulang dalam bahasa yang berbeda untuk digunakan pada iPhone apakah itu akan menjadi masalah hukum?
Secara teori proses yang telah terjadi adalah bahwa saya telah melewati setiap baris proyek, mempelajari apa yang dilakukannya, dan kemudian menerapkan kembali ide-ide tersebut dalam bahasa baru.
Bagi saya sepertinya ini seperti belajar bagaimana mengimplementasikan sesuatu, tetapi kemudian mengimplementasikannya secara terpisah dari lisensi aslinya. Oleh karena itu Anda hanya menyalin algoritma, yang bisa dibilang Anda bisa pelajari dari tempat lain selain proyek asli.
Apakah lisensi juga mencakup implementasi spesifik atau algoritme?
SUNTING------
Sangat senang melihat topik ini membuat percakapan yang baik. Untuk memberi sedikit lebih banyak dukungan ke proyek, kode yang terlibat melakukan beberapa jenis analisis audio. Saya percaya itu bukan hal yang sepele untuk dipelajari atau diterapkan, walaupun saya siap untuk memulai tugas ini (saya berada pada level di mana saya dapat mengimplementasikan algoritma FFT , dan ini akan melampaui itu.) script LOC rendah , jadi saya tidak berpikir itu akan terlalu sulit untuk melakukan port langsung.
Saya sangat menyukai ide rereleasing port saya serta menggunakannya dalam aplikasi. Saya tidak melihat masalah dengan itu, dan itu akan menjadi cara yang bagus untuk memberikan sesuatu kepada komunitas.
Saya akan menambahkan garis tentang tidak ingin membahas masalah-masalah moral, tetapi saya cukup senang saya tidak melakukannya karena tampaknya telah sedikit memicu perdebatan.
Saya masih merasa agak aneh menggunakan kode sumber terbuka untuk belajar. Apakah ini berarti bahwa apa pun yang dipelajari dari proyek sumber terbuka tidak diizinkan untuk digunakan dalam proyek sumber tertutup? Dan berapa lama setelah atau berbeda suatu implementasi harus tidak dianggap pelanggaran lisensi? Suram!
EDIT 2 --------
sumber
Jawaban:
Saya bukan pengacara. Ini bukan nasihat hukum.
Yang mengatakan, mengambil setiap baris aplikasi dan mengubahnya sedikit untuk tujuan tunggal menghindari hukum hak cipta secara terang-terangan, jelas, menciptakan karya yang diturunkan tanpa pertahanan yang masuk akal sama sekali. Bahkan hakim dan juri yang paling pasti akan melawan Anda jika Anda diseret ke pengadilan.
Sama seperti perbandingan: perusahaan yang memang perlu menulis ulang sesuatu untuk interoperabilitas biasanya mempekerjakan set orang yang berbeda untuk memahami sumbernya, dan untuk membuat port ("implementasi ruang bersih"), sehingga tidak ada yang dapat menuduh mereka membuat turunan kerja. Apa yang Anda usulkan adalah kebalikannya.
sumber
Menurut Betsy Rosenblatt dari Dasar-Dasar Hak Cipta Harvard Law School :
Sepertinya saya melanggar item # 2 di atas.
Namun, saya pikir terminologi adalah masalah besar di sini. Anda berkata, "Jika saya mengambil kode itu (javascript) dan menulis ulang dalam bahasa yang berbeda untuk digunakan pada iPhone apakah itu akan menjadi masalah hukum?" (penekanan milikku). Menulis ulang sesuatu mungkin berbeda atau tidak sama dengan menyalin. Misalnya, jika Anda melihat Mona Lisa, kemudian pergi ke studio Anda sendiri, dan melukis apa yang Anda ingat tentangnya, maka bagi saya tampaknya Anda sedang menciptakan karya orisinal yang merupakan ekspresi Anda tentang bagaimana Anda memandang yang asli. Namun, jika Anda memiliki salinan Mona Lisa di studio Anda, dan Anda melukisnya, bukan apa yang Anda ingat, maka saya pikir Anda pasti menyalinnya.
Dengan cara yang sama, jika Anda menggunakan MS Word, dan mungkin bahkan jika Anda melihat beberapa kode, dan kemudian Anda pergi dan menulis pengolah kata Anda sendiri yang memiliki kesamaan fungsional, saya percaya ada kasus di mana diputuskan bahwa "lihat & feel "tidak dapat memiliki hak cipta. (Ini tidak mengatakan paten, tentu saja.)
Anda mungkin harus bertanya kepada pengacara (karena saya bukan pengacara).
Pendapat pribadi saya adalah bahwa "port" adalah karya turunan dan karenanya Anda harus merilis kode porting dalam lisensi yang sama.
sumber
Saya bukan pengacara, ini bukan nasihat hukum, dan jika Anda mengandalkan apa yang saya katakan dalam segala bentuk usaha yang meragukan (1) Anda idiot, dan (2) saya melepaskan semua tanggung jawab. Inilah yang saya dengar dan baca selama bertahun-tahun dari orang-orang yang sepertinya tahu.
Juri tidak memainkan game "secara teori". Mereka tidak menyukai orang-orang yang membuat cara untuk memutarbalikkan hukum yang mungkin dapat diterima dalam hal analisis logis tetapi yang bertentangan dengan maksud yang jelas dan bagaimana hakim telah memerintah di masa lalu. Jangan pernah mencoba menjadi terlalu pintar tentang hukum jika ada kemungkinan Anda akan berakhir di ruang sidang membela interpretasi Anda.
Secara umum diterima bahwa mengambil novel dan membuat film dari film itu atau menerjemahkannya ke bahasa lain menciptakan karya turunan, dan itu adalah transformasi yang jauh lebih besar daripada yang Anda bicarakan, dan membutuhkan kreativitas yang jauh lebih besar. Lihatlah itu sebagai contoh; seorang hakim pasti akan melakukannya.
Di AS, ada beberapa kasus di mana penyalinan program secara lebih longgar daripada yang Anda bicarakan telah dianggap sebagai pelanggaran. Di AS, perkirakan itu akan digunakan sebagai preseden.
Dengan kata lain, Anda akan memulai perusahaan komersial atas dasar yang akan dianggap ilegal jika ada yang mengganggu. Bukan ide yang bagus.
Selain itu, jika Anda menghormati gagasan hak cipta, atau kontrol apa pun yang mungkin dimiliki penulis atas apa yang dia terbitkan, Anda bersikap munafik. Kode sumber tersedia untuk Anda gunakan dalam kondisi tertentu. Anda melanggar hukum dan maksud tersurat dari penulis.
Sekarang, algoritma tidak dapat dilindungi hak cipta. Di AS, pengadilan telah memutuskan bahwa tidak mungkin untuk hak cipta suatu ide, dan segala sesuatu yang biasanya dapat dilindungi hak cipta yang merupakan satu-satunya cara untuk mengekspresikan sesuatu tidak dapat dilindungi hak cipta. Karena itu, Anda tentu dapat menggunakan algoritma.
Ada cara untuk menyalin algoritma yang tahan hak cipta: pendekatan "ruang bersih", di mana satu orang atau kelompok mempelajari kode sumber dan membuat deskripsi algoritme (dengan sesedikit mungkin detail implementasi), dan orang lain atau grup menulis kode baru tanpa referensi ke sumber aslinya. Semakin dekat Anda dengan itu, semakin aman Anda.
Anda juga mungkin ingin mempertimbangkan bahwa, dengan memposting pertanyaan di sini, Anda telah mempublikasikan maksud yang mungkin melanggar hak cipta, dalam bentuk yang kemungkinan dapat ditelusuri kembali kepada Anda jika ada yang memiliki hak hukum untuk melakukannya (seperti penemuan di kasus perdata, atau investigasi polisi biasa jika ini ternyata merupakan kasus pidana).
sumber
Mengapa Anda tidak hanya membuka sumber port Anda dan membiarkan sisa proyek Anda menjadi sumber tertutup?
Mengutip jawaban saya yang lain:
Tetapi dari sudut pandang yang lebih pragmatis:
Jika kode yang Anda porting sangat berguna sehingga Anda pikir Anda harus melindunginya untuk mempertahankan keuntungan (yang tidak Anda miliki, karena orang yang menggunakan Appcelerator dapat langsung menggunakannya), akan ada menjadi porta sumber terbuka cepat atau lambat. Ini akan dikelola oleh sejumlah orang, itu akan digunakan dan dengan demikian diuji oleh lebih banyak orang dan akan disempurnakan lebih lanjut untuk memasukkan prinsip-prinsip yang dipromosikan oleh bahasa target dan untuk antarmuka yang lebih baik dengan kerangka kerja yang lazim pada platform Anda. Cepat atau lambat kode Anda akan terlihat seperti sampah dibandingkan dengan itu.
Open sourcing sebenarnya adalah kesempatan Anda untuk tetap di atas peringatan. Ini menang-menang. Jika Anda beruntung, Anda bahkan akan mendapatkan pengelola kode tersebut dan dapat fokus pada logika aplikasi Anda, yang sebenarnya membuat produk Anda unik.
sumber
Saya bukan pengacara, saya bahkan tidak memainkannya di TV.
Tapi saya pikir masalah di sini adalah derivasi. Jika pekerjaan baru Anda berasal dari pekerjaan GPL atau LGPL, maka pekerjaan itu harus mematuhi persyaratan GPL atau LGPL. Pekerjaan Anda jelas akan turunan, bahkan jika Anda benar-benar menulis ulangnya baris demi baris dalam bahasa lain.
sumber
Seperti yang orang lain katakan, ini kemungkinan merupakan karya turunan dan dengan demikian secara langsung melanggar ketentuan GPL jika Anda memilih untuk melakukannya "terpisah dari lisensi asli" (Saya berasumsi itu berarti Anda akan menghapus GPL dan menggunakan sesuatu yang lain, bahkan sumber tertutup) .
Bahkan jika itu tergelincir sebagai "legal", itu jelas tidak bermoral . Penulis perangkat lunak GPL memilih lisensi yang memperluas kebebasan ke karya turunan. Baik itu hal yang baik atau buruk, itu adalah niat penulis , dan Anda harus menghargai itu . Mereka memberi Anda kode untuk membaca dan memodifikasi, garpu dan apa pun, hanya meminta sebagai balasan bahwa Anda tidak mengubah ketentuan. Kemungkinan Anda juga tidak diharapkan untuk membayar perangkat lunak itu sendiri.
Saya tahu uang itu sulit, tetapi dalam bentuk ini ketika Anda melukis ide Anda, itu mencuri. Tentu, Anda bisa mempelajari algoritma itu atau detail implementasi apa pun dari sumber lain, tetapi Anda tidak melakukannya, seperti yang Anda katakan sendiri.
Jika moralitas tidak menjadi perhatian Anda, maka ingatlah bahwa mengingat sifat legalitas abu-abu dari apa yang Anda lakukan (atau akan lakukan), sangat mungkin bahwa penulis asli akan menghubungi Apple karena pelanggaran hak cipta. Sejauh ini, Apple dengan cepat menghapus perangkat lunak yang melanggar GPL. Kemungkinan lain adalah gugatan.
Jika saya jadi Anda, saya akan mempertimbangkan GPL-ing pekerjaan saya sendiri (itu bukan hal yang buruk!) Atau mendapatkan pengetahuan dengan cara lain.
sumber
Bagaimana kalau mencoba melakukan hal yang benar dan tidak mencuri ide seseorang? Anda cukup mengirim email ke pembuat kode dan bertanya apakah Anda dapat mendasarkan bagian dari proyek Anda dari mereka. Banyak orang tidak akan memiliki masalah dengan itu. Jika mereka memiliki masalah dengan itu, maka bahkan mengesampingkan masalah hukum, mengapa Anda ingin menodai reputasi Anda sebagai seorang profesional di komunitas? Fakta bahwa pertanyaan ini kurang lebih diutarakan sebagai "Apa yang bisa saya dapatkan?", Berbeda dengan "Apa yang harus saya lakukan?" agak mengganggu.
Intinya, tanyakan pada orang (atau orang-orang) yang menulis kode .
sumber
Saya juga bukan pengacara. Jika Anda khawatir apakah ini merupakan masalah hukum maka Anda mungkin tidak seharusnya mengajukan pertanyaan ini dan hanya menulis sendiri.
Pendapat pribadi saya tentang masalah ini:
Jika Anda mengambil kode javascript dan menulis ulang dalam bahasa yang berbeda, itu disebut porting dan dianggap sebagai karya turunan. Jika Anda menulis versi perangkat lunak Anda sendiri dan menggunakan kode javascript sebagai referensi untuk mempelajari bagaimana algoritma tertentu bekerja, maka Anda mungkin baik-baik saja.
Saya akan keliru meminta pengacara.
Sebagai tambahan , undang-undang hak cipta pada dasarnya memungkinkan Anda melakukan TIDAK ADA [*] dengan kode sumber yang diterbitkan selain membacanya. Lisensi yang dilepaskan oleh pemilik hak cipta memungkinkan Anda mendapatkan hak istimewa tambahan tertentu yang tidak disediakan oleh hukum hak cipta. Mengambil dan menggunakan kode dengan cara selain yang diizinkan dalam lisensi tidak berbeda dengan mengambil dan menggunakan karya berhak cipta apa pun yang dilindungi oleh undang-undang hak cipta tanpa mendapatkan izin dari penulis.
[*] Dengan pengecualian untuk penggunaan wajar.
sumber
Tidak. Itu tidak etis. Ini hampir pasti ilegal. Dan jika saya pernah meninjau lamaran pekerjaan dari seseorang yang telah melakukan itu, itu akan bulat dengan prasangka ekstrem.
sumber
Selalu kode seolah-olah orang yang akhirnya mempertahankan kode Anda akan menjadi psikopat kejam yang tahu di mana Anda tinggal. ~ Martin Golding
Saya bukan pengacara, jadi saya tidak akan menjawab seperti itu. Selain itu, banyak orang non-pengacara telah menawarkan pemikiran mereka tentang konsekuensi hukum dari ide Anda. Dan saya akan melewatkan debat moralisasi / etika.
Jika saya jadi Anda, saya akan lebih peduli dengan konsekuensi sebagai pengembang. Itu hal yang terhormat. Harga diri, terutama.
Tentu, kita semua mencari "Bagaimana {implementasi} dalam {spesifikasi}?" dari waktu ke waktu. Dari situlah Stack berasal, amirite? Dan itulah yang kita semua temukan ada di sini, bukan? Bukan itu yang saya bicarakan karena itu bukan yang Anda bicarakan.
Jika saya menggabungkan langkah jenius + upaya heroik = hasil yang layak disajikan kepada komunitas pengembang sebagai tawaran sumber terbuka, dan orang-orang cukup menyukainya untuk menggunakannya, saya akan mati-matian karena sanjungan. Saya akan menjadi waktu yang tepat. Seperti John Reisig, atau Mark Story. Sedikit untukku. Dan kemudian beberapa orang bodoh datang dan memasukkan kontribusi saya sehingga mereka dapat menawarkannya secara komersial atau asli ke dalam aplikasi komersial mereka? Jatuh mati.
Kode seperti tulisan tangan. Anda tidak dapat mengubah aplikasi yang lebih besar dari kotak korek api secara cukup signifikan sehingga pengembang sah lainnya tidak dapat membedakan keduanya secara bersamaan dan mengatakan "Tunggu sebentar ..." Sebagai pengembang, saya akan terlalu malu dengan kemungkinan rekan-rekan saya , kolega-kolega saya, orang-orang yang saya hormati dan yang saya hargai rasa hormatnya, akan mengetahui bahwa saya membongkar kode seseorang. Saya akan menjadi bahan tertawaan. Karena itu adalah beberapa naskah naskah salinan epik kiddie bs. Apakah Anda benar-benar ingin mendelegitimasi diri Anda di mata rekan-rekan Anda? Kode jacking adalah cara yang baik untuk memulai.
Dan sebagai pengembang, pertimbangkan ini: jika itu adalah aplikasi saya, dan saya tahu Anda mendongkraknya sehingga Anda akan khawatir akan dituntut, bagaimana jika saya memutuskan untuk menggugat Anda, Anda menghasilkan setumpuk uang terima kasih untuk kode saya jadi mengapa saya tidak memukul Anda di tempat yang sakit, mungkin mendapatkan kembali? Bagaimana Anda TAHU saya bukan seorang remaja atau yang memiliki temperamen dan keterampilan yang menakutkan? Pergi keluar dari cara saya untuk pwn r00 [pada ur b0xen, sehingga untuk berbicara. Karena mendongkrak aplikasi saya akan menunjukkan kepada saya bahwa Anda (dasar: Saya bisa menulis apa yang hanya bisa Anda dongkrak). Ini bukan pertama kalinya.
sumber
Anda tidak dapat membuat karya turunan dari karya turunan ... dan berharap itu bukan karya turunan. Itu bisa menjadi tidak dikenali, tapi itu sesuatu yang lain. Dan Anda dapat mulai dari teks apa pun dan dengan serie perubahan dapatkan teks apa pun (misalnya, hapus teks pertama, masukkan teks kedua), sehingga kemungkinan itu tidak berarti dilakukan. Jadi tidak penting apakah sesuatu itu mungkin, tetapi apakah itu benar-benar terjadi (hanya yang mustahil jelas tidak terjadi)
Moraly berbicara: Belajar dari apa pun yang Anda dapat (legaly) dapatkan adalah OK, tetapi Anda harus mengakui sumber. sisanya adalah legalitas.
IANAL, tetapi saya tidak akan berpikir saya membuat kesalahan, jika: 1) Saya belajar dari implementasi open source 2) Menerapkan algoritma yang sama (bahkan dalam bahasa yang sama) dengan melakukan hal ini, sebagian besar secara alami akan menjadi totaly berbeda, dan beberapa akan benar-benar mirip. Jika bagian-bagian yang serupa adalah hal-hal di mana kedua belah pihak mengikuti praktik pengkodean yang sama dan dengan demikian tidak dapat berbeda, maka bagian-bagian ini juga tidak berhak cipta. Misalnya. jika kelas memiliki dua bidang String pribadi dan mereka memiliki getter dan setter, satu-satunya hal yang menarik adalah kelas ini memiliki dua properti baca / tulis, bukan implementasi getter dan setter.
sumber
Jika Anda menulis ulang setiap baris secara terpisah, Anda mungkin atau mungkin tidak "menyalin" baris tersebut.
Tetapi Anda menyalin kata demi kata urutan, penataan keseluruhan dan penyertaan garis. Dengan kata lain, jenis barang yang membuat pekerjaan itu "utuh".
Anda sedang menyalin bagian yang mengatakan "baris ini harus pergi di sini, baris ini harus pergi ke sana". Ini adalah sebagian besar dari keseluruhan algoritma.
Selain itu, ketika sebuah proyek dimulai, tidak ada yang tahu apa yang harus dimasukkan, hal-hal apa yang dianggap lebih atau kurang penting, bagaimana menyusun dan menyusun algoritma. Informasi ini perlu diproduksi dan dirancang pada beberapa titik. Tetapi Anda tidak perlu melakukannya, karena Anda akan "menyalinnya".
Sebagai contoh:
Jika saya memiliki set {a, b, c, d, e, f}.
Saya dapat membuat daftar urutan mereka, [f, e, c, b, d, a]. Anda harus mengatakan bahwa saya telah menambahkan beberapa informasi ke dalam daftar, yang dikenal sebagai pemesanan , yang tidak ada di set unordered. Bergantung pada ukuran daftar, informasi ini mungkin sangat spesifik dan sulit didapat.
sumber
Ini seperti hal lain - Anda tidak dapat berhenti mempelajari apa yang telah Anda pelajari, lihat, baca ... tetapi yang dapat Anda kendalikan adalah bagaimana Anda menggunakannya ...
Dua hal tentang hal ini -
Apa yang saya temukan sebagai pengembang adalah orang ingin tidak memberikan kredit, menutupnya untuk meniru pengembang / pembuat kode yang hebat, dengan kedok untuk menghasilkan uang dari upaya orang lain ....
jadi saya ngelantur ke # 2 ...
2 pence saya. :)
Yang lucu - kebanyakan orang berpikir mereka telah menciptakan "ide spesifik" - padahal, "ide" itu mungkin (kemungkinan sangat tinggi) telah dilemparkan dalam bentuk serbet, kertas, pengkodean, internet, blog, dll ...
Jadi, walaupun ini mungkin baru bagi Anda, terutama karena Anda telah melihatnya di karya OS orang lain, itu mungkin digunakan dalam karya OS lain yang mereka gunakan untuk pekerjaan OS mereka ... dan pada akhirnya mungkin digunakan di tempat lain secara online .. itu bahkan tidak dengan masalah lisensi / hak cipta yang dinyatakan sama sekali ... dalam hal ini Anda dapat menyalin dari sumber itu ... memodifikasi, mengubah, menghapus, menambahkan ... (saya akan menyalin / url untuk melacak kembali di mana Anda mendapatkannya untuk menunjukkan bahwa Anda mendapatkannya secara sah) ke kode sesuka Anda.
Saya pikir itu luar biasa di 'kode-tanah' terutama berapa kali saya datang untuk menemukan bahwa kode 'licik' saya sudah ditulis (tho tidak juga .. ingatkan Anda - lol) pada tahun 2003 di geeky seseorang, pencarian google peringkat # 1.239, situs web yang mereka buat ketika mereka masih di sekolah pascasarjana, hanya menciptakan fungsi untuk kesenangan dan penggunaan gratis. :)
Intinya adalah .. berikan kredit, jangan mengecilkan masalah, dan ketika semuanya gagal ... atau jika ragu - TANYAKAN OS'r asli untuk hak pakai ... ya! kapan kita menjadi begitu sombong sehingga kita tidak bisa begitu saja meminta seseorang untuk menggunakan pemotong rumput, gunting, mesin pemotong rumput, ... dan - oh yeah - fungsi keren yang mereka buat!
Oke itu 3 pence ...
sumber
Berikan pria itu istirahat!
jika pengaduan hukum diajukan kepadanya, itu berarti seseorang harus benar-benar memiliki akses ke kode dan BACA. Bagaimana jika perangkat lunak dikompilasi?
Dia akan selalu bisa memanggil ketidaktahuannya saat ini pada saat fakta. Bukankah seharusnya seseorang memiliki itikad baik sebelum mereka diadili?
Belajar bukan menyalin. Menemukan inspirasi dalam beberapa karya yang ada pasti juga tidak bisa disalin. Jadi bagaimana jika dia belajar dari perangkat lunak fungsi dari setiap baris kode dan memutuskan dia akan menggunakan prinsip hasil untuk meningkatkan itu dan membuat perangkat lunak yang lebih baik, lebih sederhana, lebih ramping. Tidak menyalin IMHO.
Itu adalah 2 sen saya. Sekarang giliran orang pertama yang tidak berdosa untuk melempar batu ...;)
sumber