Могу ли я использовать лицензию MIT, чтобы передать часть своего предыдущего письменного кода работодателю, чтобы защитить себя и не потерять свои авторские права?


17

Моя ситуация:

  • Я написал рамки, прежде чем я начал свою новую работу. Я владею авторским правом.

  • Внутри него куча шаблонной логики, как у любого программного обеспечения. (Дух!)

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

  • Непрактично переосмыслить / переосмыслить всю логику с нуля. В нем много логики, а логика есть логика, вы не можете сделать это по-другому. Например, сколько разных версий HashMap вы можете кодировать? Бьюсь об заклад, они будут очень похожи, и третья версия может утверждать, что вы нарушили авторские права первой версии. :(

  • Нецелесообразно пытаться заново изобрести API. Можете ли вы заново изобрести API HashMap? Может быть , вы можете изменить put(k,v)к add(k,v), но не намного больше , чем это.

Моя идея защитить себя и мой предыдущий код:

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

Мои вопросы:

  • Я не распространяю свой код никому. Мне не нужно никому распространять свой лицензионный код MIT, если я владею авторскими правами, правильно? Я имею в виду, может ли кто-нибудь потребовать, чтобы я выпустил свой код, который, как я утверждаю, сейчас находится под лицензией MIT? Это не был бы конец света, и я, конечно, согласился бы сделать это под юридической угрозой.

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

Это все равно что утверждать, что у вас есть структура под лицензией MIT, без фактического распространения и / или показа кому-либо . Если это там, бесплатно и легко доступно, мои работодатели больше не нуждаются во мне. Они могут просто взять код и передать его кому-то другому.

Примечания:

  • Я перечислил эту структуру как предыдущее изобретение, прежде чем я начал работу.

  • Я нигде не выпустил этот код. Он находится на моем частном репозитории SVN, который я размещаю на своем частном сервере.

Моя идея в двух словах:

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

Ответы:


21

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

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

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

Несколько ключевых вещей с большинством лицензий с открытым исходным кодом (включая BSD, MIT, GPL) для владельцев авторских прав:

  1. Лицензия не изменяет ваше право собственности на авторское право. Это неисключительная лицензия, а не уступка или лишение права собственности. Использование лицензии на ОС не означает «превращение чего-либо в общественное достояние», хотя это, безусловно, один из подходов с открытым исходным кодом.
  2. Ничто не «заставляет» вас, владельца авторских прав, каким-либо образом обнародовать код только потому, что вы прикрепляете к нему лицензию.
  3. Но если вы используете лицензию на ОС, вы не можете помешать любому, кто «получает» ваш лицензионный код ОС, каким-либо образом сделать его общедоступным, что явно входит в их права по всем этим лицензиям.
  4. Лицензии с авторским левом (например, GPL) требуют, чтобы получатели (но не владельцы) делали свои производные работы общедоступными и открытыми. Разрешительные (MIT, BSD) нет. (это может быть немного упрощением, но это существенная разница)
  5. В большинстве лицензий с открытым исходным кодом (например, MIT) нет условия «возврата», поэтому, как только кто-то «получил» ваш код, он имеет право использовать его постоянно, в соответствии с условиями лицензии, на которых он был получен.
  6. Вы всегда можете распространять будущие версии своего кода под другой лицензией или сохранять их полностью закрытыми. Это не мешает кому-то начинать с вашей предыдущей версии с открытым исходным кодом (при условии, что они «ее получили»), добавлять свои новые части и распространять ее.
  7. Вы можете удалить канал «получения» для предыдущих версий вашего кода, например, снять его с github. Однако, как уже упоминалось, это никоим образом не мешает другим использовать или распространять любые предыдущие версии, открытые у вас.

На этой основе я перейду к вашим вопросам.

Я не распространяю свой код никому. Мне не нужно никому распространять свой лицензионный код MIT, если я владею авторскими правами, правильно? Я имею в виду, может ли кто-нибудь потребовать, чтобы я выпустил свой код, который, как я теперь утверждаю, под лицензией MIT? Это не был бы конец света, и я, конечно, согласился бы сделать это под юридической угрозой. ... В то же время я не хочу никому распространять этот код как проект с открытым исходным кодом.

Как правообладатель, вам не нужно никому распространять код; вам не придется выполнять такие запросы (даже если это была лицензия GPL). Вы сохраняете все права. Тем не менее, в описанной вами ситуации вы будете распространять свою новую компанию и лицензировать ее для них на постоянной основе под лицензией ОС. Ваш работодатель (более вероятно, бывший работодатель) может вставить ваш код в Интернет, и вы не сможете ничего с этим поделать, кроме ворчания.

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

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

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

Но, по-видимому, основная, законная ваша озабоченность заключается в том, что вы по-прежнему сможете сохранять авторские права и использовать свой код в будущем, при этом работодатель не будет заявлять, что код принадлежит им, или что вы не имеете права делать это. Ключом к этому является создание неопровержимого доказательства того, что A) вы сохраняете авторские права на свою предыдущую работу и предоставляете ее им в соответствии с условиями лицензии X (MIT работает, если вы согласны с аспектом открытого исходного кода, описанным выше. ) Б) они согласны с этими условиями, и в) что, точно, предыдущая работа была.

