Чи законно використовувати код у проектах інших клієнтів?


22

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

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

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

Тож, що було б найкращим способом вирішити цей сценарій?

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

Сподіваюся, я прояснив свою ситуацію. Я з нетерпінням чекаю на ваші відповіді.


Ви вже встановили офіційний контракт із замовником?
Томас Оуенс

Ні, на даний момент я перебуваю у фазі стругання. До цих пір я говорив із замовником лише про вимоги.
Flo

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

8
Вам слід проконсультуватися з юристом, а не покладатися на здогадки групи програмістів, які не знають подробиць вашої ситуації та місцевого законодавства.
Пол Томблін

Відповіді:


26

Перед тим, як розпочати проект, слід визначитися , хто збереже право власності на код.

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


6
Можливо, вам буде запропонувати угоду, в якій ви можете повторно використовувати код, але не в проектах для своїх клієнтів. Це здається більш приємним з їх точки зору.
Еміліо М Бумачар

4
Якщо вони заперечують, звичайний варіант - цитувати 2рат. 1, якщо я можу повторно використовувати існуючий код і бібліотеки, і 2. кількість 10 разів стільки, якщо мені доведеться відтворити все з нуля лише для цього проекту. На практиці ви трохи вказуєте на "повторне використання стандартного коду та бібліотек", щоб покрити себе, і ніхто ніколи не помічає і не піклується.
Мартін Беккет

3
+1 до Мартіна Беккета. У будь-якому проекті ви повинні мати дві бази коду; Набір "загальних" бібліотек, що містять код із глобальним додатком, який ви "ліцензуєте" своїм клієнтам, та "спеціальний" код, яким ваш клієнт фактично володітиме після завершення. Ви можете застерегти в договорі, що розвиток "загальних" бібліотек з новими можливостями у відповідь на вимоги цього проекту все ще підлягає оплаті. Вам доведеться домовитися з клієнтом у кожному конкретному випадку про те, що кваліфікується як "загальне"; клієнт може захотіти базу коду, яка не повністю залежить від вашого ліцензованого коду.
KeithS

6

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

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


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

4

На сьогодні відповіді були чудовими. Я від усієї думки погоджуюся з порадою:

  • запитати юриста
  • складайте договір щоразу, коли працюєте з ким-небудь
  • продовжуйте працювати зі своїм юристом
  • прибуток!

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

Це може не працювати для вас, але воно працювало для мене протягом багатьох років:

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

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

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

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

І поговоріть з юристом!


3

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

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

Якщо мені доведеться, чи можу я все-таки зберігати її копію та використовувати її згодом? Чи потрібно просити замовника повторно використовувати код?

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

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

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


1
-1, Немає причини, по якій ви не можете поширити вихідний код, навіть якщо він у вас є.
user606723

@ user606723 Ви прочитаєте будь-ласка повне речення? However, distributing code (to someone else) if the deal was exclusive, is not right.тобто, якщо ви розробили ексклюзивний код для клієнта, який поширює когось іншого, не підходить!
Діпан Мехта

"Або ви можете сказати їм, що клієнту доведеться платити менше, але ви юридично володієте джерелом. Ви можете постачати / встановлювати двійкові файли лише клієнтові. " <- це те, про що я маю на увазі. Ви можете надати неексклюзивні права на вихідний код.
користувач606723

@ user606723 Чи не так це в моїй відповіді? alternatively you can tell them customer will have to pay less but you are legally owning the source- у чому сенс розбіжностей?
Діпан Мехта

1
@DipanMehta: Я погоджуюся з користувачем606723; і остання редакція не усунула проблему. Проблема полягає в тому, що "[...] альтернативно ви можете сказати їм, що клієнту доведеться платити менше, але ви юридично володієте джерелом. Ви можете постачати / встановлювати бінарну версію програмного забезпечення для клієнтів [...]" це звучить так, ніби ви не можете надати клієнтам вихідний код, якщо ви хочете все-таки володіти ним. Справа в тому, що ви все ще можете ліцензувати вихідний код на них для конкретних цілей, не відмовляючись від права власності та / або відмовляючись від усіх прав.
ruakh

-1

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

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


1
Звичайно, все це повинно було б бути розкрито клієнту.
користувач606723

1
Ні, не буде. Ліцензії, такі як Apache або MIT, дозволяють використовувати комерційне використання.
Дунайський матрос

-1

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

  1. Ви можете дати права або ви можете надавати ексклюзивні права.
  2. Якщо ви надаєте ексклюзивні права, ви можете зберігати, що в рамках угоди ви зберігаєте невиключні права. (Це дозволить вам використовувати код / ​​програму особисто)
  3. Навіть якщо ви не надаєте ексклюзивні права, ви все одно можете надавати невиключні права на використання, зміну та розповсюдження вихідного коду. Два не є взаємовиключними.

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