Към съдържанието
PN Scripts

Разработка

Чий е кодът и акаунтите, когато наемете разработчик

  • PN Scripts Team
  • 6 мин четене

Когато плащате за софтуер по поръчка, трябва да притежавате кода, интелектуалната собственост върху него и всеки акаунт, на който продуктът работи: хранилището с кода, хостинга, домейна, страниците в магазините за приложения и външните услуги. Нищо от това не става автоматично. Договорът трябва да прехвърля правата писмено, а акаунтите трябва да са открити на името на вашата фирма от самото начало, като разработчикът е поканен като потребител. Ако и двете са изпълнени, можете да смените разработчика по всяко време, без да загубите продукта си.

Статията разглежда практическата страна на въпроса. Тя не е правен съвет, а правилата се различават в отделните държави, затова дайте самия договор на юрист за преглед.

#Чий е кодът по подразбиране

Много възложители смятат, че с плащането на фактурата кодът става техен. В много държави авторските права върху софтуер, написан от външен изпълнител, остават у автора, освен ако писмено споразумение не ги прехвърля или не дава лиценз. Работата на служител обикновено се урежда различно от тази на външен изпълнител, което е още една причина условията да са записани, вместо да разчитате на предположения.

Договорът за разработка трябва да казва ясно:

  • Какво се прехвърля: изходният код, дизайнът, документацията, структурата на базата данни и всички други материали, създадени за проекта.
  • Кога се прехвърля: при плащане на всеки етап или при окончателното плащане. Прехвърлянето по етапи ви пази, ако отношенията приключат по средата.
  • Какво остава у разработчика: общи инструменти, библиотеки и ноу-хау, създадени преди вашия проект и използвани за различни клиенти. Нормално е разработчикът да ги запази и да ви даде безсрочен лиценз да ги ползвате в продукта си. Договорът трябва да ги изброява или описва, за да няма спорове по-късно.
  • Чужди компоненти: кои open source и платени компоненти се използват и под какви лицензи.
  • Поверителност: как се третират бизнес данните и достъпите ви по време на проекта и след него.

#Акаунтите са на ваше име от първия ден

Собствеността върху кода няма голяма стойност, ако някой друг контролира местата, където той се съхранява и работи. Правилото е просто: всеки акаунт е регистриран на вашата фирма, с ваш имейл и ваши данни за плащане, а разработчикът получава достъп като потребител или администратор, когото можете да премахнете.

АкаунтКакво да проверите
Хранилище за код (GitHub, GitLab, Bitbucket)Организацията или работното пространство е ваше и вие имате ролята на собственик.
Регистратор на домейнаДомейнът е регистриран на вашата фирма като титуляр и можете да влезете в акаунта при регистратора.
Хостинг или облакДоговорът и плащанията са на ваше име и имате пълен администраторски достъп.
Apple Developer и Google Play ConsoleПриложенията са публикувани във вашия акаунт за разработчици и имате ролята на администратор или титуляр на акаунта.
Плащания, имейл, карти, статистика, проследяване на грешкиВсяка услуга е регистрирана на вас, а API ключовете са издадени от вашия акаунт.

Домейните изискват специално внимание, защото законен титуляр на домейна е този, който е записан в регистрацията, каквото и да е било уговорено устно. Регистрацията и прехвърлянето на домейни са описани подробно в статията какво е домейн и как работи DNS. При мобилните приложения капанът е подобен: прехвърлянето на приложение между акаунти за разработчици е възможно, но е по-бавно и по-неудобно от публикуването във ваш собствен акаунт още от първата версия.

Ако разработчикът настоява да държи продукта ви в своя хостинг акаунт „за по-лесно“, попитайте какво става, когато решите да си тръгнете. Може да има основателни причини за управляван хостинг, но акаунтът пак трябва да е ваш или да имате писмен и проверен начин за излизане.

#Open source лицензи във вашия проект

Почти всяко съвременно приложение е изградено върху open source framework-ове и библиотеки. Това е нормално и спестява много работа, но всеки компонент идва с лиценз и лицензът определя правилата.

  • Разрешителните лицензи като MIT, BSD и Apache 2.0 ви позволяват да използвате, променяте и продавате софтуер с този компонент, стига да запазите бележките за авторски права и лиценз. Apache 2.0 съдържа и условия за патенти.
  • Copyleft лицензите като GPL изискват, ако разпространявате софтуер, изграден върху компонента, да предоставите изходния код под същия лиценз. AGPL разширява това и към софтуер, който потребителите достъпват по мрежата.

