Das GNOME-Projekt hat seine Richtlinien für die Überprüfung von Erweiterungen aktualisiert, um gegen die zunehmende Flut von KI-generierten Einreichungen mit unnötigem Code und schlechten Programmierpraktiken vorzugehen.
Das Wesentliche
Eine neue Regel erlaubt es Prüfern, GNOME Shell-Erweiterungen abzulehnen, die übermäßigen, unnötigen Code aufweisen und eindeutige Anzeichen einer KI-Generierung zeigen.
Wir haben diese Regel hinzugefügt, da wir in den letzten zwei Monaten viele neue Erweiterungen erhalten haben, die KI nutzen, um GNOME-Shell-Erweiterungen mit großen Mengen unnötigen Codes zu erstellen. In einigen Fällen erhalten wir sogar KI-generierte Antworten, wenn wir während des Überprüfungsprozesses um Erklärungen bitten.
Javad Rahmatzadeh, Prüfer für GNOME-Erweiterungen, berichtet, dass an manchen Tagen mehr als 15.000 Zeilen Erweiterungscode geprüft werden müssen, oft über mehrere Einreichungen hinweg. Erweiterungen, die übermäßige und redundante Logik enthalten, erfordern deutlich längere Prüfungszeiten und erhöhen somit den Rückstand für alle Entwickler.
Ein von den Prüfern identifiziertes wiederkehrendes Muster ist beispielsweise die weit verbreitete Verwendung unnötiger Konstrukte wie defensive Try-Catch-Blöcke bei Aufrufen klar definierter APIs. Diese Muster sind für handgeschriebene GNOME-Shell-Erweiterungen nicht typisch, sondern stammen häufig aus generischer KI-Codegenerierung statt aus plattformspezifischem Wissen.
Das Problem dabei ist jedoch, dass sich solche Muster, sobald sie in einer Erweiterung auftauchen, auf andere übertragen und so die Gesamtqualität des Codes weiter verschlechtern. Um dem entgegenzuwirken, sieht die neue Regel vor, dass Erweiterungen abgelehnt werden, wenn deren Code auf eine KI-Generierung hindeutet.
KI-Tools sind nicht grundsätzlich verboten, sondern auf Lernzwecke, Experimente und Unterstützung beschränkt. Entwickler müssen ihren eingereichten Code jedoch verstehen und erklären können.
Fazit
Die Maßnahme soll die Codequalität wahren, das Prüfverfahren effizient gestalten und sicherstellen, dass veröffentlichte Erweiterungen von Entwicklern stammen, die ihren Code verstehen und pflegen können. Es ist nicht beabsichtigt, neue Mitwirkende grundsätzlich abzuschrecken.

