Problémy s dodržováním autorských práv při přepisování ScanCode do Rust pomocí AI

Doprovodný otevřený nástroj ScanCode Toolkit, určený k analýze kódu kvůli překrývání s cizími autorskými právy, identifikaci používaných licencí a odhalování neopravených zranitelností, zkritizoval projekt, který vytvořil pomocí AI klon produktu ScanCode, přepsaný z Pythonu do Rustu (název klonu není zmíněn, ale podle všech známek se jedná o projekt Provenant). Tvrdí se, že v přepsaném projektu byla porušena ochranná známka ScanCode a byly odstraněny zmínky o autorských právech a licencích. Nároky vysvětlují, že v přepsaném klonu pokračuje používání klíčových algoritmů ScanCode, byla zachována architektura projektu a struktura kódu.

Podle názoru doprovodného týmu ScanCode k úspěšnému vytvoření klonu přispěla dostupnost vyčerpávajícího automatizovaného testovacího souboru, zahrnujícího více než 90 tisíc testů, z nichž 40 tisíc se věnuje odhalování používání různých licencí v kódu. Autoři přepsané verze prohlásili o podstatném zvýšení výkonnosti (10-100krát), ale podle doprovodného týmu ScanCode bylo cenou za zrychlení úplné neprocházení testovacího souboru, jakož i snížení přesnosti funkčnosti a úplnosti poskytovaných informací (klon poskytoval nesprávné výsledky a nenacházel všechny informace při analýze).

Pokud v speciálních testech výkonnosti port Rust výrazně předčil ScanCode, při průchodu standardním testovacím souborem se klon ukázal pomalejší, přestože byla některá ověření vynechána. Po provedení optimalizací v ScanCode, jako je caching, se výkonnost ScanCode při skenování kódu stala srovnatelnou s klonem v Rustu, při plném zachování správnosti funkce.

Autorům klonu je také kladeno za vinu porušení autorských práv a licence Apache 2.0, pod kterou je kód ScanCode distribuován. Bylo poznamenáno, že během přepisování byla porušena 4 základní požadavky licence: ponechání originálního souboru s poznámkou (NOTICE), zachování zmínek o autorských právech, vyznačení provedených změn a změna názvu ve odvozené práci. Po upozornění autoři klonu umístili soubor NOTICE a přejmenovali svůj projekt, ale dvě další porušení dosud zůstávají neopravená.

Doprovodný ScanCode se domnívá, že společenství by mělo vypracovat kritéria pro rozlišení toho, co považovat za odvozené dílo při použití AI, a co za nezávislou implementaci. Podle něj, po přepsání kódu v jiném jazyce se zachováním algoritmů a struktury, zůstává výsledek odvozeným dílem, i když v procesu byly přejmenovány proměnné a přepracovány nebo odstraněny komentáře. Prohlášení autorů Rust-portu o nezávislé přepracování, které je pouze inspirováno projektem ScanCode, je v tomto případě nesprávné, protože práce má za cíl vytvořit zdání původního vývoje, což je horší než přímé kopírování, neboť takové manipulace jsou obtížněji zjistitelné.

Značným problémem při generování kódu pomocí AI je nedostatek sledování původu kódu, který byl použit ke získání výsledku. Ve výchozím nastavení AI agenti, kteří používají kód z otevřených projektů, ignorují informace o autorech, pokud nejsou speciálně implementovány prostředky pro zjištění a uchování metadat o licencích a autorství. Problém atribuce se týká nejen práce na přepisování kódu z jednoho jazyka do druhého, ale i generace kódu obecně — výsledek v tomto případě může dostatečně přesně reprodukovat šablony z existujícího otevřeného kódu, který byl použit při trénování modelu.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster