Стоит ли хранить копию всего кода, который вы пишете? [закрыто]

197

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

Видимо, этот парень был отправлен в тюрьму за копирование исходного кода.

superFoo
источник
13
это может быть серьезной юридической проблемой, если вы каким-либо образом продаете / повторно используете ее компании-конкуренту.
Е.Л. Юсубов
19
Обратите внимание, что в связанной статье это довольно специфический случай, когда он ушел с кодом, который, скорее всего, был покрыт NDA (с учетом клиента), и даже если бы этого не было, я не уверен, что воспользовался бы возможностью уйти с кодом, который был разработан для офигенного Федерального резервного банка ! Вы не должны иметь все это есть , если вы думаете , ничто не может пойти не так с этим и что не будет по крайней мере, несколько влиятельных людей , которые не хотели бы эту идею вообще , если они когда - либо слышали вы сделали код с вами ,
Хайлем
10
Предполагая, что это была работа по найму, и что ваш бывший работодатель, таким образом, владеет авторскими правами на код, который вы написали для них, и не выпустил его как открытый исходный код, я бы сказал, что хранить копии написанного вами кода так же неуместно, как хранить копии кода, написанные вашими коллегами.
Кит Томпсон
37
@DavidPeterman - почему работодатель, который нанял вас, не владеет всем, что вы для них делаете? Как вы думаете, часть вашего дома принадлежит плотнику, который сделал каркас?
Reactgular
10
@ MathewFoscarini Я понимаю, что вы говорите, но я говорю об алгоритмах. Это все равно, что сказать, что плотник не владеет шагами, которые он предпринимает, чтобы построить дом
Дэвид Петерман

Ответы:

303

Но не редкость ли для разработчиков сохранение личной копии написанного ими кода (для дальнейшего использования)?

Я не знаю, насколько это распространено, но часто или нет, это все еще плохая идея.

Программисты часто оперируют мышлением, что решение одной и той же проблемы дважды - пустая трата времени. Мы стараемся сделать наш код многократно используемым (иногда). Мы создаем библиотеки классов и функций для повторного использования в будущем. Иногда мы даже отдаем наш код, чтобы никому больше не приходилось писать код для решения той же проблемы, что и мы. Поэтому может быть понятно, что вы захотите взять с собой «свой» код при переходе с одной работы на другую. Но вы все равно не должны этого делать по следующим причинам:

  1. Это не ваш код, чтобы взять.

  2. Код, который вы написали для своего бывшего работодателя, является частью бизнеса, который они создали. Их код является частью их конкурентного преимущества. Конечно, конкуренты могли бы написать свой собственный код для решения той же проблемы, но они не должны использовать преимущество, основанное на работе, за которую заплатил ваш работодатель, и которая не давала вам разрешение на работу.

  3. Если у них вообще есть какой-то смысл, ваш новый работодатель не хочет никакой части кода, которую вы взяли у своего бывшего работодателя. Чем больше вы «ссылаетесь» на работу, которую вы выполняли для какого-либо предыдущего работодателя, тем больше вы подвергаете своего нового работодателя юридической опасности.

  4. Если вы когда-нибудь случайно заметили у Нового работодателя, что у вас все еще есть копия того, что вы сделали для Старого работодателя, ваш босс в Нью-Йорке, вероятно, поймет, что вы возьмете копию их кода, когда уйдете на какой-то другой работа. Это может не понравиться ему или ей.

  5. Даже если вы не пишете фактические строки или просто смутные идеи из своих старых вещей, просто наличие старых вещей в вашем распоряжении может вызвать подозрения, что вы можете использовать их для чего-то. Представьте, что Старый Работодатель подал в суд на Нового Работодателя, и, будучи одним из небольшого числа сотрудников, перешедших из Старого в Нового, вы внезапно оказываетесь под присягой. Никто из вас на самом деле не копировал код Old в продукт New, но адвокат перед вами спрашивает: «Мистер SuperFoo, у вас сейчас или у вас есть в любое время после того, как вы оставили Old Employer, в вашем распоряжении была копия любого кода, который вы или кто-нибудь еще писал во время работы в Old Employer?

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

  7. Есть лучшие способы. Трудно вернуться и узнать что-нибудь полезное, читая старый код вне контекста. Дневник или журнал, описывающий то, что вы изучаете, идеи, которые у вас есть, и т. Д., Гораздо более полезен позже.

  8. Даже если Старый Работодатель знает, что у вас есть их код и с этим все в порядке, вы все равно не хотите этого! Единственное, что может случиться, это телефонный звонок в 3 часа ночи: «Привет, SuperFoo? Как дела? Слушай, у тебя есть копия нашего материала, верно? Послушай, у нас проблема с система, и мы сузили это до пары файлов, которые вы написали, что наш новый парень просто не понимает. Я знаю, что уже поздно, но не могли бы вы провести его через SuperDuper.pl? "

