Крім того, IANAL - тому я рекомендую проконсультуватися з адвокатом, який спеціально розбирається або спеціалізується на питаннях програмного забезпечення інтелектуальної власності .
Але я вважаю, що відповідь є досить однозначною: 1. Я не думаю, що немає потреби обговорювати термін "відкритий код" з клієнтом (читайте вперед, перш ніж формувати думку щодо цієї заяви). 2. У своєму договорі ви чітко потрібно констатувати наступне: a. Будь-яка робота, яку ви створюєте для клієнта, ОБ'ЄДНАТО ВЛАСНИЙ, і кожен може створювати похідні робочі продукти. Це означає, що кожен з них може використовувати його так, як вам здається, включаючи внесок у проект з відкритим кодом (зверніться до вимог ІР щодо проекту з відкритим кодом). б. Ви зберігаєте право власності на будь-який попередній робочий продукт, який вам досить приємно включити безкоштовно, і ви видаєте клієнту необмежену ліцензію на безперервне використання цього коду, включаючи створення похідних творів c.
Ви також хочете зробити БЕЗПЕЧНО впевненим, що ви ніколи не будете підписувати будь-які контракти із застереженням «Про призначення винаходів», яке не є надзвичайно обмеженим (вони ніколи не є) - або ви можете бути юридично СОЛ. Зауважте, що існує кілька штатів (тобто Каліфорнія), які обмежують (але не усувають) це законом незалежно від того, що йдеться в договорі. Це очікується в трудовому договорі (але ліміти можуть бути домовлені), однак ІМХО не повинен надаватися для незалежного контрактного контракту.
Вашим найбільшим викликом буде змусити їх прийняти спільне право власності на вихідний код. Це суперечить доктрині "Робота, прийнята за найм", що є специфічною мовою, яка дуже часто використовується в контрактах на розробку програмного забезпечення при використанні підрядників.
Якщо вони розуміють IP, вони можуть не погодитися з цим - але я здогадуюсь, що це не той тип клієнтів, з яким ви маєте справу. Я можу сказати вам з упевненістю, що існує принаймні одна надзвичайно велика компанія програмного забезпечення, яка робить це для будь-якого консалтингового / користувальницького коду, написаного для будь-якого клієнта - і якщо він не погодиться на це, то вони цього не зроблять - період ( але вони віднесуть їх до партнера).
Якщо у вас є спільна власність, вам слід добре додати IP-код до проекту з відкритим кодом з урахуванням будь-яких обмежень, передбачених цим проектом.
Ви також хочете бути вибірковими в тому, що ви відкриваєте. Ви б робили своєму клієнтові послугу, якщо ви відкриєте джерело специфічного коду, який був би корисний їх прямим конкурентам. Ваш клієнт також буде менш ніж задоволений, якщо зрозуміє, що вся програма, яку вони вам заплатили за те, щоб на них написати, доступна безкоштовно - і навіть спочатку могла подумати, що ви її просто встановили, а не писали з нуля. Ви також просто зменшили їхню сприйнятість ваших послуг.
Я думаю, що це стосується ваших питань 1,2 та 4.
Питання 3 може бути проблемою - залежно від моделі ліцензування проекту з відкритим кодом, з якого ви створюєте похідну роботу, клієнт, безумовно, може вам заплатити за це, але вони можуть не мати повного або навіть жодного права власності на цей код на модель ліцензування проекту з відкритим кодом. Це не означає, що ви не можете цього зробити, але ви можете захопити це додатковою умовою у своєму контракті - і запустити його адвокатом по захисту прав інтелектуальної власності - або зробити це лише після того, як клієнт попросить вас це зробити - і то, можливо, ви зможете стягнути витрати з перегляду адвокатом додатку до вашого контракту, який охоплює цю ситуацію.