Один из самых частых вопросов от начинающих разработчиков:
Я переписал своими руками. Это теперь моё?
И один из самых опасных мифов в нашей профессии.
Что такое авторское право на код
Код защищается авторским правом автоматически в момент создания. Не нужна регистрация, не нужен значок ©. Человек написал функцию и она его.
Но авторское право защищает конкретное выражение, то есть именно эти строки, эту структуру, эту последовательность решений. Оно не защищает идею или алгоритм как таковой.
Отсюда и рождается миф.
Миф о переписывании
Логика звучит разумно: «Я не копировал, я написал сам, значит нарушений нет.»
Проблема в том, что суд смотрит не только на текст кода. Он смотрит на структуру, последовательность, выбор решений и итоговое сходство. Есть понятие clean room implementation. Это когда одна команда изучает спецификацию, а другая, которая никогда не видела оригинал, пишет реализацию. Только так можно говорить о независимой разработке с юридической точки зрения.
Если вы смотрели в репозиторий, а потом переписали своими словами, то это не clean room. Это производная работа. И она всё ещё подпадает под лицензию оригинала.
А если вы вообще не смотрели в код?
Это уже другая история. Если вы реализовали тот же алгоритм независимо, не видели оригинал и не опирались на него, то у вас есть своё авторское право на свою реализацию. Но доказать это постфактум бывает сложно.
Вот здесь важно понимать, какая лицензия стоит на оригинале.
MIT и Apache 2.0 разрешают почти всё, включая коммерческое использование, при условии сохранения уведомления об авторских правах. Можно брать код, менять его и включать в закрытый продукт. Тут переписывать вообще смысла нет. Проще взять напрямую и указать автора.
GPL работает иначе. Если вы используете GPL-код в своём проекте, весь ваш проект должен стать GPL. Это называется вирусный эффект. И переписывание не спасает, если суд признает ваш код производным от GPL-оригинала.
Проприетарные лицензии это отдельная история. Там всё, что не разрешено явно, запрещено. Никакое переписывание не поможет, если вы воспроизводите логику и структуру закрытого продукта.
Что это значит
Перед тем как брать чужой код или вдохновляться им, стоит проверить лицензию. Это занимает две минуты и избавляет от проблем позже.
Если лицензия запрещает использование в вашем контексте, а функциональность нужна. Правильный путь это написать своё решение без изучения оригинала, задокументировать этот факт и хранить документацию.
Переписывание «на память» после того как вы изучили оригинальный код это серая зона, которую лучше не трогать в коммерческих проектах.
Авторское право защищает не идею, а реализацию. Но если ваша реализация слишком похожа на чужую, то неважно, смотрели вы в код во время написания или нет. Суд будет оценивать итог, а не процесс.
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека Go-разработчика
#GoTalk
