Законно ли воссоздать / с открытым исходным кодом программу, которую вы ранее закодировали для другой компании

49

На моей предыдущей работе я создал общую панель управления для автоматизации задач, которая оказалась весьма полезной - и, конечно, мой предыдущий работодатель владеет всем кодом, который я написал, пока работал там. Теперь, когда меня больше нет, законно ли мне воссоздавать эту панель из памяти и открывать исходный код? Если я воссоздаю его, код (может быть, 2–3 тыс. Строк) может быть почти идентичен оригиналу, поскольку у меня довольно хорошая память и я стараюсь следовать своему обычному стилю кодирования и соглашениям по присвоению имен.

Редактировать: немного больше информации - это довольно общее программное обеспечение, которое используется только внутри небольшой группы (<10) в рамках глобальной корпорации. «Компания» даже не знает об этой системе, потому что я создаю ее по собственной инициативе. Он построен на Python / Django. И под почти одинаковым я имею в виду, что, например, модели django будут иметь одинаковые имена / поля, а представления будут использовать похожие запросы для возврата одинаковых наборов объектов.

kefeizhou
источник
15
Вы обращались к ним по поводу открытого кода? Если это не является частью их основного бизнеса по зарабатыванию денег, они могут быть рады сделать это, и это также будет иметь дополнительное преимущество, предоставляя им новые функции бесплатно, при условии, что ваши или другие будут расширять его.
dodgy_coder
3
в значительной степени все контракты, независимо от того, что вы делаете для своего работодателя, записано это или нет, являются его интеллектуальной собственностью. Следовательно, выплевывая это снова и делая доступным для кого-то, кто не говорит, что контракт является нарушением контракта.
Стейн
1
Теоретически законно, но удача доказывает это в суде. :(
SF.
6
Интересным различием здесь является различие между «законным» и «этическим». В большинстве случаев, если вам нужно задать вопрос, это потому, что вы уже знаете ответ и просто не хотите его признавать.
Джоэл Этертон
1
Если это была универсальная функция, то было бы прекрасно использовать ее где угодно и даже размещать в Интернете. Так почему же набор функций так сильно отличается?
kefeizhou

Ответы:

35

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

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

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

Я бы также посоветовал подумать о том, как улучшить программу, сделать ее более расширяемой и т. Д. Во второй раз, когда вы что-то делаете, почти всегда намного лучше, чем в первом, потому что вы можете избежать всего «Я хотел бы, чтобы я сделал это так, Таким образом, проектные решения, которые вы, возможно, приняли в первый раз.

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

mcottle
источник
5
если вы хотите сохранить тот же язык, подумайте о написании «почти» того же кода, но об изменении пользовательского интерфейса . Как сказал Макоттл, вы можете улучшить его, и если веб-страница выглядит совершенно иначе, даже несмотря на то, что на ней «почти» точно такой же код, что и у вас, вы уходите от проблем с судебным иском.
Оливье Понс
1
Части кода, включая пользовательский интерфейс, могут отличаться, но некоторые могут оказаться одинаковыми по разным причинам (стиль персонального кодирования и т. Д.). Как далеко я должен идти, чтобы быть на 100% в открытом виде?
kefeizhou
1
-1 за "не кажется законным". Предложения хорошие, но проблемы практические, а не юридические.
Шон Макмиллан
2
Какого черта все думают, когда вы переписываете что-то с нуля, вы делаете что-то лучше? Вы можете сделать что-то хуже.
Клемент Херреман
2
@ClementHerreman: согласен. Иногда лучше пойти с чем-то, что было доказано в действии. Если вы переписываете с нуля, вы можете внести множество улучшений, но также внести и новые ошибки.
kefeizhou
21

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

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

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

кашка
источник
Почти всегда любой работодатель, который заботится о владении конечным продуктом, не позволит сотруднику, который его создал, распространять его любым другим способом с их согласия. Иначе какова цель обладания этим?
Джо З.
14

Какому типу программистов дали возможность воссоздать то, что они делали ранее (извлеченные уроки и т. Если вы не верите, что закодировали что-то совершенное ??? В этот момент у вас есть большие вопросы, чтобы задать себе.

Мэтт Фрёман
источник
10
ленивый вид с не так много времени. Я предпочел бы просто использовать то, что работает, чем пытаться решить одну и ту же проблему дважды в этом конкретном случае.
kefeizhou
8

Панели инструментов - десять центов. Ваш работодатель никогда не владел IP этой идеи. Ваш работодатель сделал владельцем авторских прав на осуществление конкретного.

Вы можете написать новый код с нуля. Это означает, что работа не является производной работой. Разумно вести записи, чтобы вы могли доказать это.

MSalters
источник
Последнее обновление: theregister.co.uk/2011/09/30/software_copyright . Ожидается, что Европейский суд прямо заявит, что пользовательский интерфейс сам по себе не защищен авторским правом, поскольку он подпадает под «идеи и принципы» программного обеспечения.
MSalters
5

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

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

tdammers
источник
3
Я не верю, что именно так определяются производные работы - я думаю, что вам действительно нужно включить их часть.
Шон Макмиллан
Зависит от юрисдикции и толкования, но «получить» не обязательно означает «включать части».
tdammers
1
@tdammers: Да, но это делает бесполезным спрашивать здесь. Мы вообще не юристы, а те, кто не являются адвокатами ОП. Мы не можем ответить на конкретные юридические вопросы (и отметим, что то, что составляет «производную работу», является горячей темой для обсуждения в мире F / OSS).
Дэвид Торнли
Ну, я хочу сказать, что даже если вы воссоздаете вещь по памяти, вам будет сложно доказать, что она не получена, когда судья / жюри узнают, что вы также написали оригинал, который выглядит точно так же, как новый, на который вы претендуете. это не производная работа. «Невинный до тех пор, пока его вина не доказана» не распространяется на частное право.
tdammers
4

В США, если ваш бывший работодатель решит подать в суд на вас, у вас будут проблемы, независимо от того, что думают судьи.

Теоретически, ваша компания владеет вашей работой, а не вашим мозгом. Следовательно, если вы снова выполняете работу в свое время, они не должны этим владеть. В конце концов, они наняли вас из-за того, что вы знали до того, как наняли вас. Кажется нелогичным предполагать, что они могут воспользоваться вашими предыдущими знаниями, но в то же время отказать вам в том же после того, как вы ушли. Но IANAL тоже.

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

bastibe
источник
3

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

Теперь по вопросу:

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

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

Мораль этой истории: в следующий раз сделайте это с открытым исходным кодом с самого начала.

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

(а) Не пользуйтесь юридическими советами из интернета (включая этот совет!)

(б) Подать в суд - это настоящая боль в спине, даже если вы выиграли

(c) Похоже, вы думаете, что нет никакого реального риска быть предъявленным иск. Если так, то, вероятно, не имеет значения, имеете ли вы право частного права делать это.

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

Marcin
источник
0

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

hotpaw2
источник
0

Вот простой способ: -Откройте панель инструментов из общедоступного URL. - Подумайте о лучших способах сделать это легче / лучше / так далее. -Перепишите его на другом языке, как было предложено ранее. Хорошая причина для изучения рубина, хаскелла, лиспа и так далее. - Затем сделайте проект с открытым исходным кодом. не стесняйтесь добавлять «вдохновленный ...» и ссылаться на оригинальный сайт.

ZeusTheTrueGod
источник
0

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

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

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

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

Это дисфункциональное состояние нынешней системы, в которой мы не владеем продуктом нашего труда. Некоторые из наиболее успешных обществ, в которых люди могут свободно получать прибыль от своих собственных усилий. Вы можете сравнить эту ситуацию с феодальной собственностью на землю и проблемами, которые она создала. В какой-то момент люди будут вести бизнес по-другому. Как гугл 1/5 вашего времени для ваших собственных проектов.

nelaaro
источник
0

Конечно, все это сводится к договору между вами и клиентом. Если вы планировали сделать это, у вас должен был быть пункт, в котором говорится, что «этот источник остается интеллектуальной собственностью kefeizhou ...» или что-то в этом роде (я знаю, что сейчас 20/20). Я согласен с другими комментариями о том, что Programmers SE - не лучший источник легальных советов, и что это законно или нет, это ставит вас перед проблемами. Кстати, я работал графическим дизайнером, и в этой отрасли почти вся работа оставалась за клиентом, а не за дизайнером.

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

Во Франции это незаконно.

Владелец кода - ваш бывший начальник. Независимо от того, как вы извлекаете его, с USB-накопителя или из вашей памяти.

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

mouviciel
источник
Конечно, у каждой компании есть своя политика в этом, а не общенациональный закон? Я думал, что это будет что-то, что в контракте сотрудника компании, если что-нибудь.
dodgy_coder
По умолчанию вы получаете зарплату в обмен на написание своего кода. Хотя такая возможность может существовать, я не знаю альтернативных политик. Иное дело, если вы фрилансер и продаете приложения или библиотеки, в этом случае вы являетесь боссом и владеете своим кодом.
Мувисиэль
Хорошо, что я не во Франции.
kefeizhou
1
Могу ли я дать Франции -1? Извлечение из памяти не то же самое, что с диска.
Шон Макмиллан
2
Означает ли это, что во Франции, если вы реализуете алгоритм или пишете какую-то программу, вы никогда не сможете реализовать этот алгоритм или написать такую ​​программу для другого работодателя?
Дэвид Торнли