Was ist in der JavaScript-Welt los?

News.JS: Drama um CoreJS, fragliche Update-Faulheit & das Dependency-Quiz
Keine Kommentare

Wird CoreJS noch weiter entwickelt? Spielen Updates überhaupt eine Rolle in der JavaScript-Welt? Diesen Fragen widmen wir uns in dieser Woche in den NewsJS. Außerdem geht es um die Dependencies der Dependencies: Wie viele Packages sind es wirklich?

Drama um CoreJS – oder nur ein Sturm im Wasserglas?

Der Maintainer von CoreJS, Denis Pushkarev, teilte am 11. Januar in einer Diskussion auf GitHub mit, in den nächsten Tagen ins Gefängnis zu müssen, weil er nicht die „notwendigen Geldmittel“ auftreiben konnte. Da Pushkarev das von vielen großen Libraries genutzte Projekt alleine entwickelt, und zuletzt am 14. Januar auf GitHub aktiv war, wirft diese Mitteilung Fragen hinsichtlich der Zukunft von CoreJS auf – und in Bezug auf die Struktur des JavaScript-Ökosystems an sich.

Pushkarev hatte im vergangenen Jahr ein Stellengesuch in die Post-Install-Message von CoreJS eingefügt. Das löste kontroverse Diskussionen aus, die sowohl in der Natur von Open-Source-Projekten, als auch im Verhalten des CoreJS-Entwicklers begründet waren. Während ein Teil der Community ihre Unterstützung dafür zum Ausdruck brachte, dass Open-Source-Maintainer um finanzielle Zuwendungen bitten oder ihre Reichweite für eigene Zwecke nutzen, sorgte das Stellengesuch selbst bereits für Unmut bei anderen Nutzern der kostenlosen Library, die sich durch solche Meldungen gestört fühlen. Noch größere Unruhe löste Pushkarev jedoch mit der Mitteilung aus, dass er hunderte Jobangebote erhalten, diese jedoch abgelehnt habe, und die Meldung trotzdem im Code belassen wolle.

Im Kontext einer dieser Diskussionen kündigte der Entwickler nun auch seinen bevorstehenden Gefängnisaufenthalt an. Gründe dafür nannte er nicht; seine von vielen Nutzern als provokativ empfundenen Äußerungen zum Stellengesuch weckten in Teilen der Community Zweifel am Wahrheitsgehalt der Aussage zum Gefängnisaufenthalt. Eine Anfrage dieser Redaktion an Denis Pushkarev blieb bis dato unbeantwortet. Wann bei CoreJS wieder mit Updates gerechnet werden kann, ist unklar.

CoreJS wird beispielsweise von Angular und Babel verwendet. Liegen derartige Projekte in der Hand einer Einzelperson, besteht keine Sicherheit bezüglich zukünftiger Updates, wie der Vorfall um Pushkarev deutlich zeigt. Betroffen ist jedoch nicht nur dieses Projekt; die Situation gestaltet sich in vielen Teilen des Open-Source-Ökosystems ähnlich. So hatte beispielsweise die Übergabe von event-stream an einen neuen Maintainer im vergangenen Jahr zur Einschleusung von Malware in das Package geführt. Die Open-Source-Welt, die das JavaScript-Ökosystem prägt, hat durchaus auch Schattenseiten.

International JavaScript Conference

Effective Microservices Architecture In Node.js

by Tamar Stern (Palto Alto Networks)

React Components And How To Style Them

by Jemima Abu (Telesoftas)

Angular Camp 2020

Als Online- oder Präsenztraining!

Das 360°-Intensivtraining mit Angular-Koryphäe Manfred Steyer
Präsentiert von Entwickler Akademie

Wer ist Update-faul?

Cloudflare hat das Update-Verhalten der Nutzer von CDNJS analysiert und kommt zu dem Schluss, dass JavaScript-Libraries nach ihrer Installation selten aktualisiert werden. Dazu wurden unter anderem die Download-Zahlen verschiedener jQuery-Versionen auf der Plattform ausgewertet. Auch nach der Veröffentlichung der neusten Version von jQuery sei kein signifikanter Rückgang in der Nachfrage nach den vorherigen Versionen zu verzeichnen gewesen. Daraus schließt Cloudflare, dass JavaScript-Libraries häufig weiter in der ursprünglich installierten Version genutzt werden, nachdem sie einmal in ein Projekt eingebunden wurden. Die veröffentlichten Daten bleiben dabei jedoch eher oberflächlich: Nicht diskutiert wurden beispielsweise die Frage, inwiefern es sich um Dependencies handelt oder der Umstand, dass jQuery in den vergangenen Jahren nur noch wenige relevante Neuerungen erhalten hat. Der hier festgestellten Update-Faulheit kann nämlich durchaus npms gegensätzliches Verhalten gegenüber gestellt werden: Dort gilt eher als problematisch, dass Updates zu häufig automatisiert installiert werden.

Dependencies haben Dependencies haben… aber wie viele?

Wie viele Dependencies haben die Dependencies der am häufigsten genutzten npm-Packages selbst noch gleich? npmbomb heißt das Quiz, das das Wissen der npm-Nutzer über diese Abhängigkeitsuntiefen auf die Probe stellt. Angelehnt ist der Name an die klassischen Zip-Bombs, die als harmlose Datei daher kamen und beim Entpacken das System lahmlegten, weil zu viel drin enthalten war. Im gleichen Stil hat jede Dependency großer Projekte auf npm natürlich auch wieder Dependencies, die plötzlich ungeahnte Mengen an Dateien herunterladen (auch wenn die Rechner das ja inzwischen abkönnen). Genau darum geht es hier: Wer die Namen der auf npmbomb abgefragten Packages noch nie gehört hat, sollte mal einen genaueren Blick auf die genutzten npm-Pakete werfen. Vielleicht findet sich eins davon ja doch im eigenen Projekt wieder. Und auch, wenn die Dependency-Zahl bei manchen der auf npmbomb gelisteten Projekte nicht immer allzu hoch klingt: Wenn man bedenkt, dass es hier um den Multiplikationsfaktor geht, sind auch wenige Dependencies pro Dependency wieder relevant.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu:
X
- Gib Deinen Standort ein -
- or -