Чи варто зберігати копію всього коду, який ви пишете? [зачинено]


197

Я знаю, що компанія, в якій ви працюєте, володіє кодом, і, очевидно, вас затримають, якщо ви спробуєте її продати. Але чи рідкість розробників зберігати особисту копію коду, який вони написали (для подальшої довідки)?

Мабуть цього хлопця відправили до в'язниці за копіювання вихідного коду.


13
це може бути серйозним юридичним питанням, якщо ви якимось чином продаєте / повторно використовуєте його для компанії-конкурента.
Е.Л. Юсубов

19
Зауважте, що у зв'язаній статті це досить конкретний випадок, коли він пішов з кодом, який, швидше за все, охоплювався NDA (враховуючи клієнта), і навіть якби це не було, я не впевнений, що ризикну. прогулянки з кодом, розробленим для вигадливого Федерального резервного банку ! У вас не повинно бути всього цього, якщо ви думаєте, що нічого не може піти не так, і що принаймні не знайдеться декілька впливових людей, яким ця ідея взагалі не сподобається, якщо вони коли-небудь почули, що ви взяли код з собою .
haylem

10
Припускаючи, що це працювало за наймом, і тому ваш колишній роботодавець володіє авторським правом на код, який ви для них написали, і не випустив його як відкритий код, я б сказав, що зберігати копії написаного вами коду так само недоцільно, як зберігати копії коду, який написали ваші колеги.
Кіт Томпсон

37
@DavidPeterman - чому б не роботодавець, який найняв тебе, володів усіма частинами того, що ти робиш для них? Як ви думаєте, частина вашого будинку належить столяру, який зробив обрамлення?
Реакційний

10
@MathewFoscarini Я розумію, що ти кажеш, але я говорю про алгоритми. Це було б так, як сказати, що столяр не володіє кроками, які він вживає, щоб побудувати будинок
Девід Пітерман

Відповіді:


303

Але чи рідкість розробників зберігати особисту копію коду, який вони написали (для подальшої довідки)?

Я не знаю, наскільки це часто, але звичайно це чи ні, це все-таки погана ідея.

Програмісти часто працюють в думці, що вирішення однієї і тієї ж проблеми вдвічі - це марна трата часу. Ми намагаємось спроектувати наш код таким, який може бути багаторазовим (іноді). Ми будуємо бібліотеки класів і функцій для повторного використання в якийсь момент майбутнього. Ми іноді навіть віддаємо свій код, щоб нікому більше не довелося писати код для вирішення тієї самої проблеми, що ми тільки що зробили. Тому може бути зрозуміло, що ви хочете взяти з собою "свій" код, коли ви переходите з однієї роботи на іншу. Але ви все одно не повинні цього робити з наступних причин:

  1. Це не ваш код.

  2. Код, який ви написали для свого колишнього роботодавця, є частиною побудованого ними бізнесу. Їх код є частиною їх конкурентної переваги. Звичайно, конкуренти могли написати власний код, щоб вирішити ту саму проблему, але вони не повинні отримувати перевагу, будуючи роботу, яку ваш роботодавець оплачував, володіє і не надає вам право брати участь.

  3. Якщо вони взагалі мають сенс, ваш новий роботодавець не хоче жодної частини коду, який ви взяли у свого колишнього роботодавця. Чим більше ви "посилаєтесь" на роботу, яку ви робили для якогось попереднього роботодавця, тим більше ви ставите нового роботодавця в юридичну небезпеку.

  4. Якщо ви коли-небудь випадково дозволите йому проскочити у нового роботодавця, що ви все-таки отримали копію матеріалів, які ви зробили для Старого роботодавця, ваш начальник в Нью-Йорку, ймовірно, зрозуміє, що ви візьмете копію їх коду, коли ви поїдете за іншим робота. Це може не сидіти з ним чи з нею.

  5. Навіть якщо ви не списування фактичних ліній або просто невиразні ідеї із старого матеріалу, просто маючи свій старий матеріал у вашому розпорядженні може викликати підозри , що ви могли б використовувати його для чого - то. Уявіть, що Старий роботодавець подає до суду на Нового роботодавця, і як один з невеликої жменьки працівників, який перейшов зі Старого в Новий, ви раптом виявите, що даєте депозит. Ніхто з вас насправді не скопіював код Старого в продукт Нового, але адвокат перед вами запитує: "Пане SuperFoo, чи є ви зараз чи є у вас в будь-який час після виходу з" Старого роботодавця "у вашій власності копію будь-якого коду, який ви або хтось ще писав, працюючи у «Старого роботодавця»?

  6. Вам не потрібен код, який ви писали минулого місяця, минулого року чи довше. Ви вирішили проблему один раз, і тепер знаєте, як вирішити проблему заново. Або ви можете знати, як не вирішити проблему - ваша нова реалізація буде кращою, оскільки у вас є досвід.

  7. Є кращі способи. Важко повернутися назад і навчитися нічого корисного, читаючи старий код поза контекстом. Щоденник чи журнал, що описує те, що ви дізнаєтесь, ідеї, які ви маєте тощо, набагато корисніше згодом.

  8. Навіть якщо Старий роботодавець знає, що ви отримали їх код, і це добре з цим, ви все одно не хочете його! Єдине, що може спричинити це телефонний дзвінок о 3 ранку: "Ей, SuperFoo? Як справи? Слухай, у тебе є копія наших матеріалів, правда? Подивіться, у нас проблема з Система, і ми її звузили до декількох файлів, які ви написали, що наш новий хлопець просто не розуміє. Я знаю, що пізно, але ви могли б пройти його через SuperDuper.pl? "

