Содержание
Когда старый исходный код становится доказательством
Почему важно фиксировать авторское право до публикации кода
Как SAVECODE помогает фиксировать исходный код
Как происходит фиксация цифрового отпечатка исходного кода
Исходный код постоянно меняется: сегодня команда выпускает первую рабочую версию, через неделю исправляет архитектуру, через месяц добавляет новый модуль. Если спор о правах возникнет спустя несколько лет, одного актуального репозитория может оказаться недостаточно: придется доказывать, какой именно код существовал у разработчика на определенную дату.
Один из способов заранее сформировать такое доказательство — зафиксировать права на исходный код. Это позволяет подтвердить существование конкретной версии файла на определенную дату и время.
Разбираемся, как работает такая фиксация, зачем сохранять не только финальную версию программы и как для этого использовать SAVECODE.
Показательный пример есть в российской судебной практике. Компания «Интегрированные системы» обнаружила, что при создании «Портала электронных услуг Госфильмофонда России» использовался код принадлежащей ей программы RIMS. Правообладатель обратился в суд и потребовал почти 4 млн рублей компенсации за нарушение исключительного права.
В ходе разбирательства эксперты сравнили код портала сранее депонированным исходным кодом RIMS, . Исследование выявило совпадения: в материалах дела фигурируют 1 730 совпадающих файлов, а часть файлов полностью совпадала по названию, содержимому и контрольным хеш-суммам. Степень отличий спорного программного кода от депонированного эксперт оценил как модификацию защищенного авторским правом исходного кода.
В результате правообладателю удалось доказать нарушение исключительного права. Суд обязал прекратить незаконное использование программы и удовлетворил требование о взыскании компенсации. Апелляция оставила решение в силе.
Практика показывает важную вещь: в споре имеет значение не только код, который находится у компании сегодня. Не менее ценным доказательством может оказаться возможность достоверно показать, как он выглядел несколько лет назад, до появления спорного продукта. Поэтому фиксация конкретных версий кода по мере разработки может сыграть ключевую роль при защите прав.
Авторские права на программу для электронно-вычислительной машины (ЭВМ) возникают автоматически. Согласно статье 1261 ГК РФ, охрана распространяется на все формы выражения программы, включая исходный текст и объектный код. Поэтому дополнительная фиксация нужна не для того, чтобы «создать» авторское право, а чтобы подготовить доказательства на случай спора.
После релиза круг людей, которые потенциально могут получить доступ к разработке, расширяется. Код передают сотрудникам и подрядчикам, размещают в репозиториях, используют при интеграциях и дорабатывают. Через несколько лет восстановить первоначальное состояние проекта и доказать хронологию его развития практически невозможно.
Судебная практика это подтверждает. При рассмотрении споров о программах для ЭВМ правообладателю необходимо доказать не только наличие у него исключительного права, но и факт использования программы другой стороной. При этом даже небольшие различия между двумя исходными кодами сами по себе не исключают заимствования. Поэтому ключевые состояния проекта стоит фиксировать до того, как возникнет необходимость что-либо доказывать.
SAVECODE — сервис экосистемы сервисов для охраны, защиты и управления интеллектуальной собственностью n’RIS, созданный специально для разработчиков и продуктовых команд. Он позволяет депонировать исходный код и последовательно фиксировать его изменения по мере разработки.
Для каждого проекта в SAVECODE создается отдельный сейф. Сначала в нем фиксируется базовая версия, а затем по мере развития продукта можно добавлять дополнительные версии, например после крупного обновления, изменения архитектуры или выпуска нового релиза. На нужную версию можно отдельно оформить свидетельство о депонировании с датой ее фактической фиксации.
Таким образом, вместо одной фиксации уже готовой программы постепенно формируется подтверждаемая история развития проекта. Если спустя несколько лет возникнет спор, можно установить, какая версия существовала на определенную дату и на каком этапе разработки в ней появились конкретные элементы кода.
При этом передавать исходный код на хранение необязательно. Для закрытых разработок в SAVECODE предусмотрено хеш-депонирование.
При хеш-депонировании фиксируется не сам исходный файл, а его цифровой отпечаток, или хеш. Это уникальное значение, которое рассчитывается на основе содержимого файла. Сам исходный код остается у разработчика или компании и не передается на хранение.
Если содержимое файла изменить, изменится и его хеш. Поэтому при необходимости для имеющегося файла можно снова рассчитать цифровой отпечаток и сопоставить его с зафиксированным ранее значением. Совпадение позволяет подтвердить, что представлен тот же массив данных, цифровой отпечаток которого был зафиксирован на определенную дату.
Такой способ особенно актуален для закрытых разработок, когда исходный код содержит коммерчески ценную информацию и компания не хочет передавать его третьей стороне даже на защищенное хранение.
В результате SAVECODE позволяет выбрать подходящий способ фиксации исходного кода и сохранять ключевые версии проекта по мере его развития. А если передавать сам код на хранение нежелательно, зафиксировать его конкретное состояние можно по хешу.