Блог компании "Лаборатория Цифровых Исследований"

Установление заимствования в коде: экспертиза исходного кода ПО

Полезно
Исходный код - это главный актив любой IT-компании. На его разработку уходят месяцы работы команды, миллионы рублей бюджета и годы архитектурных решений. И тем болезненнее ситуация, когда бывший сотрудник уходит к конкуренту с флешкой, подрядчик «незаметно» переиспользует ваш код в другом проекте, а на рынке появляется «зеркальный» продукт с подозрительно похожим функционалом.
Но эмоции в суде не работают. Чтобы взыскать компенсацию по ст. 1301 ГК РФ (до 5 млн рублей) или добиться запрета использования ПО, нужно установление заимствования в коде на уровне, который примет суд. И здесь не обойтись без компьютерно-технической экспертизы.
Разбираемся, как доказывается плагиат в программировании, какие методы использует эксперт и почему «похожий интерфейс» - это еще не доказательство кражи кода.

Что такое заимствование в коде?

Заимствование в коде - это использование фрагментов или всей структуры чужого исходного кода без разрешения правообладателя. В юридическом поле это форма нарушения исключительных прав на программу для ЭВМ (ст. 1261 ГК РФ).
Важно понимать: не любое сходство является заимствованием. Эксперт должен отделить:
  • Объективно необходимое сходство - когда два разработчика независимо приходят к одинаковому решению (например, стандартные алгоритмы сортировки, использование открытых библиотек, требования API).
  • Творческое заимствование - когда скопированы уникальные архитектурные решения, специфичные комментарии, «водяные знаки» разработчика или даже характерные ошибки.
Именно на выявлении второго типа сходства и строится экспертиза.

Когда требуется установление заимствования в коде?

Экспертиза исходного кода востребована в следующих ситуациях:
  1. Уход сотрудника к конкуренту. Бывший разработчик ушел в другую компанию, и через несколько месяцев у конкурента вышел продукт с подозрительно похожим функционалом.
  2. Споры с подрядчиками. Исполнитель по договору разработки использовал ваш код в проекте для другого заказчика.
  3. Защита от претензий. Вам самим предъявляют иск о плагиате, и нужно доказать независимую разработку.
  4. Корпоративные конфликты. Бывшие учредители вынесли код стартапа и запустили продукт под новым брендом.
  5. Open-source нарушения. Использование компонентов с лицензией GPL в проприетарном продукте без раскрытия исходников.
  6. Споры по ISDA и лицензионным договорам. Проверка, не вышел ли лицензия за рамки предоставленных прав.

Как эксперт устанавливает заимствование: методы анализа

Установление заимствования в коде - это не просто «открыть два файла и сравнить». Это многоступенчатый процесс, который включает несколько уровней анализа.

1. Абстрактно-фильтрационное сравнение (тест AFC)

Эксперт применяет классический тест, используемый в мировой практике (Abstraction-Filtration-Comparison):
  • Абстракция - код разбивается на уровни: от высокоуровневой архитектуры до конкретных строк.
  • Фильтрация - исключаются элементы, не охраняемые авторским правом: идеи, алгоритмы, стандартные решения, элементы, продиктованные «сцэнаром» (функциональностью).
  • Сравнение - сопоставляются только оставшиеся охраняемые элементы.

2. Структурно-логический анализ

Сравнивается архитектура обоих продуктов:
  • Иерархия модулей и классов.
  • Структура базы данных (таблицы, связи, индексы).
  • Последовательность вызовов функций.
  • Логика бизнес-процессов.

3. Текстовое сравнение кода

Используются специализированные инструменты:
  • Поиск дословных совпадений.
  • Анализ «шума» - одинаковых неочевидных переменных, комментариев, «водяных знаков».
  • Выявление идентичных ошибок и багов - один из самых сильных аргументов в пользу заимствования. Независимая разработка практически никогда не дает одинаковых ошибок в одних и тех же местах.

4. Анализ метаданных и истории

Эксперт изучает:
  • Временные метки создания файлов.
  • Логи системы контроля версий (Git, SVN).
  • Имена разработчиков в комментариях.
  • Удаленные «водяные знаки» - скрытые маркеры, которые разработчики намеренно оставляют в коде.

Что НЕ является доказательством заимствования

