Internet on kergesti lõhutav: mees kustutas 11 rida koodi, mõjusid tundis terve maailm

 (62)
Internet on kergesti lõhutav: mees kustutas 11 rida koodi, mõjusid tundis terve maailm
Foto: REUTERS

Tänavu märtsi lõpus juhtus selline asi, et väga paljud veebipõhise tarkvara loojad ei saanud enam oma tööd teha, sest üks mees oli omakirjutatud tarkvarapaketi veebist eemaldanud.

See mees on 28-aastane, kannab nime Azer Koçulu ning elab USA-s Californias Oaklandis. Mis juhtus? Et asja selgitada, peame alustama kaugemalt.

Tarkvaramaailmas on üldiselt nii, et arendajad kasutavad nii oma- kui ka teiste loodud koodi. Sa naudid näiteks Facebooki, aga selle toimimiseks on käigus palju eri lahendusi eri autoritelt. See võib toimuda tasuta, aga see on ka suur äri, kus liiguvad miljardid eurod.

Koçulu panustas koodipakette firma npm samanimelisse teenusesse, mis on veebiarenduse maailmas popp ja tähtis töövahend, sest pakub palju JavaScriptis loodud vabavara.

Koçulu vaated tarkvara loomise ja levitamise suhtes on vanamoelised. See peaks olema kõigile tasuta kättesaadav, et inimesed saaksid õppida ja end harida. Sellest lähtuvalt ei meeldi talle muidugi ka seadused, mille abil patente ja kaubamärke kaitstakse. See on suur äri küll, aga takistab ju üldist innovatsiooni, kuna kõik ei saa kõigele tasuta ligi.

Kogu häda algas Koçulu paketist kik. Nimelt eksisteerib nutiseadmetele sama nimega vahetu sõnumside äpp, mis on juhtumisi ka laialt levinud.

Kanadas loodud sõnumside-rakendusel on detsembri seisuga 240 miljonit kasutajat ning seda kasutab sõnumite, piltide ja muu säärase vahetamiseks väidetavalt 40 protsenti USA teismelistest.

Seotud lood:

Sõnumside-Kik palus oma agendil Koçuluga ühendust võtta ja veenda teda paketi nime muutma, et seda ei saaks äpiga segi ajada.

Tekkis pikem kirjavahetus, mis sisaldas rahapakkumist ja ähvardusi asi kohtusse viia, aga Koçulu keeldus ikka projekti ümber nimetamast.

Äpi esindajad ei andnud siiski alla ja pöördusid järgmiseks npm-i poole. Firma oli koostööaltim ja nõustus paketi nime muutma, et keegi tõesti kahte väga erinevat toodet segi ei ajaks.

Koçulu oli sellest ootamatust pöördest väga haavunud, eriti kuna tunneb vastava otsuse teinud tegevjuhti isiklikult. Ta teatas, et ei taha enam npm-is oma pakette pakkuda ja soovib need ruttu eemaldada.

Kuna firma ei tegutsenud piisavalt ruttu, kustutas ta need ise, kokku 273 erinevat paketti.

22. märtsil hakkasid JavaScripti kasutavad programmeerijad aga kõikjal terves maailmas märkama, et nende töö on häiritud. Tekkis ulatuslikke probleeme: veebis aktiivseid teenuseid ei saanud enam värskendada.

Kui asja uurima hakati, selgus, et ulatusliku seisaku tekitas Koçulu ühe väikese koodijupi kadumine npm-i valikust. See koosnes vaid 11 reast ja oli mõeldud lihtsa funktsiooni täitmiseks.

Koodijupi kogu tähtsus seisnes tõigas, et see kuulus paljude suuremate, laialdaselt kasutatavate pakettide koosseisu. Kui see ootamatult kadus, tekkis probleeme ka suuremate pakettidega, kuni äppide ja teenuste tööprobleemideni välja. Ka ülalpool suvalise näitena toodud Facebook kasutab vabavara, mille koosseisu kik-pakett kuulus.

npm-il (firmal) ei jäänud tekkinud segaduse keskel muud üle kui kadunud kood omavoliliselt taastada. Kaos kestis kokku vaid kaks tundi.

Selline lugu näitab, kui haavatav kogu moodsa tarkvara maailm on. Isegi laialt kasutatavad teenused võib käigust lüüa väikese koodijupiga, mille keegi kunagi kirjutas ja mille olemasolust teenuse arendajad tõenäoliselt isegi teadlikud pole.

Lõpp hea, kõik hea (esialgu). Veebis on sarjata saanud nii Koçulu (et oma jama tõttu paljude tööd segas), firma npm (et koodikirjutajat ei toetanud ja teiste firmade palvetele sellisel viisil vastu tuleb) ja kogu süsteem (et see nii haavatav on).

Pikem ülevaade koos koodinäidistega on leitav saidil Quartz