⏺️ Экспертиза программного обеспечения на предмет плагиата

⏺️ Экспертиза программного обеспечения на предмет плагиата

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

Экспертиза программного обеспечения на предмет плагиата представляет собой специализированное исследование, направленное на установление факта использования (заимствования) при создании одного программного продукта охраняемых элементов другого программного продукта, исключительные права на который принадлежат иному лицу. Это сложное, многокомпонентное исследование, требующее от эксперта не только глубоких познаний в области программирования, но и понимания основ авторского права, а также владения специальными методиками сравнения программных кодов и выявления скрытых заимствований.

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

Правовые основы защиты программ от плагиата

Прежде чем перейти к рассмотрению методов экспертного исследования, необходимо определить правовой статус программ для электронно-вычислительных машин как объектов интеллектуальной собственности. Согласно части четвертой Гражданского кодекса Российской Федерации, программы для ЭВМ приравниваются к литературным произведениям и охраняются авторским правом. Это означает, что:

  • Авторское право возникает в момент создания программы и не требует государственной регистрации (хотя регистрация в Федеральной службе по интеллектуальной собственности возможна по желанию правообладателя).
    • Автору принадлежат исключительные права на использование программы любым способом, включая воспроизведение, распространение, переработку (модификацию).
    • Любое использование программы без согласия правообладателя является незаконным и влечет ответственность, предусмотренную законодательством.

Плагиат в сфере программного обеспечения может проявляться в различных формах. Это может быть:

  • Полное копирование программы (пиратство). Программа ответчика полностью идентична программе истца.
    • Частичное копирование. Скопированы отдельные модули, функции, фрагменты кода.
    • Переработка (модификация) программы. Ответчик внес изменения в исходный код, создав так называемую «производную» программу, но сохранив при этом существенные признаки оригинала.
    • Копирование структуры и архитектуры программы. Даже если код написан заново, но полностью повторяет структуру, логику, алгоритмы и организацию данных исходной программы, это также может рассматриваться как нарушение прав.

Во всех этих случаях для установления факта нарушения требуется проведение экспертиза программного обеспечения на предмет плагиата.

Объекты исследования при проведении экспертизы

Для того чтобы экспертиза программного обеспечения на предмет плагиата была проведена максимально полно и качественно, эксперту необходимо предоставить определенные объекты и материалы. В стандартный перечень входят:

  • Исходный код программы, в отношении которой предполагается нарушение прав (программа истца, эталонный образец). Желательно предоставить исходный код в том виде, в котором он существовал на дату, предшествующую созданию программы ответчика. Это может быть код, зафиксированный в системе контроля версий, или код, переданный заказчику по договору.
  • Исходный код программы, предположительно являющейся плагиатом (программа ответчика). Если программа распространяется в откомпилированном виде без исходных кодов, это существенно осложняет исследование, но не делает его невозможным. В таких случаях применяются методы реверс-инжиниринга (обратной разработки).
  • Исполняемые файлы (дистрибутивы) обеих программ. Они необходимы для проверки функциональности, а также для анализа в случаях, когда исходные коды отсутствуют.
  • Документация к программам. Руководства пользователя, описания архитектуры, технические задания могут содержать ценную информацию, помогающую понять назначение и структуру программ.
  • Сведения о датах создания программ. Это могут быть выписки из систем контроля версий, метаданные файлов, нотариально заверенные распечатки кода, свидетельства о регистрации программы в Федеральной службе по интеллектуальной собственности.
  • При необходимости — аппаратное обеспечение, на котором функционируют программы, или доступ к серверам, где они развернуты.

Методы выявления плагиата в программном обеспечении

Современная экспертиза программного обеспечения на предмет плагиата базируется на применении широкого спектра научно обоснованных методов. Выбор конкретного метода зависит от характера поставленных задач, особенностей исследуемого программного обеспечения и доступности исходных материалов. Наши эксперты владеют всеми передовыми методиками и постоянно совершенствуют свои знания.