Відпусти. Вам це не потрібно.


7
Більше того, якщо засоби масової інформації, на яких ви тримаєте вміст, втрачаються чи вкрадаються, це чимало проблем. Правду кажучи, я вважаю за краще уникати будь-якого VPN-з'єднання чи джерел на своїх персональних ПК, якщо це можливо. Ваш ПК може бути частиною ботнету, навіть не знаючи, навіщо це ризикувати?
Кодер

8
Відмінна відповідь! Мені фактично запропонували копію коду (або постійний доступ), покидаючи свого старого роботодавця. Я відмовився, саме з причин, близьких до числа 8. Зрештою, була причина їх відставки. Якби я все-таки хотів
роздрібнити

79
+1: Вам це не потрібно . Важка частина - з'ясувати, що писати, а не писати. Якщо ви напишете це вдруге, це, мабуть, буде ще краще.
кевін клайн

6
Коли я вирішую проблему зі своїм кодом, я, як правило, виписую рішення в блозі. Не вихідний код з моєї роботи, а загальний код, який відповідає тій же схемі (простий один рядок або кілька рядків для досягнення мети - не бегемоти коду). Я вважаю це чудовим методом зберігання того, що я дізнався на попередніх роботах. +1 для кулі №7!
Gaʀʀʏ

11
Чи не повинен бути якийсь поріг для кількості коду, який відповідає вимогам? Якщо я використовую for (int i=0; i < N; ++i)в своєму коді, це, звичайно, не є незаконним використовувати його в іншому місці в іншій компанії ...
vsz

159

Я завжди зберігаю копію коду, який я пишу, і беру його між завданнями. Подальші роботодавці ніколи не можуть бачити / запускати код, але я вдома використовую його як посилання: "Ага так, чи я не робив щось подібне до проекту X?".

Це законно? Залежить від юрисдикції та обставин, але це досить часто. Морально, у мене немає проблем із цим, якщо ви не просто даєте код новим роботодавцям ... Це нагадування та демонстрація того, що ви зробили, а не безкоштовний ресурс для вашого роботодавця.

[Зворотний бік цього - це неминуча ганьба, яка виникає, коли ви дивитесь на старший код: "Що я думав ?? Чому на землі я зробив це , що шлях ?? ']


35
+1 І це навіть не має значення, чи законно це. Багато хто з нас так чи інакше це робить. Це не шкодить вашому попередньому роботодавцеві (ви не продаєте код конкуренту), і це ніяк не може бути врегульовано. Певним чином, якщо ви "пам'ятаєте", як ви вирішили проблему для попереднього роботодавця, ви "крадете" цей секрет для них - таким чином, який не можна регулювати, поки вони не вигадають контроль розуму;)
Андрес Ф.

89
@AndresF. Це не що інше, як раціоналізація. Код є власністю вашого старого роботодавця, ваших спогадів немає. Якщо ви пам'ятаєте, як ви вирішили проблему, вам код не потрібен, тож який сенс приймати його?
Калеб

