Законно ли повторно использовать код в проектах других клиентов?

22

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

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

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

Так что было бы для меня лучшим способом справиться с этим сценарием?

  • Кому принадлежит исходный код приложения?
  • Должен ли я предоставить исходный код заказчику, когда он заплатил за разработку?
  • Если мне нужно, могу ли я сохранить копию и использовать ее позже?
  • Нужно ли просить клиента повторно использовать код?
  • Нужно ли работать с какой-то моделью лицензирования здесь. И пусть первый клиент оплатит только определенную часть разработки, чтобы я мог без проблем использовать код?

Надеюсь, я прояснил ситуацию. Я с нетерпением жду ваших ответов.

Фло
источник
Вы уже заключили официальный контракт с заказчиком?
Томас Оуэнс
Нет, в данный момент я на стадии планирования. До сих пор я только говорил с клиентом о требованиях.
Flo
5
@Flo - написать контракт, который решает все эти проблемы. По умолчанию авторские права принадлежат вам как автору. Конечно, если вы согласны с договором, в котором говорится иначе, это на вас.
Ramhound
8
Вам следует проконсультироваться с юристом, а не полагаться на догадки группы программистов, которые не знают подробностей вашей ситуации и ваших местных законов.
Пол Томблин
1
Связанный: stackoverflow.com/questions/900803
Роберт Харви

Ответы:

26

Перед началом проекта вы должны решить , кто будет поддерживать право собственности на код.

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

Том
источник
6
В ваших интересах предложить сделку, в которой вы можете повторно использовать код, но не в проектах для конкурентов вашего клиента. Это кажется более приемлемым с их точки зрения.
Эмилио М Бумачар
4
Если они возражают, обычным вариантом является процитировать 2rate. 1, если я могу повторно использовать существующий код и библиотеки, и 2. количество в 10 раз больше, если мне нужно воссоздать все с нуля только для этого проекта. На практике вы вкладываете немного в «повторное использование стандартного кода и библиотек» просто для того, чтобы прикрыть себя, и никто никогда не замечает и не заботится.
Мартин Беккет
3
+1 к Мартину Беккету. У вас должно быть две кодовые базы в любом проекте; Набор «общих» библиотек, содержащий код с глобальным приложением, которое вы «лицензируете» для своих клиентов, и «пользовательский» код, который фактически будет принадлежать вашему клиенту по завершении. В договоре можно указать, что разработка «общих» библиотек с новыми функциями в соответствии с требованиями этого проекта по-прежнему оплачивается. Вам придется договариваться с клиентом в каждом конкретном случае о том, что считается «общим»; клиенту может потребоваться кодовая база, которая не полностью зависит от вашего лицензионного кода.
KeithS
6

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

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

Томас Оуэнс
источник
7
+1 Я также хотел бы добавить, что получение юридической консультации или помощь в написании вашего первого контракта - хорошая идея, чтобы вы могли сделать это правильно. В большинстве случаев большинство сделок очень похожи, поэтому довольно легко использовать ваши старые контракты в качестве шаблона для ваших контрактов, которые вы пишете для новых клиентов позже.
maple_shaft
4

Ответы до сих пор были отличными. Я искренне согласен с советом:

  • спросить адвоката
  • составлять контракт каждый раз, когда вы работаете с кем-либо
  • продолжать работать с вашим адвокатом
  • прибыль!

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

Это может не сработать для вас, но это сработало для меня на протяжении многих лет:

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

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

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

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

И поговорить с адвокатом!

jcmeloni
источник
3

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

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

Если мне нужно, могу ли я сохранить копию и использовать ее позже? Нужно ли просить клиента повторно использовать код?

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

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

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

Дипан Мехта
источник
1
-1, нет причины, по которой вы не можете распространять исходный код, даже если вы им владеете.
user606723
@ user606723 не могли бы вы прочитать предложение полностью? However, distributing code (to someone else) if the deal was exclusive, is not right.т. е. если вы разработали эксклюзивный код для клиента, распространяющий его кому-то другому, не подходит!
Дипан Мехта
«В качестве альтернативы вы можете сказать им, что клиенту придется платить меньше, но вы по закону владеете источником. Вы можете поставить / установить бинарный файл только для клиента». <- это то, что я имею в виду. Вы можете дать неисключительные права на исходный код.
user606723
@ user606723 Разве это не отражено в моем ответе? alternatively you can tell them customer will have to pay less but you are legally owning the source- в чем смысл несогласия?
Дипан Мехта
1
@DipanMehta: я согласен с user606723; и ваше последнее изменение не устранило проблему. Проблема заключается в том, что «[...] альтернативно вы можете сказать им, что клиенту придется платить меньше, но вы по закону владеете источником. Вы можете поставлять / устанавливать только двоичную версию программного обеспечения для клиентов, [...] это звучит так, как будто вы не можете предоставить покупателям исходный код, если хотите сохранить его. Дело в том, что вы по-прежнему можете лицензировать исходный код для них в определенных целях, не отказываясь от права собственности и / или не отказываясь от всех прав.
Руах
-1

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

Проблема будет в том, если вы повторно используете интерфейс или бизнес-логику или даже перепродаете тот же проект кому-то другому. Сервисный код - это то, о чем клиент обычно не знает и ему все равно.

Дунайский моряк
источник
1
Конечно, все это должно быть раскрыто клиенту.
user606723
1
Нет, не будет. Лицензии, такие как Apache или MIT, разрешают коммерческое использование.
Дунайский моряк
-1

Другие ответы упрощают вещи. Я не хочу иметь полный ответ, просто чтобы указать на несколько вещей.

  1. Вы можете дать права или эксклюзивные права.
  2. Если вы предоставляете исключительные права, вы можете утверждать, что в рамках соглашения вы сохраните неисключительные права. (Это позволит вам использовать код / ​​программу лично)
  3. Даже если вы не предоставляете исключительные права, вы все равно можете предоставить неисключительные права на использование, изменение и распространение исходного кода. Два не являются взаимоисключающими.
user606723
источник
-1 твой ответ не касается НИКАКОГО пункта, о котором другие не говорили раньше!
Дипан Мехта