Отпусти ситуацию. Тебе это не нужно.

Caleb
источник
7
Более того, если носитель, на котором вы храните контент, будет потерян или украден, это станет большой проблемой. Честно говоря, я предпочитаю избегать каких-либо подключений VPN или источников на моих персональных компьютерах, если это вообще возможно. Ваш компьютер может быть частью ботнета, даже не зная, зачем рисковать?
Кодер
8
Отличный ответ! Мне фактически предложили копию кода (или постоянный доступ), когда я уходил от своего старого работодателя. Я отказался, именно по причинам, близким к восьмому. В конце концов, была причина уйти из них. Если бы я все еще хотел
раскошелиться
79
+1: вам это не нужно. Сложнее всего понять, что писать, а не писать. Если вы напишите это во второй раз, это, вероятно, будет еще лучше.
Кевин Клайн
6
Когда я решаю проблему с моим кодом, я стараюсь написать решение для блога. Не исходный код из моей работы, а общий код, который следует той же схеме (простая одна или несколько строк для достижения цели - не бегемоты кода). Я считаю, что это отличный метод для хранения того, что я изучил на предыдущих работах. +1 за пулю № 7!
Gaʀʀʏ
11
Разве не должно быть какого-то порога для количества кода, который соответствует требованиям? Если я использую for (int i=0; i < N; ++i)в своем коде, это, безусловно, не является незаконным, чтобы использовать его в другом месте в другой компании ...
vsz
159

Я всегда держу копию кода, который я пишу, и беру его между работами. Последующие работодатели никогда не увидят / не запустят код, но я использую его в качестве справки у себя дома: «Ах да, разве я не делал что-то похожее на Project X?».

Это законно? Зависит от юрисдикции и обстоятельств, но это довольно распространено. С моральной точки зрения у меня нет проблем, если вы не просто даете код новым работодателям ... Это напоминание и демонстрация того, что вы сделали, а не бесплатный ресурс для вашего работодателя.

[Обратная сторона этого - неизбежный стыд, который возникает, когда вы смотрите на старый код: «О чем я думал ?? Почему на земле я сделал это , что путь ?? ']

cjmUK
источник
35
+1 И даже неважно, законно ли это. Многие из нас все равно это делают. Это не вредит вашему предыдущему работодателю (вы не продаете код конкуренту), и его никак нельзя отрегулировать. В некотором смысле, если вы «помните», как вы решили проблему для предыдущего работодателя, вы «крадете» этот секрет для них - способом, который невозможно отрегулировать, пока они не изобретают контроль над разумом;)
Андрес Ф.
89
@AndresF. Это не что иное, как рационализация. Код является собственностью вашего старого работодателя, ваши воспоминания - нет. Если вы помните, как вы решили проблему, вам не нужен код, так какой смысл брать его?
Калеб
10
+1 за моральный аргумент. Лично я следую этому, главным образом потому, что большая часть моего кода не зависит от домена. Я помню, как я что-то решил, но не обязательно нюансы этого.
Теластин
46
В случае обвинения компании в краже IP, наличие копии кода станет серьезным отягчающим фактором для вас. Имея память об этом нет. В этом разница.
Олекси
13
@Caleb Несмотря на это, многие разработчики берут куски кода после выхода. Это совершенно отдельное действие от использования этого кода, чтобы конкурировать или нанести вред вашему старому работодателю, и обычно принимается просто для справки, например, «Как, черт возьми, я решал эту проблему / настраивал этот программный продукт раньше? Вы хотите, но это все еще широко распространенная практика, и на самом деле никому не причиняет вреда. Вы можете похоронить свои коллективные головы в песке, или заявить, что это неправильно, но это все же происходит. Особенно с аутсорсингом / офшорингом - если вы думаете, что это не так случись, тебя ждет сюрприз!
Андрес Ф.
51