10
+1 за викладення морального аргументу. Особисто я дотримуюся цього, здебільшого тому, що більшість мого коду не залежить від домену. Пам’ятаю, як я щось вирішив, але не обов’язково нюанси цього.
Теластин

46
У випадку звинувачення компанії в крадіжці IP-адреси, наявність копії коду буде великим обтяжуючим фактором проти вас. Мати пам’ять про це не так. Ось в чому різниця.
Олексі

13
@Caleb Незважаючи на те, багато розробників забирають шматки коду після від'їзду. Це зовсім окрема дія від використання цього коду, щоб конкурувати з вашим старим роботодавцем чи завдати шкоди, і його зазвичай приймають так само, як і в "як я, мабуть, вирішив цю проблему / налаштував цю програму раніше? Ви хочете, але це все ще поширена практика, і насправді нікому не шкодити. Ви можете закопати колективні голови в пісок або заявити, що це неправильно, але все одно це відбувається. Особливо з аутсорсингом / офшорингу - якщо ви думаєте, що це не так трапись, ти зненацька!
Андрес Ф.

51

Це дуже погана ідея. Цей код не належить вам (юридично кажучи) і володіння ним може доставити вам багато проблем. Це стає ще більш істинним, коли ви переходите на нову роботу і все ще зберігаєте цей вихідний код. Ще гірше, якщо це конкурент. Ваша компанія не буде рада, якби у вас був доступ до їх вихідного коду, коли ви більше не працюєте на них.

Вся справа в управлінні своїм ризиком. Очевидно очікується, що ви збережете речі попереднього роботодавця, які можете використовувати десь ще. Ось чому вони роблять ваш знак не конкуруючими застереженнями, які тривають X місяців / років після того, як ви їх залишите, однак володіння кодом робить вас більш вразливими до того, хто вас звинувачує у відвертому копіюванні коду компанії (навіть якщо ви цього не зробили, і просто використовували ті самі ідеї). Чи варто мати код, щоб керувати цим ризиком?

Безумовно, корисні речі, які ви отримали від написання коду, не є точним синтаксисом; це знання, які ви здобули. Мабуть, не варто братися за всі ці юридичні речі.


9
Це не погана ідея, якщо у вашому офісі немає жорстких перевірок безпеки (наприклад, заборона електронної пошти та мандрів). Ніхто не збирається шукати ваш домашній комп’ютер, і зрозуміло, що розробники відбирають знання у своїх минулих робочих місць. Ви не можете цього запобігти, і було б нерозумно це робити, чи "код запам'ятовується", чи копіюється дослівно. Що ви можете зробити як роботодавець, це не застосовувати жодних конкурентних застережень або NDA або будь-якого законодавчого механізму, який існує у вашій країні.
Андрес Ф.

14
@Malfist Ні, ти цього не робиш. IANAL, але досить добре встановлено, що, принаймні, у США продукти роботи, які хтось платить вам за створення, є їх власністю, а не вашою. Дивіться роботу з прокату у Вікіпедії.
Калеб

5
@Malfist Знову немає. Дивіться посилання в моєму попередньому коментарі.
Калеб

4
@Malfist: "якщо ви єдиний розробник, і вони не змусили вас відмовитися від авторських прав, ви можете взяти код із собою, коли ви виходите (я завжди це роблю)". Не впевнений, що ваші договори відображають більшість реальності. Більшість контрактів на оренду програмного забезпечення прямо скажуть, що вам потрібно доставити всі джерела та бінарні файли, а також передати право власності та авторські права на них. Що цілком нормально для фрілансування. Ви можете домовитись про це, але я, як очікується, побачитимуть контракти (як для внутрішніх, так і для фрілансійних контрактів).
haylem

5
Давайте гіпотетично розглянемо розробника, який пам’ятає будь-який окремий рядок, який він написав протягом своєї кар’єри. Чи було б незаконним, якби він використовував цю пам'ять під час роботи над майбутніми проектами? Чому ви робите різницю між запам'ятовуванням свого коду та збереженням його копії у приватному hd? Якщо вам дозволяють брати приклад зі свого досвіду, ви повинні бути навіть якщо це записано у вашому зошиті, а не зберігатися у вашому мозку. І якщо вам не дозволяється перечитувати старий код, який ви зберегли на своєму ПК, вам не слід дозволяти «нагадувати» про це, що, очевидно, не має сенсу.
Надір Сампаоолі

36

Це не рідкість.

