Das begleitende Open-Source-Tool ScanCode Toolkit, das zum Scannen von Code auf Urheberrechtsverletzungen, zur Identifizierung verwendeter Lizenzen und zur Auffindung unerledigter Sicherheitslücken dient, hat das Projekt kritisiert, das mithilfe von KI einen Klon des Produkts ScanCode erstellt hat, das von Python nach Rust umgeschrieben wurde (der Name des Klons wird nicht erwähnt, aber es handelt sich anscheinend um das Projekt Provenant). Es wird behauptet, dass im umgeschriebenen Projekt das Markenzeichen ScanCode verletzt und die Hinweise auf Urheberrechte und Lizenzen entfernt wurden. Die Ansprüche werden damit gerechtfertigt, dass im umgeschriebenen Klon weiterhin Schlüsselalgorithmen von ScanCode verwendet, die Architektur des Projekts und die Code-Struktur beibehalten wurden.
Nach Ansicht des Betreuers von ScanCode hat das erfolgreiche Erstellen des Klons durch das Projekt das Vorhandensein eines umfassenden automatisierten Testsets begünstigt, das mehr als 90.000 Tests umfasst, von denen 40.000 der Erkennung von Lizenzen im Code gewidmet sind. Die Autoren der umgeschriebenen Version haben eine erhebliche Leistungssteigerung (um das 10-100-fache) angegeben, aber laut dem Betreuer von ScanCode wurden um den Preis der Beschleunigung nicht alle Tests bestanden, was zu einer Verringerung der Korrektheit der Ergebnisse und der Vollständigkeit der bereitgestellten Informationen führte (der Klon lieferte ungenaue Ergebnisse und fand nicht alle Informationen bei der Analyse).
Während in speziellen Leistungstests der Rust-Port ScanCode erheblich übertroffen hat, war der Klon bei der Durchführung des Standard-Testsets langsamer, obwohl einige Prüfungen übersprungen wurden. Nach der Durchführung von Optimierungen in ScanCode, wie z. B. Caching, wurde die Leistung von ScanCode beim Scannen von Code nicht schlechter als die des Klons in Rust, während die Korrektheit der Ergebnisse vollständig erhalten blieb.
Den Autoren des Klons wird ebenfalls eine Verletzung der Urheberrechte und der Apache 2.0-Lizenz vorgeworfen, unter der der Code von ScanCode verbreitet wird. Es wird festgestellt, dass bei der Neuschreibung vier grundlegende Anforderungen der Lizenz verletzt wurden: die Beibehaltung der Originaldatei mit dem Hinweis (NOTICE), der Erhalt der Urheberrechtshinweise, das Hervorheben der vorgenommenen Änderungen und die Umbenennung in der abgeleiteten Arbeit. Nach den Hinweisen haben die Autoren des Klons die NOTICE-Datei platziert und ihr Projekt umbenannt, aber die anderen beiden Verstöße sind bisher nicht behoben worden.
Der Begleiter von ScanCode ist der Meinung, dass die Gemeinschaft Kriterien entwickeln sollte, um zu unterscheiden, was bei der Nutzung von KI als abgeleitete Arbeit betrachtet werden sollte und was als eigenständige Umsetzung. Seiner Meinung nach bleibt das Ergebnis nach der Neuschreibung des Codes in einer anderen Sprache mit Erhalt der Algorithmen und Struktur eine abgeleitete Arbeit, auch wenn während des Prozesses Variablen umbenannt und Kommentare neu formuliert oder entfernt wurden. Die Aussagen der Autoren des Rust-Ports über eine unabhängige Überarbeitung, die nur vom ScanCode-Projekt inspiriert wurde, sind in diesem Fall nicht korrekt, da die Arbeit darauf abzielt, den Eindruck einer originalen Entwicklung zu erwecken, was sogar schlimmer ist als direktes Kopieren, da solche Manipulationen schwerer zu entdecken sind.
Ein erhebliches Problem bei der Generierung von Code über KI ist das Fehlen einer Herkunftsnachverfolgung des Codes, der zur Erzielung des Ergebnisses verwendet wurde. Standardmäßig ignorieren KI-Agenten, die Code aus Open-Source-Projekten verwenden, Informationen über die Autoren, es sei denn, es werden speziell Mittel zur Identifizierung und Erhaltung von Metadaten über Lizenzen und Urheberschaft implementiert. Das Problem der Attribution betrifft nicht nur die Arbeit der Neuschreibung von Code von einer Sprache in eine andere, sondern auch die Codegenerierung im Allgemeinen – das Ergebnis kann in diesem Fall die Muster aus bestehendem Open-Source-Code, der im Modelltraining verwendet wurde, ziemlich genau wiederholen.
Quelle: opennet.ru
