Apakah legal untuk membuat ulang / membuka sumber program yang sebelumnya Anda kodekan untuk perusahaan lain

49

Di pekerjaan saya sebelumnya, saya membuat dashboard generik untuk mengotomatisasi tugas-tugas dan ternyata cukup berguna - dan tentu saja majikan saya sebelumnya memiliki semua kode yang saya tulis ketika saya bekerja di sana. Sekarang saya tidak lagi di sana, apakah sah bagi saya untuk membuat ulang dasbor itu dari memori dan membuka kode sumber? Jika saya membuatnya kembali, kode (mungkin 2k-3k baris) bisa hampir identik dengan yang asli karena saya memiliki memori yang cukup bagus dan cenderung mengikuti gaya pengkodean dan konvensi penamaan yang biasa.

Sunting: latar belakang yang lebih sedikit - ini adalah perangkat lunak yang cukup umum yang hanya digunakan secara internal oleh tim kecil (<10) dalam sebuah perusahaan global. "Perusahaan" bahkan tidak menyadari sistem ini karena itu saya buat atas inisiatif saya sendiri. Itu dibangun di atas python / Django. Dan dengan hampir identik saya maksudkan bahwa misalnya model Django akan memiliki nama / bidang yang sama dan pandangan akan menggunakan pertanyaan serupa untuk mengembalikan set objek yang sama.

