Це може бути для вас занадто пізно, оскільки ви, можливо, вже домовились зробити це договірно, і ви могли погодитися на взаємно несумісні умови з різними клієнтами.
Є два способи, якими Ви можете надати своїм клієнтам вихідний код. Право власності на авторське право та ліцензію.
Деякі клієнти захочуть право власності на вихідний код. Це означає, що в кінці процесу вони будуть платити вам гроші, і ви в обмін дасте їм авторські права на створений для них код. Однією з причин цього є те, якщо вони бачать значний потенціал інтелектуальної власності у вихідному коді і, можливо, хочуть оцінити це на балансі своєї компанії. У цьому випадку ви не матимете права на продовження використання цього вихідного коду для інших проектів, якщо ви також не отримаєте ліцензію від свого замовника, який дає вам це право.
Якщо ваш клієнт купує у вас продукт "з полиці", він очікує отримання ліцензії на використання програмного забезпечення, а не володіння вихідним кодом. Вони повинні очікувати, що ви продаєте те саме (або подібне) програмне забезпечення для багатьох інших організацій, і що вони, сподіваючись, виграють від меншої вартості придбання за рахунок ширшої бази клієнтів.
Однак ситуація в цьому питанні - це суперечка двох.
Ось що я хотів би зробити. Я надаю вашому клієнту ліцензію на використання (і зміну) вашого спільного коду. Якщо я запитав замовника, я зазначу, що це спільний код, який ви вже використовували в декількох проектах і маєте поточні ставки для майбутніх робіт, які базуються на тому, що ви продовжуєте використовувати цю роботу. зауважте, що це призвело до скорочення часу на цей проект для вашого замовника, і що він заплатив нижчу ціну. Як і інші спільні бібліотеки коду, що використовуються проектом, вони мають ліцензію на використання цього коду та дозволити іншим командам розробників розробляти цей та інші проекти на базі цієї бібліотеки. Однак, якщо вони бажають володіти всім кодом, ви готові створити заміну, але це буде додатковою платою.
Залежно від того, що ви вже взяли на себе зобов’язання, вам, можливо, доведеться написати функцію заміни безкоштовно або подати вихідний код.
Пам'ятайте, існують різні типи бібліотек. Стандартна бібліотека шаблонів в C ++ - хороший приклад бібліотеки, яка включена на рівні вихідного коду і складена у виконуваний проект, який може бути досить схожим на те, як ви використовували ваш загальний код.