Un programator furios a stricat Internetul săptămâna trecută

cod programareProbabil ca nu ati realizat, dar saptamana trecuta o mare parte a software-ului pe care se bazeaza Internetul a fost intors cu susul in jos de un programator furios care a ales sa retraga tot codul sau dintr-un registru Javascript intitulat npm.

Nu pare a fi mare lucru pentru ca liniile de cod sunt sterse si adaugate tot timpul, dar developerul din Oakland, Azer Koculu, se intampla sa fi creat un pachet cu 11 linii de cod pe care se bazau companii precum Facebook, Netflix si Airbnb.

Problema a fost rezolvata intre timp, iar pentru majoritatea utilizatorilor nu a existat un down-time datorita cache-ului, dar pentru dezvoltatorii de software a fost un cosmar ce a rezultat in mii de build-uri care au cazut pe rand in fiecare secunda.

Deci cum poate un pachet de linii de cod sa doboare internetul ca pe un castel din carti de joc? In primul rand, trebuie sa intelegem ca atunci cand vine vorba de programe, exista multe module si tool-uri care simplifica si eficientizeaza procesul.

Cel mai mare registru de module Javascript se afla pe o platforma open-source intitulata npm care functioneaza precum App Store destinat developerilor. Ei cauta dupa ce functionalitati au nevoie si spera sa gaseasca un modul care sa-i ajute.

Unul dintre cele mai populare module a fost cel al lui Koculu de 11 linii „left-pad„, care era surprinzator de simplu, dar pe care se bazau foarte multi. De fapt, comunitatea programatorilor nu realizase pana acum cat depindea de el. Left-pad este folosit ca o scurtatura de developeri pentru a nu fi nevoiti sa scrie tot codul de baza de la zero de fiecare data. Si nu vorbim doar de copii care isi incep drumul in programare ci si de actori importanti din Silicon Valley. Pe left-pad se bazeaza Babel, care ajuta Facebook, Netflix si Spotify. Totul functioneaza bine atat timp cat modulul nu dispare, ceea ce s-a intamplat cand Koculu s-a decis sa-l scoata subit.

Citeste si  Lentile de contact cu zoom

Datorita faptului ca este o platforma open-source, cineva a scris un alt modul aproape identic in doar 10 minute, ce a rezolvat cateva probleme dar nu pe toate. NPM a decis republicarea un backup mai vechi al left-pad, care a rezolvat restul problemelor, dar masura a cauzat discutii in comunitatea programatorilor pe tema publicarii modulelor ce pot fi apoi retrase oricand.

Koculu a retras modulul dupa un schimb dur de emailuri cu reprezentatii companiei Kik in privinta unui modul cu acelasi nume la care acesta lucra. Compania dorea redenumirea lui pentru a putea lansa si ea propriul modul cu numele acesta. El a refuzat si asa s-a declansat un cosmar.

NPM a intrat in scena, luand partea Kik, ceea ce l-a enervat pe Koculu care a reactionat vehement cerand NPM retragerea tuturor pachetelor sale si stergerea contului sau de developer, ceea ce a dus la stergerea a 273 de module.

[sursa]