У мене є копія майже 1 кожного коду, який я написав професійно, і, безумовно, всього коду з моїх поточних проектів, незалежно від того, хто його написав 2 . Поряд з кодексом у мене є величезна купа юридичних документів, що чітко визначають, що я можу і чого не можу зробити з цим. Просто мати код - це не те саме, що намагатися отримати прибуток від коду.

Однак, це юридичне питання, і юридичні питання, як правило, надзвичайно складні та локалізовані. Якщо ви сумніваєтесь, вам дійсно потрібно поговорити з юристом. Я можу тримати свій код навколо, але я на 99% впевнений, що не зроблю цього.

1 Чого не вистачає, це головним чином те, що мені було неважливо архівувати. Лише один невеликий код проекту з юридичних причин відсутній.
2 Характер проектів та моя роль у них, я один із хлопців, якому потрібно мати хоча б уявлення про те, що куди йде, навіть якщо я не брав участь у створенні конкретного модуля.


4
@haylem я ніколи не перебуваю в приміщенні компанії;)
yannis

3
але я впевнений, що ви знаєте, що я мав на увазі, і що це, мабуть, не дуже важливо, де ви фізично перебуваєте :)
haylem

3
Я чув, як один розробник виступав на конференції WordPress, і він сказав щось на кшталт "Якщо я виконую контрактну роботу для вас, я переконуюсь, що ви знаєте, що ви володієте кодом, який я пишу для вас, але це не означає, що я нічого не навчився" новий, написавши свій код. "
програміст

3
@Caleb Маючи належну документацію, можливо, нечасто (я не знаю), проте я не думаю, що зберігати копії коду. У мене просто трапляються обидва;)
yannis

2
@ Krelp, ключі шифрування, як ключі до сейфів, можуть бути примусові через повістку в суд.
Мальфіст

29

Я бачу вашого заарештованого китайця і піднімають вас з "кодом не є власністю, тому його не можна вкрасти".

Код: Кодекс "не фізична власність", правила суду у справі про шпигунство "Голдман Сакс"

З урахуванням сказаного.

  • Чи потрібно зберігати код, який я пишу? Абсолютно.
  • Чи слід тримати повноцінні проекти? Абсолютно.
  • Чи повинен я переконатися, що я великим пальцем переношу код з робочого ПК на домашню машину? Ти бетча!
  • Чи можу я коли-небудь повторно використовувати цей код в іншій компанії або в особистому проекті. Ні.
  • Чи часто я переглядаю старий код та йду на WtF !? Весь час.

14
+1 Хе-хе, приємна, чесна відповідь. Найкраще - це правда, що ви насправді ніколи не повертаєтесь до старого коду. Ви просто відчуваєте себе безпечніше, якщо візьмете його з собою, ніколи більше не дивлячись на це в своєму житті!
Андрес Ф.

Хіба це не було головною проблемою і в останній справі Oracle v Google?
robertc

1
Повністю згоден з вами. Я роблю те саме. Це дуже гарна довідка.
Андреа Гірарді

2
код не є власністю, тому його не можна вкрасти - це жахливий підсумок цього випадку Goldman Sachs. Російського хлопця виправдали не тому, що він не зробив нічого поганого, а тому, що його крадіжка не підпадала під дію закону, який прокурор намагався застосувати проти нього. Це не означало, що він не порушив контракту з GS або порушив закони щодо захисту прав інтелектуальної власності. Будь ласка, прочитайте статтю уважніше, і, можливо, взяти участь у коментарях нижче.
Нейт

Пов’язана стаття: Чи Goldman Sachs перевищив кримінальну відповідальність за свого колишнього програміста? . Це також хороший приклад того, що навіть якщо ви виграєте врешті-решт, сам юридичний бій може сильно нашкодити.
CodesInChaos

10

Ось просте запитання для вас. Ідіть до свого начальника і скажіть їм: "У мене є копія всього коду, який я написав, поки працював тут. Тільки код я написав, а не інші народи. Це для моєї власної освіти, і я ніколи цього не видам".

Наступні їх дії будуть диктувати (так, це слово існує в Північній Америці / Світі), якщо ви неправильно чи правильно в їх очах.

Незалежно від власної "етики", ви працюєте для роботодавця. Якщо вони вважають, що те, що ви робите, є неправильним, то це неправильно, виходячи з їх етики. Коли вони вам платять, а ви на них працюєте, то у вашому суді потрібно або погодитися з ними, або не погодитися, що може вас звільнити.

