Das Open-Source-Tool ScanCode Toolkit, das zum Scannen von Code auf Urheberrechtsverletzungen, zur Identifikation verwendeter Lizenzen und zur Aufdeckung unbehebbarer Schwachstellen entwickelt wurde, hat ein Projekt kritisiert, das mit Hilfe von KI einen Klon des ScanCode-Produkts erstellt hat, der von Python nach Rust neu geschrieben wurde (der Name des Klons wird nicht erwähnt, aber alle Anzeichen deuten darauf hin, dass es sich um das Projekt Provenant handelt). Es wird behauptet, dass im neu geschriebenen Projekt das Markenrecht von ScanCode verletzt und Hinweise auf Urheberrechte und Lizenzen entfernt wurden. Die Vorwürfe basieren darauf, dass im neu geschriebenen Klon weiterhin wesentliche Algorithmen von ScanCode verwendet, die Projektarchitektur beibehalten und die Code-Struktur erhalten geblieben sind.
Laut dem Begleiter von ScanCode war die erfolgreiche Erstellung des Klons auf das Vorhandensein eines umfassenden automatisierten Testsets des Projekts zurückzuführen, das über 90.000 Tests umfasst, von denen 40.000 der Erkennung von Lizenzen im Code gewidmet sind. Die Autoren der überarbeiteten Version meldeten eine erhebliche Leistungssteigerung (um das 10- bis 100-Fache), doch laut dem Begleiter von ScanCode ging die Geschwindigkeit auf Kosten der vollständigen Durchführung des Testsets sowie der Genauigkeit und der Vollständigkeit der gelieferten Informationen (der Klon lieferte falsche Ergebnisse und fand nicht alle Informationen bei der Analyse).
Während Rust im speziellen Leistungstest ScanCode erheblich übertroffen hat, erwies sich der Klon bei der Durchführung des Standard-Testsets als langsamer, obwohl dabei einige Überprüfungen ausgelassen wurden. Nach den Optimierungen in ScanCode, wie z.B. Caching, war die Leistung von ScanCode beim Scannen des Codes nicht schlechter als die des Klons in Rust, wobei die Funktionsgenauigkeit vollständig erhalten blieb.
Den Autoren des Klons wird auch eine Verletzung des Urheberrechts und der Apache 2.0 Lizenz vorgeworfen, unter der der Code von ScanCode verbreitet wird. Es wird festgehalten, dass während des Umschreibens vier grundlegende Anforderungen der Lizenz nicht eingehalten wurden: das Beibehalten der Originaldatei mit einer Mitteilung (NOTICE), die Bewahrung der Urheberrechtsvermerke, die Hervorhebung der vorgenommenen Änderungen und die Umbenennung in der abgeleiteten Arbeit. Nach der Beanstandung haben die Autoren des Klons die NOTICE-Datei veröffentlicht und ihr Projekt umbenannt, jedoch bleiben die beiden anderen Verstöße bisher unbehoben.
Der Begleiter von ScanCode ist der Meinung, dass die Gemeinschaft Kriterien entwickeln sollte, um zu unterscheiden, was bei der Nutzung von KI als derivative Arbeit gilt und was als eigenständige Umsetzung. Seiner Ansicht nach bleibt das Ergebnis auch nach der Umschreibung von Code in einer anderen Sprache unter Beibehaltung der Algorithmen und der Struktur eine derivative Arbeit, selbst wenn dabei Variablen umbenannt und Kommentare geändert oder entfernt werden. Die Aussagen der Autoren des Rust-Ports über eine unabhängige Überarbeitung, die lediglich vom Projekt ScanCode inspiriert wurde, sind in diesem Fall unzutreffend, da die Arbeit darauf abzielt, den Anschein einer ursprünglichen Entwicklung zu erwecken, was sogar schlimmer ist als direktes Kopieren, da solche Manipulationen schwerer zu erkennen sind.
Ein wesentliches Problem bei der Generierung von Code durch KI ist das Fehlen einer Nachverfolgung des Ursprungs des Codes, der zur Erzielung des Ergebnisses verwendet wurde. Standardmäßig ignorieren KI-Agenten, die Code aus Open-Source-Projekten verwenden, die Informationen über die Autoren, es sei denn, es werden speziell Mittel implementiert, um Metadaten über Lizenzen und Urheberschaft zu identifizieren und zu speichern. Das Problematik der Attribution betrifft nicht nur die Arbeit an der Umschreibung von Code von einer Sprache in eine andere, sondern auch die Codegenerierung im Allgemeinen – das Ergebnis kann in diesem Fall ziemlich genau die Muster aus bestehendem Open-Source-Code wiedergeben, der im Prozess des Modelltrainings verwendet wurde.
Quelle: opennet.ru