Это очень плохая идея. Этот код не принадлежит вам (с юридической точки зрения), и обладание им может доставить вам немало хлопот. Это становится еще более верным, когда вы переходите на новую работу и сохраняете этот исходный код. Еще хуже, если это конкурент. Ваша компания не была бы счастлива, если бы у вас был доступ к их исходному коду, когда вы больше не работаете на них.

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

Конечно, полезные вещи, которые вы получили от написания кода, не являются точным синтаксисом; это знания, которые вы получили. Вероятно, не стоит иметь дело со всеми этими легальными вещами.

Oleksi
источник
9
Это неплохая идея, если только в вашем офисе нет строгих проверок безопасности (например, запрещение электронной почты и pendrives). В любом случае, никто не собирается искать на вашем домашнем компьютере, и понятно, что разработчики забирают знания с прошлых рабочих мест. Вы не можете предотвратить это, и было бы неразумно делать это, независимо от того, был ли этот код «запомнен» или дословно скопирован. Что вы можете сделать как работодатель, так это обеспечить соблюдение положений о конкуренции или соглашений о неразглашении или любого другого правового механизма, доступного в вашей стране.
Андрес Ф.
14
@ Малфист Нет, ты не. IANAL, но довольно точно установлено, что, по крайней мере, в США рабочие продукты, которые кто-то платит за создание, принадлежат им, а не вам. Смотрите работу по найму в Википедии.
Калеб
5
@ Мальфист Опять нет. Смотрите ссылку в моем предыдущем комментарии.
Калеб
4
@Malfist: «если вы являетесь единственным разработчиком, и они не заставили вас отказаться от своих авторских прав, вы можете взять код с собой, когда уйдете (я всегда так делаю)». Не уверен, что ваши контракты отражают большую часть реальности. В большинстве контрактов на аренду программного обеспечения прямо указывается, что вам необходимо предоставить все исходные коды и двоичные файлы, а также передать им право собственности и авторские права. Что вполне нормально для фриланса. Вы можете договориться об этом, но это довольно много фактических положений, которые я ожидаю увидеть в контрактах (как для внутренних, так и для фриланс-контрактов).
Хайлем
5
Давайте гипотетически рассмотрим разработчика, который помнит любую строку, которую он написал за свою карьеру. Было бы незаконно, если бы он использовал эту память, работая над будущими проектами? Почему вы делаете различие между запоминанием своего кода и сохранением его копии на своем частном жестком диске? Если вам позволено брать пример из своего опыта, вы должны поступать так, даже если он записан в вашей записной книжке, а не хранится в вашем мозгу. И если вам не разрешено перечитывать ваш старый код, который вы сохранили на своем ПК, то вам также нельзя разрешать «напоминать» об этом, что, очевидно, не имеет смысла.
Надир Сампаоли
36

Это не редкость.

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

Тем не менее, это юридическая проблема, и юридические проблемы, как правило, чрезвычайно сложны и локализованы. Если вы сомневаетесь, вам действительно нужно поговорить с адвокатом. Я могу держать свой код рядом, но я на 99% уверен, что у меня не будет проблем с этим.

1 Чего не хватает, так это того, что мне было все равно, чтобы архивировать. Только один небольшой код проекта отсутствует по юридическим причинам.
2 Характер проектов и моя роль в них. Я один из тех, кому нужно хотя бы понять, что и где происходит, даже если я не участвовал в создании конкретного модуля.

Яннис Ризос
источник
4
@haylem Я никогда не нахожусь в помещении компании;)
Яннис
3
все же я уверен, что вы понимаете, что я имел в виду, и что, вероятно, не имеет большого значения, где вы физически находитесь :)
Хайлем
3
Я слышал, как один разработчик выступил на конференции WordPress, и он сказал что-то вроде: «Если я выполняю контрактную работу для вас, я уверен, что вы знаете, что у вас есть код, который я пишу для вас, но это не значит, что я ничего не узнал новый, написав свой код. "
программист
3
@Caleb Наличие надлежащей документации может быть необычным (я не знаю), однако я не думаю, что хранение копий кода - это. Просто у меня есть оба;)
Яннис
2
@Krelp, ключи шифрования, такие как ключи к сейфам, могут быть получены через повестку в суд.
Малфист
29