Тепер це питання доброчесності. Я дозволив попередньому працівникові взяти частину нашого коду, але спершу я все перевірив.

Тільки тому, що ти вважаєш, що ти маєш право, не робить тебе правильним. Зазвичай розробники програмного забезпечення підписують договори, коли вони працюють. Якщо ви підписали його, вам потрібно жити своїм словом.


"поки я працював тут" означає, що особа, про яку йде мова, вже не є вашим начальником. Якщо це ваш колишній начальник, чому б ви хотіли його запитати?
Олександр

Чому? Контракти? Цілісність?
Райан Терньє

Ви можете зберігати написаний вами код, не використовуючи його ні для чого, і все одно одночасно підтримувати свої контракти та зберігати цілісність.
Олександр

2
Якщо ви підписуєте договір, у якому зазначено, що весь код є власністю вашого роботодавця, ви приймаєте його додому - це порушення цього договору, якщо вони не знають, що у вас є, або дали вам дозвіл на його створення. Це фактично крадіжка. Так, це "код", цифрові 0 і 1, але в більшості випадків це чорно-білі.
Райан Терньє

Це класична дискусія "піратство - крадіжка".
Олександр

8

нечасто розробники зберігають особисту копію коду, який вони написали

Відповідаючи на питання прямо, я скажу , в моєму досвіді це є рідкістю. Виняток до цього , що я бачив людей , які роблять багато фрілансу і вони тримають код на руку для подальшого технічного обслуговування і поліпшення проектів своїх клієнтів, і я припустив би , що це чітко прописано в договорі (хоча я не в звичка переглядати фріланс-контракти моїх друзів, тож хто знає). Люди, яких я знаю, які працюють у великих компаніях, ніколи не допускали збереження коду від колишніх роботодавців.

Я знаю, що не став би тому, що не можу придумати єдиної ситуації, коли це було б корисно (не кажучи вже про те, що я впевнений, що мій поточний роботодавець забороняє такі речі - мені просто доведеться шукати документи, щоб бути певними ). Код, який я написав / виправив, зазвичай настільки специфічний для певної ділової вимоги, що я не можу уявити, щоб він коли-небудь знову з’явився в майбутньому таким чином, що було б легше повторно використовувати старий код, ніж писати новий код.


3
Як фрілансер я буду тримати весь код. Використовувати його вкрай малоймовірно, але, врешті-решт, людину збережу (наприклад, якщо роботодавець найме когось іншого, який закрутить код і знову найме мене, щоб виправити його).
Каміло Мартін

1
У моїй фрілансінгу я знаходжу багато коду, який зазвичай використовують. Скільки разів я закінчую писати один і той же код для входу користувача, перш ніж його просто повторно використовувати. Хоча я зберігаю код для обслуговування, загальні області коду, як правило, копіюються. Якщо я знайшов якийсь код, який по суті є однаковим між двома проектами, я роблю його копію в узагальненому вигляді і за необхідності копіюю її в інші проекти.
Кріс

8

Ще в той час для розробників було звичайно мати свою персональну бібліотеку процедур, яку вони використовуватимуть для вирішення проблем на поточній роботі. Джерело залишиться позаду, коли розробник пішов, але будь-які вдосконалення також пішли з ним.

Це призвело до безпрограшної ситуації. Це також було лише підмножиною всього написаного коду.

Звичайно, більшість того, що було в особистих бібліотеках, було б сьогодні в стандартних бібліотеках.


У деяких середовищах чітке розмежування між бібліотечним або компонентним кодом або класами, явно розробленими для повторного використання (аналізатори тощо), та тими, які стосуються проблемного домену. Код, який є проблемним доменом (основний додаток або комерційна організація XWare), може виявитися не корисним поза цим місцем, але низький рівень або багаторазовий використання / компонент бібліотеки справді може бути дуже корисним.
Warren P

6

У відносинах між роботодавцем та працівником у більшості частин Північної Америки передача або передача цифрового матеріалу (тобто вихідного коду) з обладнання ваших роботодавців є незаконним без попереднього юридичного дозволу роботодавця.

Частина юридичних законів, що стосуються визначення працівника на робочому місці, - це опис того, що працівник не надає власне робоче обладнання, якщо інше не зазначено в договорі працівника, за винятком угод, які вимагають від закупівлі працівника власне обладнання (тобто будівельний працівник).

