Neuroróżnorodność w miejscu pracy
5.01.20242 min
Bulldogjob

Bulldogjob

Paraliż w pakietach npm, bo chcieli się pośmiać

Poznaj szczegóły chaosu w świecie open-source JavaScriptu. Miało być fajnie, wyszło jak wyszło.

Paraliż w pakietach npm, bo chcieli się pośmiać

W ostatnich dniach w społeczności skupionej wokół JavaScriptu zapanował niemały chaos. Wszystko to z powodu nieoczekiwanej awarii na platformie npm, wywołanej przez tajemniczy pakiet o nazwie "everything".

Miało być śmiesznie

"Everything" został stworzony jako żart i miał na celu zainstalowanie za jego pośrednictwem wszystkich innych pakietów w rejestrze. Przez to wiele pakietów stało się jego zależnościami, co rezultacie zablokowało możliwość ich usunięcia. Twórcy ostrzegali, by nie instalować pakietu "everything", oraz dołączonego wymownego mema z Garym Oldmanem z filmu Leon, krzyczącym słowo "everything", został on pobrany 224 razy do 3 stycznia. To wystarczyło, aby rozpętało się piekiełko.

Pakiet "everything" miał być podobno wyłącznie żartem. Jego twórcy nie przewidzieli, że stanie się on zapalnikiem ciągu problemów na platformie npm. Reakcje na ten incydent były zróżnicowane. Grupą, która zareagowała negatywnie jest wielu maintainerów projektów open source, którzy nie mogą przez to wycofać trefnych lub eksperymentalnych wersji z NPM.

Po rozpętaniu się burzy i ocenieniu skali problemu, twórcy "everything" próbowali skontaktować się z NPM i GitHubem, bo - uwaga - przecież sami nie mogli usunąć pakietu, który jakimś sposobem stał się zależnością dla samego siebie.

Aktualnie, pakiet ten z ponad 3000 sub-pakietami, nadal pozostaje opublikowany na NPM registry. GitHub pracuje nad rozwiązaniem problemu. 

Nie tak kolorowo w open source?

To ciekawe, bo systemowa blokada wycofywania pakietów, które są zależnościami innych pakietów prawdopodobnie ma źródło w historii z left-padem. W 2016 roku z NPM autor usunął pakiet left-pad, który był zależnością dla wielu dużych projektów. To sprawiło, że wielu developerów JS na całym świecie miało pracowity dzień.

Po 7 latach temat zależności powraca i jak widać nadal nie jest on rozwiązany. Część publiki ma nadzieję, że skłoni to NPM to głębszego przemyślenia problemów, z jakimi platforma boryka się od lat. Może ono również skłonić do refleksji nad lepszym zrozumieniem konsekwencji takich "żartów" w świecie programistycznym. Albo napędzić kreatywność i motywację internetowych trolli 👀 

<p>Loading...</p>