Я вижу твоего арестованного китайца и поднимаю тебя: «Код не является собственностью, поэтому не может быть украден».

Ссылка: кодекс «не физическая собственность», судебные постановления по делу о шпионаже Goldman Sachs

С этим сказал.

  • Сохраняю ли я код, который пишу? Абсолютно.
  • Сохраняю ли я полные проекты? Абсолютно.
  • Должен ли я сделать так, чтобы мой код перелистывал с рабочего компьютера на домашнюю машину? Еще бы!
  • Повторно ли я использую этот код в другой компании или в личном проекте. Нет.
  • Я часто смотрю на старый код и хожу WtF !? Все время.
TimSonOfSteve
источник
14
+1 Хе-хе, хороший, честный ответ. Самое приятное, что это правда, что вы на самом деле никогда не возвращаетесь к старому коду. Вы просто чувствуете себя в большей безопасности, если берете это с собой, никогда больше не смотрите на это в своей жизни!
Андрес Ф.
Не было ли это серьезной проблемой в недавнем деле Oracle v Google?
Робертc
1
Абсолютно согласна с тобой. Я делаю то же самое. Это очень хорошая ссылка.
Андреа Жирарди
2
код не является собственностью, поэтому не может быть украден , это ужасное резюме по делу Goldman Sachs. Российский парень был оправдан не потому, что он не сделал ничего плохого, а потому, что его воровство не соответствовало закону, который прокурор пытался использовать против него. Это не означало, что он не нарушал контракт с GS и не нарушал законы об интеллектуальной собственности. Пожалуйста, прочитайте статью более внимательно, и, возможно, примите некоторые из комментариев ниже.
Nate
Связанная статья: Goldman Sachs переступил через уголовное дело по обвинению бывшего программиста? , Это также хороший пример того, что даже если в итоге вы выиграете, само судебное разбирательство может сильно повредить.
CodesInChaos
10

Вот простой вопрос для вас. Пойдите к своему боссу и скажите им: «У меня есть копия всего кода, который я написал, пока работал здесь. Только код, который я написал, а не другие народы. Это для моего собственного образования, и я никогда его не раскрою».

Их последующие действия будут диктовать (да, это слово существует в Северной Америке / мире), если вы ошибаетесь или правы в их глазах.

Независимо от вашей собственной этики, вы работаете на работодателя. Если они считают, что то, что вы делаете, неправильно, то это неправильно, исходя из их этики. Поскольку они платят вам, а вы работаете на них, то в вашем суде либо соглашаться с ними, либо не соглашаться, что может вас уволить.

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

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

Райан Тернье
источник
«пока я здесь работал» подразумевает, что этот человек больше не ваш начальник. Если это ваш бывший начальник, почему вы хотите спросить его?
Александр
Почему? Контракты? Целостность?
Райан Тернье
Вы можете хранить код, который вы написали, не используя его ни для чего, и в то же время поддерживать ваши контракты и сохранять вашу целостность.
Александр
2
Если вы подписываете договор, в котором говорится, что весь код является собственностью вашего работодателя, вы забираете его домой, что является нарушением этого договора, если они не знают, что он у вас есть, или дали вам разрешение на его получение. Это эффективно воровство. Да, это «код», цифровые 0 и 1, но в большинстве случаев это черно-белые.
Райан Тернье
Это классическая дискуссия «пиратство - это воровство».
Александр
8

разработчикам редко приходится хранить личную копию написанного ими кода

Отвечая на вопрос прямо, я скажу , в моем опыте это является редкостью. Исключение к этому , что я видел людей , которые делают много фриланса и они держат код на руку для дальнейшего технического обслуживания и улучшения проектов своих клиентов, и я предположил бы , что это четко прописано в договоре (хотя я не в привычка пересматривать фриланс контракты моих друзей, так что кто знает). Люди, которых я знаю, которые работают в более крупных компаниях, никогда не признавались в сохранении кода от бывших работодателей.

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

FrustratedWithFormsDesigner
источник
3
Как фрилансер я буду хранить весь код. Повторное его использование крайне маловероятно, но, в конце концов, я сохраню его (например, если работодатель наймет кого-то еще, кто испортит код и снова наймет меня, чтобы я его исправил).
Камило Мартин
1
В моем фрилансе я нахожу много кода, который обычно используется повторно. Сколько раз я заканчиваю тем, что пишу один и тот же код входа пользователя перед тем, как просто использовать его повторно. В то время как я сохраняю код для обслуживания, общие области кода обычно копируются. Если я нашел какой-то код, который по сути одинаков между двумя проектами, я сделаю его копию в обобщенном виде и скопирую его в другие проекты по мере необходимости.
Крис
8

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

