Saya tahu perusahaan tempat Anda bekerja memiliki kode dan jelas Anda akan ditangkap jika Anda mencoba menjualnya. Tetapi apakah itu biasa bagi pengembang untuk menyimpan salinan pribadi dari kode yang mereka tulis (untuk referensi di masa mendatang)?
Rupanya orang ini dikirim ke penjara karena menyalin kode sumber.
Jawaban:
Saya tidak tahu seberapa umum itu, tetapi umum atau tidak, itu masih ide yang buruk.
Pemrogram sering beroperasi dalam pola pikir bahwa menyelesaikan masalah yang sama dua kali adalah buang-buang waktu. Kami mencoba mendesain kode kami agar dapat digunakan kembali (kadang-kadang). Kami membangun perpustakaan kelas dan fungsi untuk digunakan kembali di beberapa titik di masa depan. Kami kadang-kadang bahkan memberikan kode kami sehingga tidak ada orang lain yang harus menulis kode untuk menyelesaikan masalah yang sama seperti yang baru saja kami lakukan. Jadi bisa dimengerti jika Anda ingin membawa kode "Anda" saat berpindah dari satu pekerjaan ke pekerjaan lain. Tetapi Anda tetap tidak harus melakukannya, karena alasan berikut:
Bukan kode yang harus Anda ambil.
Kode yang Anda tulis untuk mantan majikan Anda adalah bagian dari bisnis yang mereka bangun. Kode mereka adalah bagian dari keunggulan kompetitif mereka. Tentu, pesaing dapat menulis kode mereka sendiri untuk menyelesaikan masalah yang sama, tetapi mereka seharusnya tidak mendapatkan keuntungan dari membangun pekerjaan yang dibayar oleh majikan Anda, memiliki, dan tidak mengizinkan Anda mengambilnya.
Jika mereka sama sekali tidak masuk akal, majikan baru Anda tidak ingin ada bagian dari kode yang Anda ambil dari mantan majikan Anda. Semakin Anda "merujuk" pada pekerjaan yang Anda lakukan untuk beberapa majikan sebelumnya, semakin Anda menempatkan majikan baru Anda dalam bahaya hukum.
Jika Anda secara tidak sengaja membiarkannya tergelincir di Majikan Baru bahwa Anda masih memiliki salinan barang-barang yang Anda lakukan untuk Majikan Lama, atasan Anda di New mungkin akan menyadari bahwa Anda akan mengambil salinan kode mereka ketika Anda pergi ke tempat lain. pekerjaan. Itu mungkin tidak cocok dengannya.
Bahkan jika Anda tidak mengutip garis yang sebenarnya atau hanya ide-ide yang kabur dari barang lama Anda, hanya memiliki barang lama Anda miliki dapat menimbulkan kecurigaan bahwa Anda mungkin menggunakannya untuk sesuatu. Bayangkan Majikan Tua menuntut Majikan Baru, dan sebagai salah satu dari segelintir karyawan yang pindah dari Lama ke Baru, Anda tiba-tiba mendapati diri Anda memberikan deposisi. Tidak ada di antara Anda yang benar-benar menyalin kode Old ke dalam produk New, tetapi pengacara di depan Anda bertanya: "Mr. SuperFoo, apakah Anda sekarang atau sudah kapan saja sejak meninggalkan Old Employer memiliki salinan kode apa pun yang Anda atau miliki adakah yang menulis ketika bekerja di Old Employer? "
Anda tidak memerlukan kode yang Anda tulis bulan lalu, tahun lalu, atau lebih lama. Anda pernah memecahkan masalah, dan sekarang Anda tahu cara memecahkan masalah lagi. Atau, Anda mungkin tahu bagaimana tidak menyelesaikan masalah - implementasi baru Anda akan lebih baik karena Anda memiliki pengalaman.
Ada cara yang lebih baik. Sulit untuk kembali dan mempelajari sesuatu yang berguna dengan membaca kode lama di luar konteks. Buku harian atau jurnal yang menjelaskan apa yang Anda pelajari, ide-ide yang Anda miliki, dll. Jauh lebih berguna nantinya.
Bahkan jika Majikan Tua tahu bahwa Anda telah mendapatkan kode mereka dan tidak masalah dengan itu, Anda tetap tidak menginginkannya! Satu-satunya hal yang dapat terjadi adalah menelepon 3:00: "Hei, SuperFoo? Bagaimana kabarmu? Dengar, Anda punya salinan barang-barang kami, kan? Lihat, kami punya masalah dengan sistem, dan kami mempersempitnya menjadi beberapa file yang Anda tulis bahwa orang baru kami tidak mengerti. Saya tahu ini terlambat, tetapi bisakah Anda mengantarnya melalui SuperDuper.pl? "
Biarkan saja. Anda tidak membutuhkannya.
sumber
for (int i=0; i < N; ++i)
dalam kode saya, itu pasti tidak ilegal untuk menggunakannya di tempat lain di perusahaan lain ...Saya selalu menyimpan salinan kode yang saya tulis dan membawanya di antara pekerjaan. Majikan selanjutnya tidak pernah bisa melihat / menjalankan kode, tetapi saya menggunakannya sebagai referensi di rumah: 'Ah ya, bukankah saya melakukan sesuatu yang serupa dengan itu di Proyek X?'.
Apakah ini legal? Tergantung pada yurisdiksi dan keadaan, tetapi itu cukup umum. Secara moral, saya tidak punya masalah dengan itu, asalkan Anda tidak hanya memberikan kode kepada majikan baru ... Ini adalah pengingat dan demonstrasi dari apa yang telah Anda lakukan, daripada sumber daya gratis untuk majikan Anda.
[Sisi lain dari ini adalah rasa malu yang tak terhindarkan yang muncul ketika Anda melihat kode lama: 'Apa yang saya pikirkan ?? Kenapa aku melakukannya seperti itu ?? ']
sumber
Ini ide yang sangat buruk. Kode itu bukan milik Anda (secara hukum) dan memiliki kode itu dapat membuat Anda mendapat banyak masalah. Ini menjadi lebih benar ketika Anda pindah ke pekerjaan baru dan masih menyimpan kode sumber itu. Lebih buruk lagi jika itu adalah pesaing. Perusahaan Anda tidak akan senang jika Anda memiliki akses ke kode sumber mereka ketika Anda tidak bekerja untuk mereka lagi.
Ini semua tentang mengelola risiko Anda. Jelas diharapkan bahwa Anda menyimpan barang-barang dari majikan sebelumnya yang dapat Anda gunakan di tempat lain. Inilah sebabnya mengapa mereka membuat klausa tanda non-bersaing Anda yang bertahan X bulan / tahun setelah Anda meninggalkannya, namun memiliki kode tersebut membuat Anda lebih rentan terhadap seseorang yang menuduh Anda secara terang-terangan menyalin kode perusahaan (bahkan jika Anda tidak, dan hanya menggunakan ide yang sama). Apakah memiliki kode layak mengelola risiko ini?
Tentunya hal-hal berguna yang Anda dapatkan dari menulis kode bukanlah sintaks yang tepat; itu adalah pengetahuan yang Anda peroleh. Mungkin tidak layak berurusan dengan semua hal hukum ini.
sumber
Ini tidak biasa.
Saya memiliki salinan hampir 1 setiap kode yang saya tulis secara profesional, dan tentu saja semua kode dari proyek saya saat ini, terlepas dari siapa yang menulisnya 2 . Seiring dengan kode saya memiliki tumpukan dokumen hukum yang jelas mendefinisikan apa yang saya bisa dan tidak bisa lakukan dengannya. Hanya memiliki kode tidak sama dengan mencoba mengambil untung dari kode.
Yang mengatakan, ini masalah hukum, dan masalah hukum cenderung sangat rumit dan terlokalisasi. Jika ragu, Anda benar-benar perlu berbicara dengan pengacara. Saya mungkin menyimpan kode saya, tetapi saya yakin 99% saya tidak akan mendapat masalah karena melakukannya.
1 Apa yang hilang sebagian besar adalah apa yang tidak ingin saya arsipkan. Hanya satu kode proyek kecil yang hilang karena alasan hukum.
2 Sifat dari proyek dan peran saya di dalamnya, saya salah satu dari orang-orang yang perlu memiliki setidaknya gagasan tentang apa yang terjadi, bahkan jika saya tidak terlibat dalam membangun modul tertentu.
sumber
Saya melihat pria China Anda yang ditangkap dan membesarkan Anda dengan "kode bukan properti, karena itu tidak dapat dicuri".
Ref.: Kode 'bukan properti fisik', aturan pengadilan dalam kasus spionase Goldman Sachs
Dengan mengatakan itu.
sumber
Ini pertanyaan sederhana untuk Anda. Pergi ke bos Anda dan beri tahu mereka: "Saya memiliki salinan semua kode yang saya tulis saat saya bekerja di sini. Hanya kode yang saya tulis, bukan orang lain. Ini untuk pendidikan saya sendiri, dan saya tidak akan pernah memberikannya".
Tindakan mereka selanjutnya akan menentukan (ya, kata itu memang ada di Amerika Utara / Dunia) jika Anda salah atau benar di mata mereka.
Terlepas dari "etika" Anda sendiri, Anda bekerja untuk majikan. Jika mereka menganggap apa yang Anda lakukan salah, maka itu salah berdasarkan etika mereka. Ketika mereka membayar Anda, dan Anda dipekerjakan oleh mereka, maka di pengadilan Anda apakah setuju dengan mereka, atau tidak setuju, yang dapat membuat Anda dipecat.
Sekarang ini masalah integritas. Saya telah membiarkan karyawan sebelumnya mengambil beberapa kode kami, tetapi saya telah memeriksa semuanya terlebih dahulu.
Hanya karena Anda yakin Anda benar, tidak membuat Anda benar. Biasanya pengembang perangkat lunak menandatangani kontrak ketika mereka dipekerjakan. Jika Anda menandatanganinya, Anda harus hidup dengan kata-kata Anda.
sumber
Menjawab pertanyaan secara langsung, saya akan mengatakan dalam pengalaman saya ini tidak biasa. The pengecualian untuk ini yang saya lihat adalah orang-orang yang melakukan banyak lepas dan mereka menjaga kode di tangan untuk pemeliharaan dan peningkatan masa depan proyek-proyek klien mereka, dan saya akan membayangkan bahwa ini jelas dinyatakan dalam kontrak (meskipun saya tidak berada di kebiasaan meninjau kontrak lepas teman saya, jadi siapa tahu). Orang yang saya kenal yang bekerja di perusahaan besar tidak pernah mengaku menyimpan kode dari mantan majikan.
Saya tahu saya tidak akan melakukannya karena saya tidak bisa memikirkan satu situasi di mana itu akan berguna (belum lagi bahwa saya cukup yakin majikan saya saat ini melarang hal-hal seperti itu - saya hanya perlu mencari dokumen untuk memastikan ). Kode yang saya tulis / perbaiki biasanya sangat spesifik untuk persyaratan bisnis tertentu sehingga saya tidak bisa membayangkannya pernah muncul lagi di masa depan sedemikian rupa sehingga akan lebih mudah untuk menggunakan kembali kode lama daripada menulis baru kode.
sumber
Kembali pada hari itu adalah hal biasa bagi para pengembang untuk memiliki perpustakaan rutin pribadi mereka yang akan mereka gunakan untuk menyelesaikan masalah pada pekerjaan saat ini. Sumber akan tertinggal ketika pengembang pergi, tetapi perangkat tambahan apa pun juga ikut dengannya.
Ini menghasilkan situasi win-win. Itu juga hanya sebagian dari semua kode yang ditulis.
Tentu saja sebagian besar dari apa yang ada di perpustakaan pribadi akan ada di perpustakaan standar hari ini.
sumber
Di bawah hubungan majikan dengan karyawan di sebagian besar Amerika Utara, adalah ilegal untuk mentransfer atau mengirimkan materi digital (yaitu kode sumber) dari peralatan majikan Anda tanpa izin resmi sebelumnya dari majikan.
Bagian dari undang-undang hukum yang berkaitan dengan definisi karyawan di tempat kerja, adalah deskripsi bahwa karyawan tidak menyediakan peralatan kerjanya sendiri kecuali dinyatakan lain dalam kontrak karyawan, dengan pengecualian pada perdagangan yang mengharuskan karyawan untuk membeli peralatan mereka sendiri (yaitu pekerja konstruksi).
Sebagian besar undang-undang ketenagakerjaan di Amerika Utara mendefinisikan majikan sebagai pengambil risiko utama dalam hubungan karyawan dengan majikan. Pekerja dibayar untuk waktunya sementara majikan menyediakan bahan, peralatan, dan mengontrol kegiatan yang terkait dengan pekerjaan karyawan.
Pada jam berapa selama hubungan ini, apakah boleh untuk mencuri materi berharga dari majikan, yang telah membayar dan mengambil risiko karena mengatakan materi itu dibuat?
Masalah utama dengan ini adalah pertanyaan "kode sumber yang Anda tulis?" Tidak pak, bukan kamu yang menulisnya. Di bawah bimbingan majikan Anda, merekalah yang menulisnya. Anda hanyalah tangan upahan yang mengetiknya. Tidak ada pengadilan di Amerika Utara yang akan memihak Anda jika majikan Anda mengambil tindakan hukum untuk mengamankan properti mereka. Hanya menyalin kode sumber ke USB thumb drive dapat membawa Anda ke air panas.
Dengan itu, jika seorang majikan mengizinkan Anda untuk menggunakan peralatan Anda sendiri (yaitu laptop) atau mengirimkan materi, maka itu masalah yang berbeda. Majikan harus memberi tahu Anda setelah pemutusan bahwa materi apa pun harus dikembalikan / dihancurkan.
Saya kira saya akan memposting jawaban ini, karena sepertinya beberapa orang mengira ini adalah area abu-abu. Saya benar-benar tidak berpikir jika Anda seorang pengembang, bahwa Anda harus berkeliling posting Internet bahwa Anda menyimpan salinan materi majikan. Maksud saya, Anda jelas sudah tahu jawaban untuk pertanyaan ini karena Anda membuat akun anggota baru hanya untuk menanyakan pertanyaan ini. ;)
sumber
Saya sudah melakukan ini di masa lalu beberapa pekerjaan yang lalu.
Namun saya belum pernah kembali dan melihatnya. Saya kadang-kadang menggunakan kembali ide-ide dan hal-hal yang saya pelajari tetapi saya tidak pernah menemukan alasan untuk kembali dan melihat kode.
Jadi saya tidak akan repot lagi. Ini meragukan secara hukum, dan saya tidak pernah benar-benar menemukannya berguna dalam latihan.
sumber
Tentu. Saya suka menyimpan salinan semua pekerjaan yang saya lakukan - apakah itu menulis kode atau tidak. Sebut saja scrapbook, jika Anda mau. Melanggar peraturan? Mungkin.
Komentar tentang keunggulan kompetitif tidak relevan kecuali jika majikan Anda berikutnya adalah pesaing langsung. Jika Anda berpindah dari perusahaan telepon ke perusahaan perangkat lunak, atau dari pengembang game ke pengembang basis data, itu tidak masalah. Jika Anda benar-benar berencana untuk menggunakan kembali kode - ya, itu cerita yang berbeda.
Menariknya, Anda sering mendengar tentang pengembang web yang membawa "kotak alat" bersama mereka, dengan seperangkat pustaka JavaScript standar dan lembar gaya CSS . Tapi saya belum melihat yang disebutkan di sini.
sumber
Saya baru saja menghapus semua kode lama yang saya simpan dari majikan sebelumnya. Saya hanya menyimpan potongan kode yang saya pikir bagus untuk referensi di masa mendatang. Saya benar-benar menemukan bahwa saya telah pindah jauh sejak saya pergi dan saya tidak pernah merujuk pada kode lama. Saya telah menemukan / menemukan / belajar cara yang jauh lebih baik untuk menyelesaikan masalah yang sama.
Itu adalah perjalanan kecil yang menyenangkan ke jalur memori :)
sumber
Saya pikir perlu ada perbedaan antara pola-desain dan kode aktual (menyalin baris demi baris)
Menuliskan sesuatu seperti psuedocode - ini adalah cara yang bagus untuk memuat malas X dalam Y adalah satu hal. Menuliskan semua kode adalah hal lain.
sumber
Dengan izin atasan Anda, publikasikan kode yang dapat digunakan kembali dengan rapi sebagai proyek sumber terbuka untuk digunakan orang lain. Kemudian majikan Anda juga dapat mengambil manfaat dari kontribusi orang lain terhadap kode ini.
Dengan cara ini Anda dapat menyimpan kode secara legal, membangun portofolio publik dari kode yang Anda tulis dan kode tersebut dapat bermanfaat bagi orang lain.
sumber
Untuk berbagai alasan, seperti bekerja dari rumah, Anda mungkin sudah memiliki salinannya, dan saya karena satu tidak akan menghapus ini setelah pekerjaan, mengapa melakukan itu? Itu tidak bertentangan dengan kepercayaan saya atau sesuatu.
Tapi, mengenai penggunaannya, itu tidak begitu berguna sebagai posting blog!
Intinya: tulis kode Anda, blog tentang masalah yang Anda hadapi dan bagaimana Anda menyelesaikannya (terutama ketika hal-hal umum dan luas), dan tidak keberatan menyimpan suvenir (mungkin dienkripsi) dari pekerjaan terakhir.
sumber
Dalam keuangan, CFA menangani masalah ini. Anda tidak diizinkan untuk mengambil informasi yang terkait dengan klien atau pekerjaan Anda untuk perusahaan (dalam kode kasus ini). Tetapi tidak ada yang menghalangi Anda untuk menghafal apa yang Anda bisa dan kemudian menuliskannya nanti.
Tidak yakin seberapa sah itu, tapi saya pikir taruhan terbaik Anda adalah meninggalkan kode sumber Anda tetapi tulis ide-ide Anda dan bagaimana Anda melakukannya segera setelah Anda tiba di rumah. Mencuri adalah mencuri dan di pengadilan semua yang mereka coba cari tahu untuk memutuskan adalah apakah Anda menyalin kode atau tidak.
sumber
Jika Anda menyimpan kode Anda dengan tujuan untuk menggunakannya kembali nanti, saya memiliki dua masalah dengan itu:
Jika kode tersebut spesifik untuk domain, mungkin juga miliknya. Bagaimanapun, tidak ada dua bisnis atau masalah yang persis sama dan mencoba untuk memperbaiki satu masalah dengan solusi untuk yang lain bukanlah pola yang baik.
Jika kode yang Anda simpan memecahkan masalah umum, Anda harus mempertanyakan pendekatan Anda. Mengapa Anda menghabiskan banyak upaya untuk memecahkan masalah umum ketika mereka kemungkinan ada solusi open source (dan lebih baik)?
Jika Anda percaya bahwa Anda memiliki solusi terbaik untuk masalah umum, Anda harus benar-benar mencoba membagikan kode Anda secara publik di repositori publik dan / atau blog kode ketika Anda menulisnya, bukan menyimpannya sendiri. Bos Anda seharusnya tidak keberatan berbagi perpustakaan umum atau memaksa Anda untuk menemukan kembali roda (jika ya, cari pekerjaan baru).
Jika Anda menyimpan kode Anda karena ingin menunjukkannya kepada pemberi kerja potensial atau untuk meningkatkan keterampilan Anda, saya sarankan Anda berkontribusi pada proyek sumber terbuka.
sumber
Saya belum menyimpan kode apa pun yang telah saya lakukan untuk majikan. Hal-hal lepas yang saya simpan (mungkin sulit untuk mendukung klien jika saya kehilangan kode saya).
Namun, saya sedang mempertimbangkan untuk menjaga kode yang saya buat untuk majikan ini. Alasannya adalah saya seorang pengembang web, dan saya telah mengembangkan banyak hal di sisi klien yang terlihat lebih cantik. Saya tidak merancang mereka, tetapi saya menerapkannya dan sering muncul dengan ide. Saya ingin menyimpan salinan dari barang-barang ini untuk membangun portofolio online. Seperti yang kita semua tahu, situs tidak bertahan selamanya, jadi saya tidak bisa secara realistis mengandalkan pekerjaan saya untuk tetap online. Memiliki salinan cadangan akan memungkinkan saya untuk memiliki portofolio online.
Saya tahu bahwa desainer sering menyimpan salinan karya mereka (bahkan jika itu adalah pekerjaan untuk disewa) untuk keperluan portofolio.
Saya tidak yakin apa legalitas ini (tidak disebutkan secara eksplisit dalam kontrak saya).
sumber
but what are your thoughts on this?
Tolong jangan secara terbuka mengundang percakapan tentang jawaban Anda dengan memperkenalkan pertanyaan lain. Anda memberi tahu kami jika kami harus menyimpan salinan semua kode yang kami tulis. Anda dapat meningkatkan jawabannya dengan mengeditnya.Nah, untuk mengembangkan logika bisnis untuk perusahaan saya, saya tidak dapat menyimpan kode karena itu ilegal & milik pribadi perusahaan. Sebagai pengembang, saya tahu bagaimana mengembangkan logika itu, jadi saya bisa menyimpan logika itu di pikiran saya. Pada dasarnya secara default disimpan dalam pikiran Anda, dan jika Anda membutuhkannya di lain waktu, maka secara otomatis Anda harus menerapkan logika / logika yang lebih baik daripada yang sebelumnya. Ini adalah sifat & kecerdasan manusia. :)
Tetapi masalah ini terjadi ketika Anda mengembangkan beberapa logika utilitas, mereka dapat digunakan kembali & selalu penting, Anda mungkin sering membutuhkannya dalam proyek yang berbeda. Jadi, Anda harus menyimpannya bersama Anda.
Saya punya solusi alternatif untuk itu. Cukup buat JAR tanpa sumber / dokumentasi untuk kegunaannya dan tambahkan sebagai JAR pihak ketiga eksternal dalam proyek Anda. Mungkin dengan melakukan ini, Anda dapat mengonfirmasi tanggung jawab Anda serta kepuasan diri Anda bahwa Anda memiliki kode ;)
sumber
Saya tidak menyimpan kode karena alasan sederhana: Perusahaan membayar saya untuk menulis kode untuk mereka. Saya memberi mereka kode saya, dan mereka memberi saya gaji saya. Orang yang membuat makan siang saya, tidak bisa menyimpannya sendiri, mengapa kode berbeda?
Juga, poin yang dibuat sebelumnya, saya keluar dari pekerjaan, semua sakit kepala itu tetap di sana, pekerjaan baru, awal baru, tetapi dengan sedikit lebih banyak pengalaman dan pemahaman tentang jenis masalah dalam domain pekerjaan lama itu.
sumber