Проблеми с авторските права при преписване на ScanCode на Rust с помощта на AI.

Сопровождаващият отворен инструментариум ScanCode Toolkit, предназначен за сканиране на код за нарушения на авторските права, откриване на използвани лицензии и идентифициране на неизправени уязвимости, разкритикува проекта, създал с помощта на AI клона на продукта ScanCode, пренаписан от Python на Rust (името на клона не се споменава, но, съдейки по всички признаци, става дума за проекта Provenant). Утвърд(cache)я, че в пренаписания проект е нарушена търговска марка ScanCode и са премахнати споменаванията за авторски права и лицензи. Претенциите са обяснени с факта, че в пренаписания клон е продължило използването на ключови алгоритми на ScanCode, запазена е архитектурата на проекта и структурата на кода.

Според управляващия ScanCode успешното създаване на клона е било подпомогнато от наличието на изчерпателен автоматизиран тестов набор, включващ над 90 хиляди теста, от които 40 хиляди са посветени на откритие на използването на различни лицензи в кода. Авторите на пренаписаната версия заявиха за значително повишаване на производителността (в 10-100 пъти), но, според управляващия ScanCode, цената за ускорението е непълното преминаване на тестовия набор, както и намаляване на точността на работа и пълнотата на предоставяната информация (клонът предоставял некоректни резултати и не е откривал цялата информация при анализа).

Ако в специални тестове за производителност Rust-портът значително изпреварваше ScanCode, то при преминаване на стандартния тестов набор клонът се оказа по-бавен, въпреки че в него се пропускаха някои проверки. След внасяне на оптимизации в ScanCode, като кеширане, производителността на ScanCode при сканиране на код стана не по-лоша от тази на клона на Rust, при пълно запазване на точността на работа.

На авторите на клона също се вменява нарушение на авторските права и лиценза Apache 2.0, под който се разпространява кодът на ScanCode. Отбелязва се, че по време на пренаписването са били нарушени 4 основни изисквания на лиценза: оставяне на оригиналния файл с бележка (NOTICE), запазване на споменаванията на авторски права, подчертаване на извършените промени и смяна на името в производната работа. След забележката авторите на клона поставили файла NOTICE и променили името на проекта си, но двете останали нарушения все още остават неустранени.

Сопроводителят на ScanCode считава, че общността трябва да изработи критерии за разграничаване на това, което при използване на ИИ се счита за производна работа, и на това, което е независима реализация. Според него, след пренаписване на кода на друг език с запазване на алгоритмите и структурата, резултатът остава производна работа, дори и в процеса да са преименувани променливите и преработени или премахнати коментарите. Заявленията на авторите на Rust-порта за независима переработка, вдъхновена само от проекта ScanCode, в този случай са некоректни, тъй като работата цели да създаде илюзия за оригинално разработване, което е дори по-лошо от пряко копиране, тъй като подобни манипулации са по-трудно откриваеми.

Значителен проблем при генерирането на код чрез ИИ е отсъствието на проследяемост на произхода на кода, който е бил използван за получаване на резултата. По подразбиране ИИ-агентите, използващи код от отворени проекти, игнорират информация за авторите, освен ако не са специално реализирани средства за откриване и запазване на метаданни за лицензи и авторство. Проблемът с атрибуцията засяга не само работата по пренаписване на кода от един език на друг, но и генерирането на код в общ вид — резултатът в този случай може да повтори шаблоните от съществуващия отворен код, използван при обучението на модела с достатъчна точност.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster