Titelbild Was können wir gegen die Vibe-Committer tun

Was können wir gegen die Vibe-Committer tun

Ich hatte kürzlich eine Diskussion auf Mastodon, die durch einen Post der Software Freedom Conservancy über den Umgang mit LLM-Gen-AI-Submissions angestoßen wurde. Es gibt viele Leute, die strikt dagegen sind, LLM-generierten Code in ihre Projekte zu lassen. Das ist definitiv ein verständlicher Standpunkt, wenn man Dinge wie Legalität, unethische Datenquellen, Ressourcenverbrauch und Machtkonzentration bedenkt.

Abgesehen davon ist es völlig legitim, wenn ein Maintainer Regeln für Submissions festlegt. Eine FOSS-Lizenz bedeutet nicht einmal, dass ein Maintainer überhaupt mit irgendwem interagieren muss. Sie stellt einfach nur den Sourcecode zur Verfügung.

Trotzdem hat es mich zum Nachdenken gebracht, welche Auswirkungen diese Regeln haben könnten und in welchen Fällen sie sich unterm Strich eher negativ auswirken.

Die Maintainer machen die Regeln. Ihnen ist die Pflege einer Code-Version anvertraut, zu der andere vielleicht beitragen wollen. Oft ist das eine einzelne Person, die nicht nur etwas erschaffen hat, das sie teilen wollte, sondern es auch auf sich genommen hat, anderen dabei zu helfen, es zu verbessern. Dafür sollten wir für ihre Arbeit dankbar sein und ihre Wünsche respektieren.

Aber so funktioniert die Welt leider nicht. Ob durch Ignoranz, Anspruchsdenken oder böse Absicht – Maintainer werden oft mit Forderungen oder Feindseligkeit konfrontiert. Ihre Grenzen werden ignoriert, und die Frustration wächst. LLM-generierter Code ist dafür ein perfekter Nährboden. Während manche ihn als den heiligen Gral sehen, halten andere ihn für den Teufel. Diese stark polarisierende Wirkung, kombiniert mit ignorierten Grenzen, führt schnell zu Konflikten.

Solid Snake und Benny Hill

Jeder Konflikt hat das Potenzial, für alle Seiten extrem stressig zu werden. Das gilt besonders, wenn unschuldige Leute ins Kreuzfeuer geraten. In meinen Jahren als Softwareentwickler habe ich eine Menge schlechten Code gesehen. In letzter Zeit hat so mancher Code meinen Vibe-Code-Sensor ausgelöst, obwohl er von einem Menschen geschrieben wurde.

Auf der anderen Seite glaube ich, dass ich die Herkunft einer Code-Submission wahrscheinlich ganz gut verschleiern könnte. Ich würde das niemals tun, besonders nicht, um jemanden zu täuschen. Aber das lässt mich vermuten, dass da draußen viele Leute unterwegs sind, die das gleiche Wissen und kein Problem mit Täuschung haben.

Das könnte dazu führen, dass manche Leute ihren LLM-Code wie Solid Snake in eine geheime Basis einschleusen, während andere von einem wütenden Maintainer wie in einem Benny-Hill-Sketch verjagt werden.

Misstrauen führt zu Wut, Wut führt zu einer miesen Zeit für alle

Ich bin natürlich nicht der Erste, der an böswillige Akteure denkt, die versuchen, sich an den Verteidigungen vorbeizuschleichen. Ich bin mir sicher, dass die leidenschaftlichsten Maintainer sich dessen ständig bewusst sind – ständig auf der Hut nach dem kleinsten Hinweis auf LLM-Beteiligung, immer wachsam.

Oder sie machen sich ständig Sorgen um die Quelle einer Submission, zusätzlich zu deren Qualität – immer misstrauisch. Nach meinen Beobachtungen kann das mit Wut einhergehen. Vielleicht Wut über LLMs, über die Missachtung von Grenzen oder über die zusätzliche Arbeit, die sie reinstecken müssen.

An diesem Punkt drängt sich die Frage auf, wer hier eigentlich noch irgendwas gewinnt. Schlimmer noch: Einige Leute verlieren definitiv. Die Maintainer, neue Programmierer und die FOSS-Community als Ganzes sind negativ betroffen, während Vibe-Coder und LLM-Firmen oft trotzdem bekommen, was sie wollen.

Pragmatische Prinzipien

Das klingt alles ziemlich übel für Leute, die Prinzipien haben. Zu seinen Prinzipien zu stehen, kann Unschuldige und sogar den Maintainer verletzen, aber seine Prinzipien aufzugeben, kann genauso wehtun. Mein persönlicher Ausweg: pragmatische Prinzipien.

Damit meine ich, mir gezielt die Kämpfe auszusuchen, die ich gewinnen kann und die unterm Strich etwas Positives bewirken. Ein paar meiner Leitprinzipien sind:

  • Such bei einer Submission nicht krampfhaft nach Anzeichen für LLM-Code, aber ignoriere sie auch nicht
  • Im Zweifel geh davon aus, dass es von einem Menschen stammt oder sprich deine Zweifel offen an
  • Bewerte Submissions in erster Linie nach der Codequalität
  • Geh davon aus, dass die Leute helfen wollen
  • Denk daran, dass wir alle Fehler machen
  • Konzentrier dich auf das Positive

Nachwort

Ich möchte klarstellen, dass ich will, dass jeder seine Grenzen so setzt, wie er es für richtig hält, und dass das von allen respektiert werden sollte. Ich wünsche mir eine Welt, in der es selbstverständlich ist, dass die Prinzipien anderer respektiert werden.

Der pragmatische Ansatz ist nur mein persönlicher Weg, um damit umzugehen, wenn ich meine Prinzipien nicht auf eine gesunde oder erfolgreiche Weise verteidigen kann. Mir ist klar, dass das nicht leicht ist, wenn ein Projekt von “Slop” überrannt wird. Es ist keine perfekte Lösung und auch nicht für jeden etwas.