Для (A) и (B) вы можете заставить их подписать или согласиться в письменной форме с тем, что ссылается на лицензию или включает ее, и что они понимают, что вы вносите код в таблицу в соответствии с этими условиями. Что касается (C), я не уверен, каким был бы стандартный способ сделать это, но быть логичным. Если это не очень много, вы можете просто распечатать код и включить его в приложение в копии соглашения, которое подписываете вы и ваш работодатель. Сохраните свою копию с подписью. Если он слишком велик для практической печати, кажется, что здесь пригодится хэш md5. Возможно, вы могли бы сослаться на это как что-то вроде «zip-файла с именем X в частном репозитории github /, (или на ftp-сайте и т. Д.), Который имеет хэш md5 XXXXXX ... и был отправлен по электронной почте представителю компании Y на Z Дата". Затем вы можете отправить его по электронной почте своему менеджеру, его адвокату или кому-либо еще из вашей личной учетной записи электронной почты, и даже если они удалят их копию, вы все равно сохраните свою, и они не смогут утверждать, что вы предсказали будущий хэш кода md5, который еще не написан. , Это теоретически не позволило бы им требовать что-либо еще в будущем.


Это круто, Бен. Спасибо за вашу помощь. Я уже работаю, поэтому мне интересно, будет ли письмо по электронной почте моему менеджеру с указанием ситуации и условий лицензии от меня им будет достаточно. Затем я включил бы лицензию (Copyright (c) МОЕ ИМЯ - Лицензия, предоставленную КОМПАНИИ бла, бла, бла) в каждый исходный код, который я привожу. Что вы думаете?
JohnPristine

Электронные письма, безусловно, могут быть свидетельством понимания или соглашения, например, контракта. Если вы предлагаете принести код на стол на определенных условиях, и лицо, имеющее полномочия в компании, с этим согласится, похоже, что это создаст контракт достаточно хорошо. Я думаю, что ваше представление о (C) / условиях лицензии в каждом файле также является хорошим. Вопрос в том, сохраните ли вы (C) улучшения для файлов или нет. Если нет, вы можете захотеть сделать запись оригинальных версий файлов, для которых вы сохраняете единоличную (C), например, с помощью zip-файла и хеша md5, отправленных вашему менеджеру.
Бен Робертс

Отличный ответ, спасибо. Очень хорошо подробно и сформулировано.
Хайлем

6

(Я не юрист.)

Я вижу несколько потенциальных проблем с этим:

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

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


1) Я планирую сделать это с помощью файла лицензии вместе с кодом компании, заявив, что он основан на производной работе с лицензией MIT. Чтобы доказать, что это было написано, прежде чем я планирую считать с моей предыдущей декларации формы изобретения. 2) Идеи не защищены авторским правом, если нет патента. Код защищен авторским правом. Задача состоит в том, как повторно напечатать / повторно реализовать / повторно использовать идею, не нарушая авторских прав от исходного кода, который реализован.
JohnPristine

2
Это правда, что идеи не защищены авторским правом, но могут считаться «коммерческими секретами» или «ноу-хау» или (если они патентоспособны) «патентоспособными идеями» или другим типом «интеллектуальной собственности», которая, как вы, вероятно, согласились, принадлежит компании. Это своего рода грязный район.
Бен Робертс

4

Я не юрист, но это было бы моим решением:

  1. Выпустите код под лицензией GNU GPL v3 в общедоступном хранилище, где все смогут его увидеть.

  2. Лицензия GPL не позволяет другим людям брать ваш код, помещать его в свое проприетарное коммерческое программное обеспечение и закрывать код.

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

  4. Это решение докажет, что вы написали свой код, прежде чем вы взяли работу.

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


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

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

2

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

Однако, если вы лицензируете свой текущий код MIT, нет никаких причин, по которым ваш работодатель должен открывать исходный код своей модифицированной версии (измененной вами), поэтому я бы сказал, что это не решает много проблем. Даже LGPL не решит эту проблему, пока код не «распределен».

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


Да! Это всегда лучший подход, с которым я должен согласиться. Просто будь смелым и спроси. Если они думают, что вы странно спрашиваете об этом, тогда начинайте искать другую работу. Так просто, как, что. Жизнь это все о честности и рисках. :)
JohnPristine

2

IANAL, спросите настоящего юриста и т. Д.

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

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

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

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.