Programerji so po svoji naravi malce leni oziroma bolje rečeno iznajdljivi, praktični in pragmatični. S svojo kodo pogosto hočejo kaj doseči, a nimajo časa, da bi to tudi sprogramirali. Zato gredo v posebno podatkovno bazo in v njej pogledajo ali je kaj takšnega naredil že kdo drug. Ker gre za odprtokodne projekte, je te mogoče uporabiti brez posebnih težav z avtorskimi pravicami. Programer to kodo vzame, jo uporabi v svojem projektu, ki je lahko končni izdelek ali pa spet nek nov modul, ki ga lahko uporabi nekdo drug. Nekako podobno kot če bi vzeli kocke Lego, naredili iz njih zid, nato bi vse skupaj vzel nekdo in dodal svoje zidove, nato bi tretji v skladu s svojim projektom na te zidove postavil streho, nekdo drugi pa bi, spet v skladu s svojim projektom, te zidove uporabil recimo kot pritličje večje hiške… Skratka gre za gradnike, ki se lahko uporabljajo na najrazličnejše načine.
Na tak način je, kot lahko slišite in vidite tudi v spodnjem videu, zgrajen več ali manj ves internet. Ker je teh blokov kode, modulov, paketov ali kakorkoli jih že imenujemo, veliko, obstaja poseben »organ« za njihovo upravljanje, imenovan NPM (Node Package Manager). Zdaj pa k težavi, o kateri pišemo.
Turški programer Azer Koçulu je napisal enega takšnih modulov in ga poimenoval kik. Kaj je ta modul počel, pravzaprav ni bistveno. V istem času je obstalo tudi kanadsko podjetje Kik, ki je razvijalo svoj program za neposredno sporočanje in je želelo izdati svoj modul in ga prav tako poimenovati kik. Kaj je njihov modul počel, je tudi nepomembno, pomembno je, da imena niso mogli uporabiti, ker ga je že uporabil Azer. Prosili so ga, če bi ime zamenjal, a ker je šlo za večmilijonsko korporacijo na eni in programerjem, ki prisega na odprto kodo na drugi strani, pogovori niso potekali po načrtih. In ker imena ni hotel spremeniti prostovoljno, so se nadenj spravili z odvetniki in tožbami in uspeli. Azer je bil seveda jezen in je, namesto da bi spremenil ime, 23. marca 2016 iz podatkovne baze odstranil oziroma odjavil več kot 270 svojih modulov, ki jih je do takrat napisal in dal v uporabo.
Med temi moduli je bil tudi eden, ki se je imenoval Leftpad, napisal pa ga je kar nekaj let pred tem. Modul oziroma paket v osnovi ni bil nič posebnega, saj je vseboval le 11 vrstic kode, katere naloga je bila le, da pred neko besedilo doda - presledek. Vse skupaj se zdi trivialno, a izkazalo se je, da je ta presledek, bolje rečeno Leftpad, še kako pomemben. Tisti trenutek, ko ga je Koçulu »odjavil« iz baze, so se po vsem svetu pričele pojavljati težave v delovanju spletnih strani, vključno z velikimi, kot so Facebook, Netflix, Spotify in še katerih. Izkazalo se je, da Leftpad na tak ali drugačen način v svoji kodi uporablja ogromno spletnih strani in ker gre za eno od »osnovnih Lego kock«, je odstranitev povzročila sesutje vsega, kar se je gradilo nad njimi. Nekako podobno kot če bi odstranili eno od nosilnih kock v stolpu Jenga.
Uporabniki kot taki tega zaradi predpomnjenja (cache) tega sicer nis(m)o kaj dosti občutili, skrbniki sistemov pa so bili v precejšnjih težavah in so od programerjev seveda zahtevali rešitev. Težava je bila k sreči hitro identificirana in NPM je naredil to, kar ni do takrat še nikoli – modul Leftpad je kar sam vrnil nazaj v bazo. S tem so spletne strani spet pričele normalno delovati, Koçulu, Kik in NPM pa so se, vsak na svoj način oziroma na svoji spletni strani, opravičili za nevšečnosti.
Vir: Half as Interesting/YouTube