Більшість законів про зайнятість у Північній Америці визначають роботодавця як основного відповідального за ризик у відносинах працівника з роботодавцем. Працівник оплачується за свій час, поки роботодавець надає матеріали, обладнання та контролює діяльність, пов'язану з роботою.

В який час під час цих відносин не вдається викрасти цінний матеріал у роботодавця, який заплатив і ризикував, створивши вказаний матеріал?

Ключовою проблемою при цьому було питання "вихідний код, який ви написали?". Ні, пане, це не ви написали. Під керівництвом вашого роботодавця саме їх написали. Ви просто найнята рука, яка її набрала. Не існує суду в Північній Америці, який би став назустріч вам, якщо ваш роботодавець вчинить судові дії щодо захисту свого майна. Просто скопіювавши вихідний код на USB-накопичувач, можна потрапити у гарячу воду.

Зважаючи на це, якщо роботодавець дозволив вам використовувати власне обладнання (тобто ноутбук) або передавати матеріал, то це вже інша справа. Роботодавець повинен повідомити вас після припинення, що будь-які матеріали повинні бути повернені / знищені.

Просто думав, що я опублікую цю відповідь, тому що, здається, деякі люди думали, що це сіра зона. Я дійсно не думаю, якщо ви розробник, що вам слід обійтися в Інтернеті, розміщуючи копії матеріалів роботодавця. Я маю на увазі, ви чітко вже знали відповідь на це запитання, тому що ви створили новий обліковий запис учасника лише для того, щоб задати це питання. ;)


Роботодавець повинен повідомити вас після припинення, що будь-які матеріали повинні бути повернені / знищені. Це справді правда? Чи має роботодавець юридичне та / або договірне зобов'язання зробити це?
Раду Мурзеа

Роботодавець не має юридичних зобов'язань робити це, але він може в будь-який час вимагати повернення будь-яких належних їм матеріалів у працівника, якщо не існує угоди між роботодавцем та працівником, яка дозволяє працівникові зберігати зазначений матеріал.
Реакційний

5

Я робив це в минулому кілька робіт тому.

Однак я жодного разу не повертався назад і дивився на це. Я час від часу використовував ідеї та речі, про які я дізнався, але не раз знайшов причину повернутися назад і подивитися на код.

Тож я б більше не переймався. Це юридично сумнівно, і я ніколи насправді не вважав це корисним на практиці.


4

Звичайно. Мені подобається зберігати копію всієї роботи, яку я виконую - будь то написання коду чи інше. Назвіть це записками, якщо хочете. Порушення правил? Можливо,

Зауваження щодо конкурентної переваги не мають значення, якщо ваш наступний роботодавець не є прямим конкурентом. Якщо ви переходите від телефонної компанії до програмного забезпечення або від розробника ігор до розробника бази даних, це не має значення. Якщо ви насправді плануєте повторно використовувати код - ну це вже інша історія.

Цікаво, що ви часто чуєте про те, що веб-розробники приносять із собою "коробку інструментів" зі стандартним набором бібліотек JavaScript та таблицями стилів CSS . Але я не бачив цього згадуваного тут.


3

Я нещодавно видалив увесь старий код, який я зберігав від свого попереднього роботодавця. Я зберігав лише фрагменти коду, які, на мою думку, були корисними для подальшого використання. Я фактично виявив, що я помітно рухався з того моменту, як пішов, і ніколи не згадував старий код. Я знайшов / відкрив / дізнався набагато кращі способи вирішення одних і тих же проблем.

Це була приємна маленька поїздка вниз по смузі пам'яті, хоча :)


2

Я думаю, що має бути розмежування між шаблоном дизайну та фактичним кодом (копіювання рядково за рядком)

Записати якийсь подібний psuedocode - це чудовий спосіб лінивого навантаження X у Y - одне. Списання всього коду - це щось інше.


1

З дозволу роботодавця опублікуйте акуратний код, який можна повторно використовувати, як проекти з відкритим кодом для використання іншими людьми. Тоді ваш роботодавець також може скористатися внесками в цей код інших людей.

Таким чином ви можете законно зберігати код, створювати публічний портфоліо коду, який ви написали, і код може принести користь іншим людям.


1