Метод статического анализа исходного кода. Это основной и наиболее информативный метод, применяемый при наличии исходных кодов обеих программ. Эксперт проводит сравнительный анализ текстов программ, написанных на языках программирования. При этом анализируются различные уровни организации кода:

  • Лексический анализ. Сравниваются отдельные лексемы (имена переменных, функций, классов, констант). Если в двух программах обнаруживаются одинаковые или очень похожие имена, особенно если они не являются стандартными или общеупотребительными, это может свидетельствовать о заимствовании.
  • Синтаксический анализ. Сравниваются синтаксические конструкции, структуры операторов, порядок следования инструкций. Даже если переменные переименованы, общая структура кода может сохраниться.
  • Семантический анализ. Анализируется смысловое содержание кода, реализуемые алгоритмы. Две программы могут быть написаны разными словами, но делать одно и то же одинаковым способом. Выявление таких совпадений также является признаком плагиата.
  • Анализ структуры программы в целом. Сравнивается иерархия классов, модулей, взаимосвязи между компонентами. Если архитектура двух программ совпадает до мельчайших деталей, это сильный признак заимствования.

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

Метод динамического анализа. Применяется в случаях, когда исходный код недоступен или когда необходимо дополнить данные статического анализа. Суть метода заключается в наблюдении за поведением программ в процессе их выполнения. Эксперт запускает обе программы, подает на вход одинаковые данные и сравнивает полученные результаты, а также поведение программ в процессе работы (последовательность вызовов функций, обращения к файлам и сети, использование памяти). Если программы ведут себя идентично или очень похоже при одинаковых входных данных, это также может свидетельствовать о плагиате.

Метод анализа структур данных. Эксперт сравнивает форматы файлов, используемые программами, структуры баз данных, протоколы обмена. Если две независимо разработанные программы используют абсолютно одинаковые, нестандартные форматы данных, это с высокой вероятностью говорит о заимствовании.

Метод выявления программистского почерка (стилометрия). Каждый разработчик имеет свой уникальный стиль написания кода. Это касается выбора алгоритмов, способов оформления кода (отступы, пробелы, расположение скобок), предпочтения тех или иных языковых конструкций, именования переменных. Опытный эксперт может идентифицировать этот «почерк» в коде и установить, что код, предположительно написанный разными людьми, на самом деле вышел из-под «пера» одного автора.

Метод поиска уникальных идентификаторов. Правообладатели иногда специально внедряют в свой код уникальные, но не влияющие на функциональность элементы — так называемые «водяные знаки». Это могут быть неисполняемые строки кода, специфические последовательности символов, неиспользуемые функции с уникальными именами. Обнаружение таких же «артефактов» в коде ответчика является неопровержимым доказательством копирования.

Метод метаданных. Файлы, составляющие программу, содержат метаданные — информацию о том, кем, когда и с помощью каких инструментов они были созданы. Анализ метаданных может помочь установить, что файлы программы ответчика были созданы на компьютере истца или с использованием инструментов, доступ к которым имел только истец.

Типичные вопросы, решаемые в рамках экспертизы