Это привело к беспроигрышной ситуации. Это было также просто подмножество всего написанного кода.

Конечно, большая часть того, что было в личных библиотеках, сегодня будет в стандартных библиотеках.

Джон Стрейер
источник
В некоторых средах существует четкое разграничение между библиотечным или компонентным кодом или классами, явно предназначенными для повторного использования (синтаксические анализаторы и т. Д.), И классами, специфичными для проблемного домена. Код, специфичный для проблемной области (основное внутреннее приложение XWare или коммерческая организация), может оказаться бесполезным за пределами этого места, но низкоуровневый или повторно используемый компонент / библиотеки действительно может быть действительно очень полезным.
Уоррен П
6

В отношениях между работодателем и работником в большинстве районов Северной Америки незаконно передавать или передавать цифровые материалы (например, исходный код) с оборудования ваших работодателей без предварительного юридического разрешения от работодателя.

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

В большинстве законов о трудоустройстве в Северной Америке работодатель определяется как главный риск в отношениях между работником и работодателем. Работнику платят за его / ее время, пока работодатель предоставляет материалы, оборудование и контролирует связанные с работой действия работника.

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

Ключевой проблемой для этого был вопрос «исходный код, который вы написали?». Нет, сэр, это не вы, кто написал это. Под руководством вашего работодателя именно они написали это. Вы просто наемная рука, которая напечатала это. В Северной Америке нет суда, который бы поддержал вас, если бы ваш работодатель предпринял юридические действия для обеспечения своей собственности. Просто скопировав исходный код на флэш-накопитель USB, вы попадете в горячую воду.

С учетом сказанного, если работодатель разрешил вам использовать ваше собственное оборудование (например, ноутбук) или передавать материал, то это другой вопрос. После увольнения работодатель должен уведомить вас о том, что любые материалы должны быть возвращены / уничтожены.

Просто подумал, что опубликую этот ответ, потому что некоторые люди думают, что это серая зона. Я действительно не думаю, что если вы разработчик, то вам следует ходить по Интернету и публиковать копии своих материалов работодателя. Я имею в виду, что вы явно уже знали ответ на этот вопрос, потому что вы создали новую учетную запись, чтобы задать этот вопрос. ;)

Mathew Foscarini
источник
После увольнения работодатель должен уведомить вас о том, что любые материалы должны быть возвращены / уничтожены. Это правда? Является ли работодатель юридическим и / или договорным обязательством сделать это?
Раду Мурзеа
Работодатель не обязан по закону делать это, но он может в любое время потребовать, чтобы любые принадлежащие ему материалы были возвращены работнику, если только между работодателем и работником не существует соглашения, позволяющего работнику хранить эти материалы.
Reactgular
5

Я делал это в прошлом, несколько работ назад.

Однако я никогда не возвращался и не смотрел на это. Я иногда использовал идеи и вещи, которые узнал, но ни разу не нашел причины вернуться назад и посмотреть на код.

Так что я бы не стал больше беспокоиться. Это юридически сомнительно, и я никогда не находил это полезным на практике.

Johnb
источник
4

Конечно. Мне нравится хранить копии всей моей работы - пишу ли я код или нет. Назовите это альбомом, если хотите. Нарушение правил? Может быть.

Комментарии о конкурентном преимуществе не имеют значения, если только ваш следующий работодатель не является прямым конкурентом. Если вы переходите от телефонной компании к программному обеспечению или от разработчика игр к разработчику базы данных, это не имеет значения. Если вы на самом деле планируете повторно использовать код - это другая история.

Интересно, что вы часто слышите о веб-разработчиках, которые приносят с собой «ящик инструментов» со стандартным набором библиотек JavaScript и таблиц стилей CSS . Но я не видел, что упомянуто здесь.

Стив Беннетт
источник
3

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

Это было хорошее маленькое путешествие по переулку памяти, хотя :)

Энтони Скотт
источник
2

Я думаю, что должно быть различие между шаблоном дизайна и фактическим кодом (копирование построчно)