kefeizhou
sumber
15
Sudahkah Anda mendekati mereka tentang sumber terbuka kode? Jika ini bukan bagian dari bisnis menghasilkan uang inti mereka, mereka mungkin senang melakukannya, dan itu juga akan memiliki manfaat tambahan dengan memberi mereka fitur baru secara gratis, dengan asumsi Anda atau orang lain akan memperpanjangnya.
dodgy_coder
3
dalam hampir semua kontrak, apa pun yang Anda lakukan untuk majikan Anda, baik itu tertulis atau tidak, adalah kekayaan intelektualnya. Oleh karena itu memuntahkannya lagi dan membuatnya tersedia untuk seseorang yang bukan bahwa kontrak adalah pelanggaran kontrak.
stijn
1
Secara teoritis legal tetapi keberuntungan membuktikan itu di pengadilan. :(
SF.
6
Perbedaan yang menarik di sini adalah perbedaan antara "legal" dan "etis". Dalam kebanyakan kasus jika Anda harus mengajukan pertanyaan itu karena Anda sudah tahu jawabannya dan tidak mau mengakuinya.
Joel Etherton
1
Jika ini adalah fungsi generik maka tampaknya baik-baik saja untuk menggunakan kembali ke mana pun Anda pergi dan bahkan mempostingnya secara online. Jadi mengapa satu set fungsi jauh berbeda?
kefeizhou

Jawaban:

35

Pertanyaan yang bagus, tetapi mungkin itu adalah tempat yang salah untuk bertanya karena Anda tidak akan mendapatkan nasihat hukum yang baik dari para programmer. IANAL, cari nasihat hukum yang tepat.

Itu tidak terasa legal. Ada peluang yang sangat bagus bahwa jika Anda merilis program yang hampir identik dengan yang dimiliki perusahaan lama Anda, Anda dapat dituntut. Yang mengatakan saya yakin itu sering terjadi.

Satu hal yang dapat Anda lakukan adalah membuat ulang program dalam bahasa yang berbeda. Dengan begitu jelas bahwa Anda tidak keluar dari perusahaan dengan kode sumber & kemudian membukanya. Ini juga mendidik untuk menyelesaikan masalah yang Anda kenal dalam bahasa yang berbeda.

Saya juga menyarankan untuk memikirkan cara-cara meningkatkan program, membuatnya lebih dapat diperluas, dll. Kedua kalinya Anda melakukan sesuatu hampir selalu jauh lebih baik daripada yang pertama karena Anda dapat menghindari semua "Saya berharap saya telah melakukannya cara "desain keputusan yang mungkin Anda buat pertama kali.

Bahkan jika Anda tidak pernah melepaskannya, itu akan menjadi latihan yang bagus. Jika pada akhirnya Anda mendapatkan saran hukum & memilih untuk melepaskannya, Anda akan lebih terlindungi.

mcottle
sumber
5
jika Anda ingin menggunakan bahasa yang sama, pikirkan tentang menulis "hampir" kode yang sama tetapi mengubah UI . Seperti kata mcottle, Anda dapat memperbaikinya, dan jika halaman web terlihat sangat berbeda, meskipun memiliki "hampir" kode yang sama persis dengan yang Anda lakukan sebelumnya, Anda akan semakin menjauh dari masalah gugatan hukum.
Olivier Pons
1
Bagian dari kode termasuk UI akan berbeda tetapi beberapa mungkin berakhir sama karena berbagai alasan (gaya pengkodean pribadi dll). Seberapa jauh saya perlu menjadi 100% di tempat yang jelas?
kefeizhou
1
-1 untuk "tidak terasa legal". Sarannya bagus, tapi masalahnya praktis, tidak legal.
Sean McMillan
2
Kenapa semua orang berpikir ketika Anda menulis ulang sesuatu dari nol Anda akan melakukan sesuatu yang lebih baik? Anda benar-benar dapat membuat sesuatu lebih buruk.
Clement Herreman
2
@ClementHerreman: Setuju. Kadang lebih baik menggunakan sesuatu yang sudah terbukti beraksi. Jika Anda menulis ulang dari awal, Anda mungkin membuat banyak peningkatan tetapi juga memperkenalkan bug baru.
kefeizhou
21

Sah atau tidak, jika majikan Anda mengetahui dan memutuskan untuk mengemukakan masalah Anda akan berada di dunia yang terluka. Bahkan jika Anda akhirnya diadili dengan benar, litigasi potensial dapat berakhir menjadi benar-benar merusak bagi Anda. Anda juga berisiko menimbulkan kemarahan komunitas OSS karena mencemarinya dengan kode hak cipta serta hilangnya reputasi karena dianggap tidak jujur ​​oleh majikan Anda.

Anda juga berisiko mengambil tindakan dari siapa pun yang mengadopsi produk Anda. Kasus terburuk, siapa pun yang menggunakan produk Anda akan dihadapkan dengan harus melisensikannya dari perusahaan Anda sebelumnya atau mengeluarkannya dari solusi mereka, menghabiskan waktu dan uang - dengan cara apa pun mereka akhirnya dapat menuntut Anda atas kerusakan.

Tampaknya akan lebih mudah untuk melakukan hal yang benar - berbicara dengan atasan Anda sebelumnya, dapatkan persetujuan mereka untuk menggunakan kembali produk yang Anda kembangkan untuk mereka dengan maksud distribusi open-source. Mereka mungkin hanya mengatakan "jalan terus". Melakukannya di belakang mereka umumnya merupakan ide yang buruk, mengesampingkan masalah hukum.

pap
sumber
Hampir selalu ada majikan yang peduli memiliki produk akhir tidak akan membiarkan karyawan yang membuatnya untuk mendistribusikannya dengan cara lain dengan persetujuan mereka. Kalau tidak, apa tujuan memilikinya?
Joe Z.
14

Apa jenis programmer yang diberi kesempatan untuk menciptakan kembali sesuatu yang mereka lakukan sebelumnya (pelajaran yang dipelajari dll.) Akan menghasilkan sesuatu yang "hampir identik". Kecuali Anda yakin Anda mengkodekan sesuatu yang sempurna ??? Pada titik mana Anda memiliki pertanyaan yang lebih besar untuk ditanyakan kepada diri sendiri.

Pak Freman
sumber
10
jenis yang malas dengan tidak banyak waktu. Saya lebih suka menggunakan apa yang berhasil daripada mencoba memecahkan masalah yang sama dua kali dalam kasus khusus INI.
kefeizhou
8

Dasbor adalah selusin sepeser pun. Majikan Anda tidak pernah memiliki IP atas gagasan itu. Majikan Anda memang memiliki hak cipta atas implementasi spesifik.

Anda dapat menulis kode baru dari awal. Itu artinya pekerjaan itu bukan karya turunan. Pintar membuat catatan sehingga Anda bisa membuktikan ini.

MSalters
sumber
Pembaruan terakhir: theregister.co.uk/2011/09/09/30/software_copyright . ECJ diharapkan untuk menyatakan secara eksplisit bahwa UI tidak memiliki hak cipta dalam dirinya sendiri, karena ia berada di bawah "ide dan prinsip" dari suatu program perangkat lunak.
MSalters
5

Secara teknis, Anda membuat karya turunan - Anda terbiasa dengan solusi yang ada, dan Anda membuatnya dari memori. IANAL biasa berlaku, tetapi jika mantan majikan Anda menuntut Anda atas pelanggaran hak cipta, tebakan saya adalah bahwa mereka memiliki argumen yang cukup kuat, dan akan terserah Anda untuk memberikan penjelasan yang masuk akal mengapa program yang Anda buat tidak seharusnya. dianggap sebagai karya turunan.

Selain masalah teknis hukum, terlibat perkara hukum dengan mantan atasan bukan di tempat yang Anda inginkan - bahkan jika Anda menang, Anda akan menjadi 'pria itu', yang saya ragu akan menjadi langkah karier yang cerdas.

tammmer
sumber
3
Saya tidak percaya dengan cara itulah karya turunan didefinisikan - saya pikir Anda harus benar-benar memasukkan sebagian darinya.
Sean McMillan
Tergantung pada yurisdiksi dan interpretasi, tetapi 'diturunkan' tidak harus berarti 'termasuk bagian dari'.
tdammers
1
@tdammers: Ya, tapi tidak ada gunanya bertanya di sini. Kami bukan pengacara umum, dan mereka yang kemungkinan besar bukan pengacara OP. Kami tidak dapat menjawab pertanyaan hukum tertentu (dan perhatikan bahwa apa yang merupakan "pekerjaan turunan" adalah topik diskusi hangat di dunia F / OSS).
David Thornley
Nah, maksud saya adalah bahwa bahkan jika Anda membuat ulang benda itu dari ingatan, Anda akan kesulitan membuktikannya ketika hakim / juri tahu Anda juga telah menulis yang asli yang terlihat persis seperti yang baru yang Anda klaim bukan karya turunan. "Tidak bersalah sampai terbukti bersalah" tidak berlaku untuk hukum perdata.
tdammers
4

Di AS, jika mantan majikan Anda memutuskan untuk menuntut Anda, Anda akan berada dalam masalah apa pun yang dipikirkan hakim.

Secara teoritis, perusahaan Anda memiliki pekerjaan Anda, bukan otak Anda. Oleh karena itu, jika Anda melakukan pekerjaan lagi di waktu Anda sendiri, mereka tidak boleh memiliki kepemilikan itu. Lagi pula, mereka mempekerjakan Anda karena apa yang Anda ketahui sebelum mereka mempekerjakan Anda. Tampaknya tidak masuk akal untuk berasumsi bahwa mereka dapat memanfaatkan pengetahuan Anda sebelumnya tetapi pada saat yang sama menyangkal Anda untuk melakukan hal yang sama setelah Anda pergi. Tapi IANAL juga.

Kecuali tentu saja mereka membuat Anda menandatangani beberapa hal gila. Atau kecuali mereka mengajukan paten. Jika mereka melakukan itu, mereka tidak memiliki bagian otak Anda. Dalam hal itu, pola-pola sel-sel saraf yang membuat pengetahuan di dalam otak Anda bukan milik Anda lagi dan Anda harus menahan diri untuk tidak menggunakannya lagi. Bicara tentang menjual jiwa Anda.

bastibe
sumber
3

Saya akan menyimpang dari topik utama untuk mengatakan bahwa saya merasa semua ini sangat menyedihkan.

Sekarang pertanyaannya:

Jika Anda adalah seorang tukang kayu yang membuat perabot, dan perusahaan sebelumnya memberi Anda cetak biru dan desain, maka Anda akan disewa oleh perusahaan lain, jelas Anda dalam masalah jika Anda mulai membuat barang yang persis sama.

Jika perusahaan lama Anda hanya membeli produk dari pekerjaan Anda, dan Anda merancang dan "menciptakan" mereka (dan Anda dapat membuktikannya) maka hukum harus ada pada Anda.

Moral cerita: lain kali lakukanlah open source dari awal.

Tuan Smith
sumber
Saya sudah mempertimbangkannya pada waktu itu tetapi terlalu banyak birokrasi yang terlibat dengan mencoba membuka sumber bahkan sepotong kecil kode dari sebuah perusahaan keuangan.
kefeizhou
3

(a) Jangan mengambil nasihat hukum dari internet (termasuk saran ini!)

(B) Digugat adalah rasa sakit yang nyata di bagian belakang, bahkan jika Anda menang

(c) Sepertinya Anda berpikir tidak ada risiko nyata digugat. Jika demikian, maka mungkin tidak masalah apakah Anda memiliki hak hukum privat untuk melakukan ini atau tidak.

Apakah itu legal atau tidak, ini akan tergantung pada seberapa banyak Anda ingin membuat kembali proyek ini vs seberapa banyak Anda ingin menjalankan risiko digugat. Jika Anda punya uang, maka saya sarankan berbicara dengan seorang pengacara terlebih dahulu tentang apakah Anda memiliki hak untuk melakukan ini, dan biaya membuat litigasi hilang jika Anda melakukannya.

Marcin
sumber
0

Mungkin ada perbedaan hukum antara membuat kembali solusi dari memori, dan membuat solusi asli dengan spesifikasi yang sama (tapi IANAL, jadi tanyakan satu). Untuk membuktikan yang terakhir, Anda mungkin ingin menerbitkan spesifikasi asli dan lengkap alat yang Anda rencanakan untuk dikembangkan di blog Anda. Maka mungkin bagi beberapa pengembang lain yang belum pernah melihat pekerjaan Anda sebelumnya untuk mengkodekannya.

hotpaw2
sumber
0

Berikut adalah cara sederhana: -Buka dasbor dari url yang tersedia untuk umum. -Pikirkan tentang cara terbaik untuk membuatnya lebih mudah / lebih baik / seterusnya. Tulis ulang pada bahasa yang berbeda, seperti yang disarankan sebelumnya. Alasan bagus untuk belajar ruby, haskell, lisp dan sebagainya. -Kemudian buat proyek open source. jangan ragu untuk menambahkan 'terinspirasi oleh ...' dan tautan ke situs asli.

ZeusTheTrueGod
sumber
0

Bahkan tidak perlu banyak waktu untuk meminta izin kepada mereka. Anda perlu tanda tangan hukum tertulis. Untuk menutupi diri Anda.

Tetapi jika Anda akan meminta mereka untuk membiarkan Anda membuat kembali beberapa hal yang Anda buat untuk mereka. Jual ke mereka. Jual mereka ide. Anda akan membuka sumber perangkat lunak yang telah mereka gunakan, dan membuatnya terbuka untuk ulasan dan penambahan yang berpotensi signifikan dari komunitas pemrograman. Mereka tidak perlu menghabiskan sumber daya secara internal untuk mengelola dan meningkatkan perangkat lunak. Kecuali mereka ingin mendapatkan manfaat yang lebih besar. Maksud saya benar-benar menjual ide mereka.

Jika itu bukan teknologi bisnis inti yang mereka jual kepada pelanggan, Anda mungkin akan mendapatkan persetujuan dengan cukup mudah. Jika itu adalah sesuatu yang mereka jual kepada pelanggan, maka mereka membukanya sendiri hingga pesaing bersaing dengan produk yang sama. Hanya Anda yang benar-benar akan tahu seberapa penting majikan Anda sebelumnya melihat kode itu. Jika bukan impor yang menghasilkan pendapatan, dan hanya merupakan penambah produktivitas, Anda sangat mungkin untuk mendapatkan persetujuan.

Ini adalah rute termurah dan terpendek untuk mendapatkan apa yang Anda inginkan. Jika mereka mengatakan ya tidak masalah. Hanya dikenakan biaya beberapa waktu. Jika mereka mengatakan tidak, dan Anda masih ingin melanjutkan maka tanyakan kepada pengacara tentang pendapatnya. Saya berharap satu-satunya yang mereka miliki adalah implementasinya. Jika Anda membuatnya ulang dengan perubahan yang cukup sehingga tidak terlihat dan berfungsi sama persis Anda jauh lebih baik.

Ini adalah keadaan disfungsional, dari sistem saat ini di mana kita tidak memiliki hasil kerja kita. Beberapa masyarakat paling sukses di mana masyarakat di mana orang dapat secara bebas mengambil untung dari usahanya sendiri. Anda dapat membandingkan situasi ini dengan kepemilikan tanah feodal dan masalah yang diciptakannya. Pada titik tertentu orang akan melakukan bisnis secara berbeda. Sukai Google 1/5 dari waktu Anda untuk proyek Anda sendiri.

nelaaro
sumber
0

Tentunya ini semua bermuara pada kontrak antara Anda dan klien. Jika Anda telah merencanakan untuk melakukan ini, Anda seharusnya memiliki klausa yang menyatakan 'sumber kode ini tetap menjadi kekayaan intelektual kefeizhou ...' atau sesuatu (Saya tahu di belakang adalah 20/20). Saya setuju dengan komentar lain bahwa Programmer SE bukan sumber terbaik nasihat legakl, dan yang legal atau tidak, ini membuat Anda siap untuk masalah. Kebetulan, saya dulu bekerja sebagai desainer grafis, dan di industri itu, hampir semua pekerjaan tetap menjadi IP klien dan bukan desainer.

Paul T Davies
sumber
Jadi, jika Anda menggambar mobil untuk satu klien, Anda tidak bisa menggambar mobil untuk klien lain lagi?
Nate
Tidak, Anda tidak dapat menggambar mobil untuk satu klien, dan kemudian mengirimkan gambar mobil yang sama ke klien kedua. Tetapi juga, Anda tidak bisa tunduk pada klien kedua apa pun yang dapat diperdebatkan secara hukum adalah sama atau terlalu mirip dengan mobil klien pertama.
Paul T Davies
-1

Di Prancis, itu ilegal.

Pemilik kode adalah mantan bos Anda. Tidak masalah bagaimana Anda mengambilnya, dari USB thumb drive atau dari memori Anda.

Jika Anda ingin menggunakan dasbor itu, Anda harus menetapkan perjanjian dengan pemilik.

mouviciel
sumber
Tentunya setiap perusahaan memiliki kebijakan sendiri tentang hukum nasional ini dan bukan hukum nasional? Saya pikir ini akan menjadi sesuatu yang ada dalam kontrak karyawan perusahaan, jika ada.
dodgy_coder
Standarnya adalah Anda mendapat gaji sebagai ganti menulis kode mereka. Meskipun kemungkinan ada, saya tidak mengetahui kebijakan alternatif. Ini berbeda jika Anda seorang freelancer dan menjual aplikasi atau perpustakaan, dalam hal ini Anda adalah bos dan Anda memiliki kode Anda.
mouviciel
Untung aku tidak di Prancis.
kefeizhou
1
Bisakah saya memberi Perancis -1? pengambilan "dari memori" sama sekali tidak sama dengan dari disk.
Sean McMillan
2
Apakah ini berarti bahwa, di Perancis, jika Anda menerapkan suatu algoritma atau menulis semacam program, Anda tidak akan pernah dapat mengimplementasikan algoritma itu atau menulis program semacam itu untuk perusahaan lain?
David Thornley