З різної кількості причин, як-от робота вдома, ви, можливо, вже маєте копію, і я, наприклад, не хотів би їх видаляти після роботи, навіщо це робити? Це не суперечить моїм переконанням чи чомусь.

Але, що стосується його використання, це не так корисно, як публікація в блозі!

Підсумок: напишіть свій код, блог про проблеми, з якими ви стикалися, і про те, як ви їх вирішили (особливо, коли це загальні та широкі речі), і не проти тримати (можливо, зашифрований) сувенір від останнього завдання.


1

При фінансуванні CFA вирішує це питання. Вам заборонено брати інформацію, що стосується клієнтів або вашу роботу для компанії (у цьому випадку код). Але ніщо не заважає запам’ятати те, що ви можете, а потім записати це згодом.

Не впевнений, наскільки це законно, але я вважаю, що найкраще залишити свій вихідний код, але записати свої ідеї та те, як ви це зробили, як тільки повернетесь додому. Крадіжка є крадіжкою, і все, що вони намагаються з'ясувати, вирішують, чи скопіювали ви код чи ні.


Майте на увазі, що деякі роботодавці зроблять свої чортові найкращі, щоб уникнути "запису ваших ідей", коли ви повернетесь додому. Сценарій програшу для них - це не скопійований код, а конкуренція проти них - і для цього ідеї набагато кращі. Не впевнений, чи це підлягає виконанню, але деякі намагаються знущатися з вами, думаючи, що вони володіють будь-якими ідеями, які у вас можуть бути у робочий час.
Андрес Ф.

1
@AndresF. Я колись працював у хедж-фонді, який намагався запобігти цьому. Вони, чесно кажучи, не змогли цього перешкодити, тому змусили людей підписувати контракти, що не мають конкуренції, і заплатили за те, щоб вони не працювали протягом 1-2 років після відставки. Незважаючи на те, що це дуже дорого (ви платите за 2 роки зарплату тому, хто не працює на вас), це робить ваші знання черствими, коли ви виїжджаєте, і марними як конкурентна загроза.
Lostsoul

+1 лише для ідей, а не для коду. Був пов'язаний з компанією, яка подала до суду на екс-програміста за крадіжку коду та продаж подібного товару. Суддя ухвалив, що оскільки помилки були ідентичними, він повинен був викрасти код.
jqa

Я бачив, що багато роботодавців вимагають, щоб новий працівник письмово погодився з тим, що вони не будуть займатися іншою діловою діяльністю, працюючи роботодавцем, а будь-які інші проекти, які працівник робить на стороні, також є власністю роботодавця. Я думаю, що ця тема сама по собі є цілком іншим питанням, але ці угоди є в більшості трудових договорів.
Реакційний

@MathewFoscarini Я згоден. У моїй фірмі ми вимагаємо, щоб працівники мали письмове схвалення, перш ніж брати участь у чомусь, від чого вони отримують вигоду (включаючи побічні проекти, благодійні роботи тощо). Якщо ви виправите машину своїх сусідів, і він купить вам пиво, це буде якісно, ​​хоча співробітники розуміють, що ми, швидше за все, не будемо цього робити.
Lostsoul

1

Якщо ви зберігаєте свій код з метою його повторного використання, у мене є дві проблеми з цим:

  • Якщо код залежить від домену, він, ймовірно, також є власником. У будь-якому випадку, жоден бізнес чи проблеми не є однаковими, і намагатися виправити одну проблему з рішенням іншої - це не дуже вдала модель.

  • Якщо код, який ви зберігаєте, вирішує поширену проблему, слід поставити під сумнів свій підхід. Чому ви витрачаєте багато зусиль, щоб вирішити загальну проблему, коли вони, швидше за все, існують (і краще) з відкритим кодом?

    Якщо ви вважаєте, що у вас найкраще вирішення поширеної проблеми, вам слід спробувати поділитися кодом публічно в загальнодоступному сховищі та / або кодовому блозі, коли ви пишете його, а не тримати його при собі. Ваш начальник не повинен заперечувати, щоб поділитися загальною бібліотекою чи змусити вас винаходити колесо (якщо він це зробить, знайдіть нову роботу).

Якщо ви зберігаєте свій код, оскільки хочете показати його потенційному роботодавцю або вдосконалити свої навички, пропоную натомість внести свій внесок у проект з відкритим кодом.