Записать какой-нибудь psuedocode как-то - это отличный способ отложенной загрузки X в Y - это одно. Записать весь код - это нечто другое.

PSU_Kardi
источник
1

С разрешения вашего работодателя опубликуйте аккуратный код многократного использования в качестве проектов с открытым исходным кодом для использования другими людьми. Тогда ваш работодатель также может воспользоваться вкладом других людей в этот кодекс.

Таким образом, вы можете хранить код на законных основаниях, создавать общедоступный портфель кода, который вы написали, и этот код может принести пользу другим людям.

Сарел Бота
источник
1

По разным причинам, таким как работа на дому, у вас также может быть копия, и я, например, не буду удалять ее после работы, зачем это делать? Это не противоречит моим убеждениям или чему-то еще.

Но, что касается его использования, это не так полезно, как сообщение в блоге!

Итог: напишите свой код, напишите в блоге о проблемах, с которыми вы столкнулись, и о том, как вы их решили (особенно если это общие и широкие вещи), и не возражайте против сохранения (возможно, зашифрованного) сувенира от последней работы.

Camilo Martin
источник
1

В финансах CFA решает эту проблему. Вам не разрешается принимать информацию, касающуюся клиентов или вашей работы в компании (в данном случае код). Но ничто не мешает вам запомнить то, что вы можете, а затем записать это позже.

Не уверен, насколько это законно, но я думаю, что лучше всего оставить исходный код, но записать свои идеи и то, как вы это сделали, как только вернетесь домой. Воровство - это воровство, и в суде все, что они пытаются выяснить, это решить, скопировали ли вы код или нет.

Peter Mortensen
источник
Имейте в виду, что некоторые работодатели сделают все возможное, чтобы помешать вам «записывать свои идеи», когда вы вернетесь домой. Сценарий проигрыша для них - не копируемый код, а конкуренция с ними - и для этого идеи гораздо лучше. Не уверен, что это возможно, но некоторые пытаются запугать вас, думая, что им принадлежат любые идеи, которые могут у вас возникнуть в рабочее время.
Андрес Ф.
1
@AndresF. Однажды я работал в хедж-фонде, который пытался предотвратить это. Они, честно говоря, не могли помешать этому, поэтому они заставляли людей подписывать неконкурентные контракты и платили за то, чтобы они не работали в течение 1-2 лет после ухода в отставку. Хотя это чрезвычайно дорого (вы платите зарплату за 2 года тому, кто на вас не работает), оно делает ваши знания устаревшими, когда вы уходите, и бесполезно в качестве конкурентной угрозы.
Lostsoul
+1 только за идеи, а не код. Был связан с компанией, которая подала в суд на бывшего программиста за кражу кода и продажу аналогичного продукта. Судья постановил, что, поскольку ошибки были идентичны, он, должно быть, украл код.
JQA
Я видел, что многие работодатели требуют, чтобы новый сотрудник письменно согласился с тем, что они не будут заниматься другой предпринимательской деятельностью, пока он работает, и любые другие проекты, выполняемые сотрудником на стороне, также являются собственностью работодателя. Я думаю, что этот предмет сам по себе является совершенно другой проблемой, но эти соглашения присутствуют в большинстве трудовых договоров.
Reactgular
@ MathewFoscarini Я согласен. В моей фирме мы требуем, чтобы сотрудники получили письменное разрешение, прежде чем заниматься чем-либо, от чего они получают выгоду (включая побочные проекты, благотворительную деятельность и т. Д.). Если вы почините машину соседей, а он купит вам пиво, это будет качество, хотя сотрудники понимают, что мы, скорее всего, не будем его преследовать.
Lostsoul
1

Если вы сохраняете свой код с целью его повторного использования позже, у меня есть две проблемы с этим:

  • Если код является специфичным для домена, он, вероятно, также является частным. В любом случае, нет двух одинаковых бизнесов или проблем, и попытка решить одну проблему с помощью решения другой - не очень хорошая модель.

  • Если код, который вы сохраняете, решает общую проблему, вам следует поставить под сомнение ваш подход. Почему вы тратите много усилий для решения общей проблемы, когда они, вероятно, существуют (и лучше) с открытым исходным кодом?

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

Если вы сохраняете свой код, потому что хотите показать его потенциальному работодателю или улучшить свои навыки, я предлагаю вам вместо этого внести свой вклад в проект с открытым исходным кодом.