Для того чтобы экспертиза программного обеспечения на предмет плагиата была максимально эффективной, заказчику совместно с юристом необходимо правильно сформулировать вопросы, на которые должен ответить эксперт. Приведем примерный перечень таких вопросов:

  • Имеется ли сходство (тождество) между программным обеспечением «[Название ПО Ответчика]» и программным обеспечением «[Название ПО Истца]», исключительные права на которое принадлежат истцу? Если да, то в чем именно это сходство выражается?
  • Является ли программное обеспечение «[Название ПО Ответчика]» переработкой (модификацией) программного обеспечения «[Название ПО Истца]», либо оно создано независимо?
  • Содержатся ли в исходном коде программного обеспечения «[Название ПО Ответчика]» фрагменты, тождественные или сходные до степени смешения с фрагментами исходного кода программного обеспечения «[Название ПО Истца]»? Если да, то каков объем такого заимствования (процентное соотношение, количество строк кода)?
  • Имеются ли в программном обеспечении «[Название ПО Ответчика]» уникальные идентификаторы (характерные последовательности символов, неисполняемые фрагменты, специфические названия функций), ранее присутствовавшие только в программном обеспечении «[Название ПО Истца]»?
  • Соответствует ли структура (архитектура) программного обеспечения «[Название ПО Ответчика]» структуре (архитектуре) программного обеспечения «[Название ПО Истца]»? Если да, то в какой степени?
  • Использовались ли при создании программного обеспечения «[Название ПО Ответчика]» алгоритмы, реализованные в программном обеспечении «[Название ПО Истца]», без разрешения правообладателя?
  • Имеются ли в программном обеспечении «[Название ПО Ответчика]» признаки намеренного искажения (обфускации) кода с целью сокрытия фактов заимствования из других программных продуктов?
  • Является ли программное обеспечение «[Название ПО Ответчика]» самостоятельным результатом творческой деятельности разработчика или оно создано путем копирования (полного или частичного) программного обеспечения «[Название ПО Истца]»?
  • Подтверждается ли факт использования программного обеспечения «[Название ПО Истца]» при создании программного обеспечения «[Название ПО Ответчика]»?

Процесс проведения экспертного исследования

Процесс проведения экспертиза программного обеспечения на предмет плагиата является строго регламентированным и состоит из нескольких последовательных этапов.

Подготовительный этап. Эксперт знакомится с материалами, предоставленными заказчиком, и с вопросами, поставленными на разрешение. На этом этапе оценивается достаточность предоставленных материалов для проведения исследования. Если материалов недостаточно (например, отсутствует исходный код одной из программ), эксперт уведомляет об этом заказчика или суд и запрашивает дополнительные материалы. Также на этом этапе эксперт определяет, какие методы исследования будут применяться, и составляет план работы.

Этап раздельного исследования объектов. Эксперт изучает каждый объект в отдельности. Анализируется исходный код программы истца: его объем, структура, используемые алгоритмы, выявляются уникальные особенности. Аналогично изучается программа ответчика. Цель этого этапа — получить детальное представление о каждом объекте и выявить их характерные черты, которые впоследствии можно будет сравнивать.

Этап сравнительного исследования. Это центральный этап. Эксперт сопоставляет два объекта по различным параметрам:

  • Сравниваются исходные коды. Проводится как автоматизированное сравнение с помощью специальных программ, так и ручной анализ наиболее подозрительных мест.
  • Сравнивается структура программ. Анализируется иерархия модулей, классов, функций.
  • Сравниваются алгоритмы. Проверяется, реализованы ли в программе ответчика алгоритмы, характерные только для программы истца.
  • Сравниваются данные, получаемые на выходе при одинаковых входных данных.
  • Сравниваются форматы данных, используемые программами.

Все выявленные совпадения и различия тщательно фиксируются. Особое внимание уделяется уникальным, неочевидным совпадениям, которые не могут быть объяснены случайностью или использованием общеизвестных приемов программирования.

Этап оценки результатов. Эксперт оценивает выявленные совпадения и различия в совокупности. Определяется, являются ли совпадения существенными, образуют ли они единую картину, свидетельствующую о заимствовании. Оценивается также возможность объяснения совпадений иными причинами, например:

  • Использованием общеизвестных алгоритмов и библиотек.
    • Необходимостью соблюдения стандартов или протоколов.
    • Совпадением требований технического задания (если программы создавались по сходным ТЗ).

Этап формулирования выводов. На основе проведенного анализа эксперт формулирует четкие и однозначные ответы на поставленные вопросы. Выводы должны быть научно обоснованными и не допускать различных толкований.

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

Сложности и особенности выявления плагиата

Экспертиза программного обеспечения на предмет плагиата сопряжена с рядом объективных сложностей, о которых необходимо знать.