1
Другий пункт передбачає, що існувало б рішення з відкритим кодом, що далеко не певне. Але найголовніше, що частина коду, який я зберегла, - це код, який демонструє, як я використовував сторонні компоненти / послуги. Наприклад, якщо я розробить гідне рішення для оплати, яке інтегрується з Paypal, я візьму код для посилання на пізніше - тому мені не потрібно буде винаходити колесо наступного разу.
cjmUK

0

Я ще не зберігав жодного коду, який я зробив для роботодавців. Я працював у фрілансі (якщо я втрачу код, важко підтримати клієнта).

Однак я розглядаю можливість зберігати код, який я зробив для цього роботодавця. Причина в тому, що я веб-розробник, і я розробив багато речей на стороні клієнта, які виглядають досить симпатично. Я не розробляв їх, але реалізував їх і часто приходив до ідеї. Я хотів би зберегти копію цього матеріалу для створення онлайн-портфоліо. Як ми всі знаємо, сайти не тривають вічно, тому я не можу реально розраховувати на те, що моя робота залишається в Інтернеті. Наявність резервної копії дозволило б мені мати портфель в Інтернеті.

Я знаю, що дизайнери часто зберігають копії своєї роботи (навіть якщо це була робота в прокат) для цілей портфоліо.

Я не впевнений, що це за законність (це прямо не зазначено в моєму договорі).


4
but what are your thoughts on this?Будь ласка, не запрошуйте відкрито до розмови на свою відповідь, вводячи інше запитання. Ви скажете нам, чи варто зберігати копію всього коду, який ми пишемо. Ви можете покращити відповідь, відредагувавши її.
maple_shaft

1
Я думаю, що є різниця у збереженні оригінальних вихідних файлів (у вашому випадку графічних файлів, таких як .ai чи .psd), а також у тому, що у вас є скріншот кінцевого продукту для вашого портфоліо. Ви все ж повинні попросити свого роботодавця дозволу, але вони повинні бути більш приємними для останнього.
Сарел Бота

Оскільки робота часто має інтерактивний характер, скріншот не збирається вирізати її для портфоліо. Це показало б лише дизайн (який здебільшого не мій). Я міг би зробити скріншот про мене, використовуючи відповідну роботу, але це все ще не передає таких речей, як затримка, продуктивність, сумісність між браузерами.
Ксандор Шифер

0

Що ж, для розвитку бізнес-логіки для моєї компанії я не можу зберігати код, оскільки це незаконне та особисте майно компанії. Як розробник, я знаю, як розвивати цю логіку, тому я можу зберігати цю логіку в своєму розумі. За замовчуванням він зберігається у вашій свідомості, і якщо вам це знадобиться наступного разу, то автоматично вам слід реалізувати логіку / кращу логіку, ніж попередня. Це людська природа та інтелект. :)

Але проблема виникає, коли ви розробляєте певну логіку корисності, вони можуть бути повторно використані і завжди важливі, можливо, вам це потрібно часто в різних проектах. Тож вам слід захотіти тримати це при собі.

У мене є альтернативне рішення цього. Просто створіть JAR без джерела / документації для цих утиліт та додайте його як зовнішній сторонній JAR у свій проект. Ймовірно, зробивши це, ви можете підтвердити свою відповідальність, а також своє задоволення тим, що у вас є код ;)


1
Інший підхід до цього полягає в тому, що коли я стикаюся з корисним / багаторазовим бітом коду, який я хотів би взяти з собою ... Я просто йду додому і пишу в блозі про конкретний API чи техніку, яка зацікавила я. Ця публікація в блозі, звичайно, не посилається на мого роботодавця, а також не використовує, рядок за рядком, код, написаний на мапі мого роботодавця.
Джоел Мартінес

Якщо є правила, то їх повинно бути анти-правилом. Які ви можете використовувати на користь вас. Їх різні методи для досягнення цього. Найголовніше - зберегти роботу чіткою.
Soumyadip Das

0

Я не зберігаю код з простої причини: Компанія заплатила мені написати код для них. Я даю їм свій код, і вони дають мені свою зарплату. Хлопець, який зробив мій обід, не вдається зберегти його частину, чому б код був іншим?

Крім того, я вже говорив про те, що я виходжу з роботи, всі головні болі залишаються там, нова робота, новий старт, але з трохи більше досвіду та розуміння типів проблем у цій галузі старої роботи.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.