David Veksler
источник
1
Второй пункт предполагает , что будет открытый исходный раствор, который далеко не уверен. Но самое главное, часть кода, который я сохранил, - это код, который демонстрирует, как я использовал сторонние компоненты / сервисы. Например, если я разрабатываю достойное платежное решение, которое интегрируется с Paypal, я воспользуюсь кодом, к которому я буду обращаться позже, - поэтому мне не нужно заново изобретать колесо в следующий раз.
cjmUK
0

Я еще не сохранил код, который я сделал для работодателей. Внештатный материал, который я сохранил (может быть сложно поддержать клиента, если я потеряю свой код).

Тем не менее, я рассматриваю возможность сохранить код, который я сделал для этого работодателя. Причина в том, что я веб-разработчик, и я разработал много вещей на стороне клиента, которые выглядят довольно симпатично. Я не проектировал их, но я реализовал их и часто придумывал идею. Я хотел бы сохранить копию этого материала для создания онлайн-портфолио. Как мы все знаем, сайты не вечны, поэтому я не могу реально рассчитывать на то, что моя работа останется в сети. Наличие резервной копии позволило бы мне иметь портфолио онлайн.

Я знаю, что дизайнеры часто хранят копии своих работ (даже если это была работа по найму) для портфолио.

Я не уверен, какова законность этого (это явно не указано в моем контракте).

Xandor Schiefer
источник
4
but what are your thoughts on this?Пожалуйста, не приглашайте открыто говорить о своем ответе, вводя другой вопрос. Вы говорите нам, если мы должны сохранить копию всего кода, который мы пишем. Вы можете улучшить ответ, отредактировав его.
maple_shaft
1
Я думаю, что есть разница в сохранении оригинальных исходных файлов (в вашем случае графических файлов, таких как .ai или .psd) и скриншотов конечного продукта для вашего портфолио. Вы все равно должны спросить разрешения у своего работодателя, но они должны быть более приемлемы для последнего.
Сарел Бота
Поскольку работа часто носит интерактивный характер, снимок экрана не собирается сокращать ее для портфолио. Это было бы только показать дизайн (который в основном не мой). Я мог бы сделать снимок экрана с моей работой, но это все еще не передает такие вещи, как задержка, производительность, кросс-браузерная совместимость.
Ксандор Шифер
0

Что ж, для разработки бизнес-логики для моей компании я не могу сохранить код, потому что это незаконная и личная собственность компании. Как разработчик, я знаю, как разработать эту логику, поэтому я могу держать эту логику в уме. По умолчанию он хранится в вашем уме, и если вам это понадобится в следующий раз, то автоматически вы должны реализовать логику / лучшую логику, чем предыдущая. Это человеческая природа и интеллект. :)

Но проблема возникает, когда вы разрабатываете какую-то служебную логику, они многократно используются и всегда важны, вам это может часто понадобиться в разных проектах. Так что вы должны хотеть держать это при себе.

У меня есть альтернативное решение для этого. Просто создайте JAR без исходного кода / документации для этих утилит и добавьте его в качестве внешнего стороннего JAR в свой проект. Вероятно, этим вы сможете подтвердить свою ответственность и самодовольство тем, что у вас есть код ;)

Soumyadip Das
источник
1
Другой подход к этому заключается в том, что когда я сталкиваюсь с полезным / повторно используемым фрагментом кода, который я хотел бы «взять с собой» ... я просто иду домой и пишу в блоге сообщение о конкретном API или методе, которая заинтересовала меня. Этот пост в блоге, конечно, не ссылается на моего работодателя и не использует построчно код, написанный на копейки моего работодателя.
Джоэл Мартинес
Если есть правила, то они должны быть анти-правилом. Который вы можете использовать в свою пользу. Это разные методы для достижения этой цели. Самое главное, чтобы работа была ясной.
Soumyadip Das
0

Я не держу код по простой причине: компания заплатила мне, чтобы я написал код для них. Я даю им свой код, и они дают мне мою зарплату. Парень, который сделал мой ланч, не может сохранить часть этого для себя, с чего бы код был другим?

Кроме того, как было сказано ранее, я ухожу с работы, все эти головные боли остаются там, новая работа, новое начало, но с немного большим опытом и пониманием типов проблем в области этой старой работы.

Scott S
источник