Tudni talán nem is tudtak róla, de észre szinte biztos észrevették, hogy
a héten egyetlen dühös programozó majdnem tönkretette az internetet.
A történet főhőse Azer Koçulu, a török programozó. Ő az:
Őt aztán tényleg nem kell ismerni, bár egész sok apró programocskával segítette már a Javascript programnyelvet használó programozókat. Például a Kik nevűvel, ami a js-programozók appstore-jából, az NPM-ből is szabadon letölthető.
Aztán egyszercsak nem volt többé letölthető.
Azért nem, mert a programot ugyanúgy hívják, mint az állítólag népszerű közösségi oldalt, a Kiket, amiről én most hallok először az életemben. A Kik (a közösségi oldal) a névazonosság felfedezése után levélben kérte Koçulut, hogy változtassa meg a program nevét. És bár a kérdés mégy Koçulu szerint is visszafogott és ésszerű volt, ő megmakacsolta magát.
„Amikor elkezdtem írni a programot, nem tudtam, hogy van egy ugyanilyen nevű vállalat. És nem akartam hagyni, hogy egy vállalat kényszerítsen a névváltásra” - írta blogposztjában.
De mert a jog a Kik (a közösségi oldal) oldalán állt, az NPM-nek nem volt választása: ők maguk törölték a programot.
Ez még nem lett volna katasztrófa, ha Koçulu nem rág be ezen annyira, hogy minden, valaha írt programját törölje és hatástalanítsa. Köztük az "npm left-pad" nevű, mindössze 11 sorból álló programocskáját is, amiről valószínűleg szintén nem hallottak eddig. Az, hogy mit csinál, talán most mindegy is, a lényeg, hogy
a javascript, hogy egy programozó barátomat, Jocót idézzem, „elég szar nyelv”, vagyis sok minden hiányzik belőle. Ezeket ún. modulokkal oldják meg. Ezek a modulok egymásra hivatkoznak, így ha egy kiesik, akkor az egész program összeomolhat.*
A left-padet ezidáig 525 ezer programozó töltötte le, az interneten futó programok ezrei vannak tele ilyen apró feljegyzésekkel - például az a Babel, amit a Facebook, a Netflix és például mi is használunk. Így amikor Koçulu dühében törölte a left-padet, az azt használó programok kártyavárként omlottak össze:
hiába keresték a hivatkozást, már nem volt ott.
A problémát végül az NPM úgy oldotta meg, hogy újra feltöltötték Koçulu kódját, új tulajdonosnak adva azt. Az NPM technológiai vezérigazgatója, Lauri Voss szerint a döntés nem volt egyszerű, és az NPM-en belül is megosztottak, hogy jól döntöttek-e. „"Ütköztek az NPM használók közösségének és egy szerzőnek az érdekei. Mi pedig a többség szükségletei mellett döntöttünk”" - írta.
A veszély elhárult, de a tanulság megmaradt:
soha ne kúrj fel egy programozót!
*Pontosítás: Programozó barátom, Jocó szólt, hogy a left-pad nem is azt csinálja, amit írtam. Ebben nyilván igaza van, mert én nem értek hozzá, így csak lefordítottam, amit a BI írt. Ő viszont ért hozzá, és elmagyarázta, hogy a lényeg az, hogy a left-pad és a többi hasonló modul, amikből aztán összeáll a program, hivatkozik egymásra, így az egyik kiesése nagy galibákat tud okozni. Kösz, Jocó, a hibáért pedig elnézést!
Kommentek
Közösségünk messze túlnyomó többségének jószándéka és minden moderációs igyekezetünk ellenére cikkeink alatt időről-időre a kollégáinkat durván sértő, bántó megjegyzések jelentek meg.
Hosszas mérlegelés és a lehetőségeink alapos vizsgálata után úgy döntöttünk, hogy a jövőben a közösségépítés más útjait támogatjuk, és a cikkek alatti kommentelés lehetőségét megszüntetjük. Közösség és Belső kör csomaggal rendelkező előfizetőinket továbbra is várjuk zárt Facebook csoportunkba, a Közértbe, ahol hozzászólhatnak a cikkeinkhez, és kérdezhetnek a szerzőinktől is.