Ответ эксперта

Как отличить заимствование кода на Python от совпадений из-за каркасов и оформления?

Вопрос по направлению: Экспертиза исходного кода на Python

Ответ

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

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

Итогом становится описание характера и объёма совпадений и признаков переработки кода. Вывод о нарушении прав из этого автоматически не следует — такую оценку даёт суд. Подробнее о задаче рассказано на странице сравнения исходного кода.

Актуализировано
Обсудить задачу

Нужна экспертиза или консультация?

Опишите ситуацию и цель обращения. Мы определим нужный вид исследования, подберём профильного эксперта и поможем подготовить вопросы и материалы.

  • Подберём специалиста
  • Поможем с вопросами
  • Оценим срок и стоимость
Оценить материалы или позвоните 8 (800) 333-24-09 Бесплатный звонок по России