Маскировка заимствований. Недобросовестные разработчики, осознавая незаконность своих действий, предпринимают различные меры для сокрытия факта плагиата. Наиболее распространенные способы маскировки:

  • Переименование переменных, функций, классов. Это самый простой и распространенный способ. Однако, как уже отмечалось, общая структура кода и алгоритмы при этом сохраняются, и опытный эксперт может выявить заимствование.
  • Изменение порядка следования функций. Функции могут быть переставлены местами, разбиты на более мелкие или, наоборот, объединены. Это усложняет анализ, но не делает его невозможным.
  • Добавление «шума». В код могут быть добавлены ничего не делающие, «пустые» операции, комментарии, лишние проверки, чтобы изменить общую картину и затруднить автоматическое сравнение.
  • Обфускация (запутывание) кода. Код намеренно делается трудночитаемым, используются сложные, запутанные конструкции. Это затрудняет анализ, но может само по себе свидетельствовать о недобросовестности разработчика.
  • Переписывание кода на другом языке программирования. Если исходная программа написана на одном языке, а ответчик переписывает ее на другом, внешне код может выглядеть совсем иначе, но алгоритмы и структура данных могут остаться прежними. Выявление таких заимствований требует особой квалификации эксперта.

Отсутствие исходного кода ответчика. Если ответчик распространяет свою программу только в откомпилированном виде, получить исходный код для сравнения можно только по решению суда. Без исходного кода возможности эксперта ограничены. Приходится применять методы реверс-инжиниринга (дизассемблирования и декомпиляции), что не всегда позволяет получить полную и точную картину.

Сложность разграничения допустимого и недопустимого заимствования. Не любое сходство программ является плагиатом. Многие алгоритмы и приемы программирования являются общеизвестными и могут использоваться любым разработчиком. Кроме того, существуют открытые библиотеки и фреймворки, использование которых разрешено на определенных условиях. Эксперт должен уметь отличать правомерное использование общих элементов от неправомерного копирования чужого творческого труда.

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

Доказательственное значение экспертного заключения

Заключение, полученное в результате экспертиза программного обеспечения на предмет плагиата, имеет огромное доказательственное значение в делах о защите интеллектуальных прав.

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

В судебном порядке. Если спор доходит до суда, экспертное заключение становится одним из ключевых доказательств. Суд оценивает его наравне с другими доказательствами. При этом суд обращает внимание на:

  • Полноту и всесторонность исследования.
    • Научную обоснованность примененных методов.
    • Четкость и однозначность выводов.
    • Соответствие заключения требованиям процессуального законодательства.
    • Квалификацию эксперта, его опыт и компетентность.

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

Различия между экспертизой плагиата и экспертизой качества

Важно понимать различие между экспертиза программного обеспечения на предмет плагиата и другими видами экспертиз программного обеспечения, например, экспертизой на соответствие техническому заданию или договору. Эти различия можно представить следующим образом:

  • Цель исследования. При экспертизе на предмет плагиата целью является установление факта заимствования (копирования, переработки) чужого кода. При экспертизе качества целью является проверка соответствия программы требованиям технического задания и договора.
  • Объекты исследования. При экспертизе на предмет плагиата всегда сравниваются два (или более) объекта: исходная программа и предполагаемый плагиат. При экспертизе качества исследуется один объект — созданная программа, и сравнивается она с документацией (ТЗ).
  • Методы исследования. При экспертизе на предмет плагиата основными методами являются сравнительный анализ кодов, выявление уникальных идентификаторов, стилометрия. При экспертизе качества — функциональное тестирование, анализ соответствия требованиям.
  • Правовые последствия. Экспертиза на предмет плагиата служит для защиты исключительных прав и влечет последствия, предусмотренные законодательством об интеллектуальной собственности (компенсация, изъятие контрафакта). Экспертиза качества служит для разрешения договорных споров и влечет последствия, предусмотренные договорным правом (расторжение договора, взыскание убытков, соразмерное уменьшение цены).