Суды и эксперты отклоняют следующие аргументы как недостаточные:
  • «У них такой же интерфейс» - UI/UX может быть похожим по функциональным причинам (паттерны дизайна, UX-стандарты).
  • «Они используют тот же стек технологий» - выбор Python/Django или Node.js/React не говорит о плагиате.
  • «Они реализовали ту же бизнес-логику» - идея не охраняется авторским правом, охраняется форма ее выражения.
  • «Они использовали ту же открытую библиотеку» - использование общедоступных компонентов законно.

Что является «железобетонным» доказательством заимствования

Экспертное заключение будет убедительным для суда, если выявлены:
Идентичные «водяные знаки» - комментарии, отладочные сообщения, специфичные имена переменных.
Одинаковые неочевидные ошибки - баги в одних и тех же строках кода.
Совпадение структуры при различии в названиях - когда код переименован, но архитектура и логика идентичны.
Следы удаления маркеров правообладателя - признаки того, что «водяные знаки» намеренно стерли.
Невозможность независимой разработки в заявленные сроки - когда объем скопированного кода объективно не мог быть написан с нуля за время между уходом сотрудника и релизом продукта конкурента.

Юридические аспекты: что говорит закон

Программы для ЭВМ в России приравниваются к литературным произведениям (ст. 1261 ГК РФ). Это означает:
  • Охраняется форма выражения (код), но не идея, алгоритм или принцип работы.
  • Авторские права возникают в момент создания - регистрация в Роспатенте желательна, но не обязательна.
  • За нарушение предусмотрена компенсация от 10 тыс. до 5 млн рублей либо в двукратном размере стоимости права использования.
  • Возможно обеспечительные меры - арест доменов, запрет использования ПО до окончания суда.
Важно: Бремя доказывания лежит на истце. Именно он должен установить заимствование в коде через судебную экспертизу. Ответчик же может защищаться, доказывая независимую разработку (например, через методологию «чистой комнаты)

Как проходит экспертиза: пошаговый процесс

  1. Получение образцов кода. Через суд, нотариальный осмотр или добровольное предоставление.
  2. Определение методики. Эксперт выбирает методы анализа в зависимости от языка программирования, архитектуры и объема кода.
  3. Проведение исследования. Текстовое, структурное, логическое сравнение.
  4. Формирование заключения. С описанием методики, найденных совпадений и отсеянных «неохраняемых» элементов.
  5. Защита заключения в суде. Эксперт может быть допрошен и дать пояснения суду.

Ошибки, которые дорого обходятся

Самостоятельный анализ кода юристом. Суд не примет сравнение, сделанное без привлечения эксперта.
Отсутствие фиксации доказательств. Если код ответчика может быть изменен, его нужно зафиксировать через нотариальный осмотр ДО подачи иска.
Неправильная постановка вопросов эксперту. Вопросы должны быть сформулированы так, чтобы эксперт ответил именно на них, а не ушел в смежные темы.
Попытка доказать плагиат только по внешнему сходству. Это заведомо проигрышная стратегия.

Резюме

Установление заимствования в коде - это сложная техническая и юридическая задача, которая требует привлечения квалифицированных компьютерных экспертов. Только профессиональная экспертиза способна отделить законное переиспользование открытых решений от настоящего плагиата и дать суду доказательства, которые лягут в основу решения.
Если вы подозреваете, что ваш код украли, или если вам предъявляют необоснованные претензии - не действуйте на эмоциях. Начните с консультации экспертов, которые оценят перспективы дела и помогут правильно выстроить доказательную базу.

Нужна экспертиза исходного кода?

Компания Лаборатория Цифровых Исследований проводит компьютерно-технические экспертизы по установлению заимствования в коде для судебных процессов и досудебного урегулирования споров.
Что мы делаем:
  • Проводим сравнительный анализ исходного кода.
  • Выявляем «водяные знаки», идентичные ошибки и структурные совпадения.
  • Готовим экспертные заключения, принимаемые арбитражными и районными судами.
  • Доказываем независимую разработку для защиты от ложных обвинений.
  • Выступаем в суде в качестве технических специалистов.
📞 Получите бесплатную первичную оценку вашего кейса: Связаться с нами можно по любым удобным средствам связи, указанными на сайте. Или оставьте заявку.
Ваш код - это ваша интеллектуальная собственность. Защитите его профессионально.