Copyleft компонентите не са забранени и много фирми ги използват съзнателно. Рискът е да попаднат в продукт, който сте планирали да остане затворен, без да знаете. Поискайте от разработчика списък на зависимостите с техните лицензи, който мениджърите на пакети могат да генерират, и го помолете да ви предупреждава за всеки copyleft компонент, преди да го добави. Платените теми, плъгини и шрифтове също имат лицензи; проверете, че всеки е купен на ваше име и позволява вашия начин на използване.

#Достъпи и документация при предаването

Предаването е завършено, когато човек, който никога не е виждал проекта, може да го стартира, да го публикува и да го поправи само с това, което сте получили. За целта са нужни две неща.

Достъпи

Паролите, API ключовете и ключовете за сървърите трябва да се пазят в мениджър на пароли, който вашата фирма контролира, и никога да не се изпращат открито по имейл или в чат. При предаването минете през всеки запис, проверете, че работи, и след това сменете паролите и ключовете, които предишният разработчик е знаел. Планирайте смяната внимателно, защото ключ, записан директно в кода, ще спре някоя функция, без никой да забележи веднага. Статията как да поемете сайт или приложение от друг екип описва тази стъпка подробно.

Документация

  • Как проектът се инсталира на нова машина и се пуска локално.
  • Как се публикува нова версия и къде е всяка среда (тестова, продукционна).
  • Къде се пазят настройките и променливите на средата, без самите тайни стойности.
  • Преглед на архитектурата: основните части, външните услуги и как данните се движат между тях.
  • Как се правят архиви и как се възстановява архив.
  • Планирани задачи, опашки и всичко друго, което работи във фонов режим.

#Какво да проверите преди подписване

  • Договорът прехвърля на вас интелектуалната собственост върху работата и казва кога.
  • Инструментите, които разработчикът запазва, са описани и получавате безсрочен лиценз за тях.
  • Всички акаунти ще бъдат открити на ваше име или прехвърлени на вас на посочена дата.
  • Кодът ще е в хранилище, което е ваше, с пълна история от началото на проекта.
  • Open source лицензите ще бъдат изброени, а copyleft компонентите отбелязани.
  • Документацията е част от резултата и се поддържа актуална по време на проекта.
  • Договорът урежда какво става, ако някоя от страните го прекрати по-рано, включително какво получавате.

#Какво да проверите при предаването

  • Вие сте собственик на всеки акаунт от таблицата по-горе и можете да влезете без помощта на разработчика.
  • Хранилището съдържа цялата история, всички клонове и всичко нужно за изграждане на продукта.
  • Продуктът се изгражда и публикува от хранилището по писмените инструкции.
  • Всеки достъп е във вашия мениджър на пароли, а тези, които разработчикът е знаел, са сменени.
  • Имате скорошен архив и някой го е възстановил успешно поне веднъж.
  • Имате списъка с лицензи, а платените компоненти са регистрирани на вас.

Ако нещо от това липсва, поискайте го преди окончателното плащане. Много по-лесно е да се поправи, докато проектът още тече.

#Как може да помогне PN Scripts

При проектите на PN Scripts кодът, акаунтите (хостинг, магазини за приложения и домейни) и документацията са на името на клиента от първия ден, а интелектуалната собственост е негова. Ако планирате нов продукт или искате преглед на съществуващ, вижте как работим по уеб разработка по поръчка.

Още по темата

Още по темата

Коментари

Коментари

Напишете първия коментар.

Оставете коментар

Следваща стъпка

pnscripts.com/bg/contact

Пишете на екипа

Попитайте за статия или ни разкажете за проект, който искате да изградим. Отговаряме до един работен ден.

Пишете ни

Семейството PN Scripts

Другите сайтове на PN Scripts

Хостингът, игрите и блогът имат свои сайтове, поддържани от същата компания.

  • pnscripts.com

    PN Scripts

    Софтуерно инженерство

    Разработка на уеб и мобилни приложения, API и игри по поръчка, плюс нашите open-source продукти и плъгини.

  • games.pnscripts.com

    Игри

    Игри и игрови сървъри

    Мястото за игрите и игровите сървъри на PN Scripts. Каталогът засега е празен и ще се попълва, когато игрите и сървърите стартират.

  • hosting.pnscripts.com

    Хостинг

    Хостинг и инфраструктура

    Споделен хостинг, KVM VPS, dedicated сървъри и домейни от същата компания, която изработва проекта ви.

  • blog.pnscripts.com

    Блог

    Статии и бележки

    Ясни статии за хостинг, сървъри, домейни и сигурност, писани от хората, които работят с тях.

    Вие сте тук