Практика применения экспертизы для выявления плагиата

Экспертиза программного обеспечения на предмет плагиата широко применяется в судебной практике по делам различных категорий.

Споры между коммерческими организациями. Например, компания А разработала и в течение нескольких лет успешно продавала программу для автоматизации складского учета. Компания Б, бывший сотрудник компании А, создала свою программу, которая, по мнению компании А, является переработкой ее продукта. Назначенная судом экспертиза программного обеспечения на предмет плагиата выявила многочисленные совпадения в коде, включая уникальные, нестандартные алгоритмы, разработанные программистами компании А. На основании этого суд признал программу компании Б контрафактной и взыскал компенсацию.

Споры с участием бывших сотрудников. Очень часто плагиат совершается бывшими сотрудниками, которые уходят из компании и создают собственный бизнес, используя наработки, созданные за счет бывшего работодателя. В таких случаях особенно важно зафиксировать дату создания исходной программы (например, с помощью депонирования или нотариального заверения) и провести экспертизу, которая покажет, что код, написанный бывшим сотрудником уже после увольнения, содержит фрагменты, созданные им же, но в период работы в компании-истце.

Споры, связанные с открытым программным обеспечением. Отдельная категория споров связана с нарушением лицензий на открытое программное обеспечение. Многие коммерческие продукты строятся на базе открытых компонентов. Однако лицензии на такие компоненты (например, Генеральная публичная лицензия GNU) налагают определенные обязательства, в частности, требование раскрывать собственный исходный код, если он использует компоненты под определенными лицензиями. Нарушение этих условий также может быть выявлено в ходе экспертиза программного обеспечения на предмет плагиата, точнее, на предмет соблюдения лицензионных условий.

Роль АНО «Центр инженерных экспертиз» в защите интеллектуальных прав

Наша организация, АНО «Центр инженерных экспертиз», на протяжении многих лет успешно проводит экспертиза программного обеспечения на предмет плагиата, помогая правообладателям защищать свои интеллектуальные права. Мы гарантируем нашим клиентам:

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

https: //kompexp. ru/

Заключение

В современном мире, где программное обеспечение становится одним из наиболее ценных объектов интеллектуальной собственности, защита от плагиата приобретает первостепенное значение. Незаконное заимствование кода наносит ущерб не только отдельным правообладателям, но и всей индустрии, подрывая стимулы к созданию новых продуктов и честной конкуренции.

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

АНО «Центр инженерных экспертиз» обладает всеми необходимыми ресурсами, чтобы провести такое исследование на высочайшем профессиональном уровне. Мы гарантируем нашим клиентам объективность, точность и полноту анализа, а также готовность защищать результаты нашей работы в любых инстанциях. Если вы столкнулись с ситуацией незаконного использования вашего программного обеспечения, не откладывайте решение проблемы — обращайтесь к профессионалам. Своевременное проведение экспертизы — это первый и самый важный шаг к защите ваших интеллектуальных прав и законных интересов.

Похожие статьи

Новые статьи

▶️ Оценка дома при изъятии в пользу государства

В современной экономике, основанной на знаниях и интеллектуальной собственности, программное обеспечение становится одни…

🟧 Оценка имущества для нотариуса: принципы судебной экспертизы

В современной экономике, основанной на знаниях и интеллектуальной собственности, программное обеспечение становится одни…

▶️ Оценка объекта недвижимости, идущего под снос

В современной экономике, основанной на знаниях и интеллектуальной собственности, программное обеспечение становится одни…

🟥 Онлайн оценка автомобиля для нотариуса по наследству

В современной экономике, основанной на знаниях и интеллектуальной собственности, программное обеспечение становится одни…

⏺️ Оценка дома перед сносом в Москве

В современной экономике, основанной на знаниях и интеллектуальной собственности, программное обеспечение становится одни…

Задавайте любые вопросы

4+4=