- Kleine Utility-Bibliotheken für JavaScript werden durch die Fähigkeiten von LLMs zur Codegenerierung nach und nach überflüssig
- Ein Beispiel ist
blob-util, ein 10 Jahre altes npm-Paket, eine Werkzeugsammlung zur Verarbeitung von Blobs – heute kann KI ähnlichen Code jedoch spontan erzeugen
- Diese Veränderung ermöglicht weniger Abhängigkeiten und schnellere Entwicklung, führt aber auch zum Verlust von Lern- und Verständnisgelegenheiten
- Nach dem Ausbau eingebauter Funktionen in Node.js und im Browser beschleunigen LLMs nun das Ende kleiner Bibliotheken
- Künftig könnte der Wert von Open Source vor allem in kreativen, groß angelegten und spezialisierten Bereichen bestehen
Der Niedergang kleiner Open-Source-Projekte und der Einfluss von LLMs
blob-util, vor 10 Jahren entwickelt, ist eine einfache Sammlung von Utilities, um JavaScript-Blob-Objekte in Strings oder ArrayBuffer zu konvertieren, und wird mehr als 5 Millionen Mal pro Woche heruntergeladen
- Der Autor erstellte es, nachdem er gesehen hatte, dass PouchDB-Nutzer bei der Verarbeitung von
Blob-Objekten häufig verwirrt waren
- Derzeit nutzen etwa 80 % der Entwickler KI bei der Arbeit, wodurch einfache Utilities zunehmend durch LLMs ersetzt werden können
- Als Beispiel erzeugte Claude spontan eine TypeScript-Funktion, die ein
Blob in einen ArrayBuffer konvertiert
- Das Ergebnis von Claude ähnelt
blob-util, ist aber wortreicher und bei der Typprüfung übertrieben, während die Fehlerbehandlung verbessert ist
- Der Autor merkt an, dass diese Veränderung wie ein Schritt zu weniger Abhängigkeiten und robusterem Code wirken kann
Der Wertverlust lernorientierter Open-Source-Projekte
- Das README von
blob-util enthält ein Tutorial mit Kirby-Charakteren und sollte nicht nur Funktionalität bieten, sondern auch beim Lernen von JavaScript helfen
- In einer LLM-zentrierten Entwicklungsumgebung haben sofortige Antworten Vorrang vor Verständnis und Bildung, wodurch der Bedarf an solchen lernorientierten Open-Source-Projekten sinkt
- Versuche wie
llms.txt zur Automatisierung von Dokumentation führen dazu, dass die Bedeutung von Dokumentation selbst neu definiert wird
Die neue Richtung von Open Source
- Der Autor macht weiterhin Open Source, ist aber der Ansicht, dass die Zeit kleiner, wenig wertstiftender Bibliotheken vorbei ist
- Durch den Ausbau eingebauter Funktionen in Node.js und Browsern (
node:glob, structuredClone usw.) war bereits ein Rückgang zu beobachten
- LLMs beschleunigen diesen Trend nun entscheidend
- Auch Bibliotheken mit pädagogischer Rolle, etwa Underscore.js, werden weniger benötigt
- Einfache Funktionen wie das Gruppieren von Arrays lassen sich heute über Standard-APIs lösen
Bedingungen für Open Source, das Wert behält
- Wert konzentriert sich auf groß angelegte, kreative und spezialisierte Projekte, die LLMs nicht leicht erzeugen können
- Als Beispiel wird das Projekt
fuite genannt; auch Forschung zur Erkennung von Memory Leaks ist kreative Arbeit, die sich mit LLMs nur schwer reproduzieren lässt
- Die zukünftige Bedeutung von Open Source liegt in neuen Ideen und menschlicher Kreativität
- Als Beispiel wird das von Dominic Gannaway entwickelte Framework Ripple.js erwähnt, um menschlichen Experimentiergeist zu betonen
Fazit
- LLMs haben einen Teil von Open Source obsolet wirken lassen, doch es gibt weiterhin Möglichkeiten für neue Formen offenen Schaffens
- Die Kreativität und der Experimentiergeist menschlicher Entwickler werden als Schlüsselelemente für die Nachhaltigkeit des Open-Source-Ökosystems im KI-Zeitalter dargestellt
4 Kommentare
Ich denke, das ist in Ordnung, solange man nur seltsame Eigenheiten des Ökosystems wie bei
left-padverhindern kann.Da das Verhältnis von Aufwand zu Zufriedenheit immer schlechter wird, scheint es so, als würden kleine Utilities zunehmend ignoriert, weil sie im Vergleich zur Mühe des Wartens ihren Wert nicht mehr rechtfertigen.
Hacker-News-Kommentare
Heutzutage nutzen etwa 80 % der Entwickler AI bei der Arbeit
Utilities wie
blob-utillassen sich inzwischen meist direkt mit einem LLM erzeugenDieser Ansatz ist jedoch ein zweischneidiges Schwert. Ungeprüfter Code hinterlässt Wartungsaufwand und kann in Edge Cases scheitern
Deshalb haben sich im Java-Ökosystem vertrauenswürdige Standard-Utility-Sammlungen wie Apache Commons etabliert
Im Gegensatz dazu wirkt von LLMs erzeugter Code zwar auf den ersten Blick logisch, kann aber leicht seltsame Bugs verbergen
Wir treten in eine Zeit ein, in der AI massenhaft Code und Tutorials erzeugt und dadurch Qualitätsverlust und Spam beschleunigt werden
Die Motivation, persönliche Blogs oder kleine Bibliotheken zu erstellen, nimmt ab
Von LLMs erzeugte Texte wirken auf ähnlichem Niveau und sind deshalb sogar leichter herauszufiltern
Ich teste den echten Wert eines Tutorials, indem ich den Code in einem
devcontainerausführe. Wenn es funktioniert, ist es lesenswert, sonst fliegt es rausDie Mikro-Abhängigkeits-Hölle in JS war ein Albtraum
Hoffentlich geht diese Ära zu Ende und wir kehren in eine Zeit zurück, in der Entwickler wieder lernen zu programmieren
Es kam die Frage auf, ob das Problem des Invertierens eines Binärbaums überhaupt real existiert
Der Aussage „Die Zeit kleiner und wenig wertvoller Bibliotheken ist vorbei“ wird zugestimmt
Die Sprache Go hatte von Anfang an keine Abhängigkeits-Hölle, und das Problem bei npm sei kulturell bedingt
Wertvoller und interessanter sei es inzwischen, statt Utilities lieber tatsächlich funktionierende Produkte zu bauen
Ich halte Mikro-Abhängigkeiten an sich für sinnlos
Besser wäre es, die Funktionsliste einfach in Markdown zu schreiben, damit man sie kopieren kann
Der C-Ansatz mit kleinen Bibliotheken auf Basis von Header-Dateien ist praktischer
Es wurde die Frage gestellt, welche Form von Open Source überhaupt noch sinnvoll ist
Denn veröffentlichter Code wird am Ende ohnehin in AI-Trainingsdaten absorbiert
Daher könnte statt vollständigem FOSS ein Source-available-Modell eine Alternative sein
Der Autor betont, dass die Bedeutung eines Beitrags größer ist als eine bloße Namensnennung
Ich glaube nicht, dass Open Source verschwindet, sondern eher noch stärker werden wird
Wirklich kreative Entwickler werden mit AI Innovationen schaffen, die Unternehmen nicht hervorbringen können
Open Source bleibt weiterhin ein Ort echter Wertprüfung und ein Raum, in dem man mit AI über Grenzen hinaus lernt
Gleichzeitig würden Regierungen und Großunternehmen wohl versuchen, lokale AI-Systeme zu regulieren, und bald werde es Grenzen dafür geben, welche AI Bürger nutzen dürfen
Mehr Zeit geht für Reviews und Richtliniendebatten verloren, und besonders in komplexen Bereichen wie Compilern hilft AI überhaupt nicht
Jemand betonte, dass es auch dann noch wertvoll sei, Code überhaupt zu veröffentlichen, selbst wenn er nicht als Paket eingebunden wird
Wenn ein LLM den Code stattdessen schreibt, sinkt der Lernaufwand und man kann sich auf tiefere Themen konzentrieren
Ein Beispiel: Jemand betrieb 14 Jahre lang
rubygems.orgund ging dann enttäuscht weg, weil ihn die zunehmende Unternehmenslogik frustriert hatteEs wurde darauf hingewiesen, dass auch das Schreiben von Code mit AI letztlich eine Form von Abhängigkeit ist
Ungeprüftes Einfügen unterscheidet sich nicht wesentlich vom Hinzufügen externer Bibliotheken
Anfang 2024 habe ich ein kleines Projekt gebaut
und Claude 3.5 gebeten, ein Store-State-Modul zu erstellen, das sich in purem JavaScript verwenden lässt.
Ich erinnere mich noch, wie überrascht ich war, dass dabei kompakter Code herauskam, der sogar Migrationsszenarien berücksichtigte.
Gerade bei kleinen Bibliotheken gibt es wahrscheinlich viele öffentlich verfügbare Codes von Leuten mit ähnlichen Ideen, und wenn man bedenkt, dass KI diese leicht in eine standardisierte Struktur bringen kann, wirkt das wie eine natürliche Entwicklung.
Wie bei copyparty: etwas, auf das jeder kommen kann, das aber für Einzelne schwer über lange Zeit zu pflegen ist.
Ich finde es schon schade, dass es künftig schwieriger werden könnte, diese sauber ausgearbeiteten Projekte zu sehen, die entstehen, wenn jemand solche Projekte bis zum Ende konsequent vorantreibt.