JavaScript a intalnit un mic dezastru
Saptamana trecuta, ceva amuzant s-a intamplat cu JavaScript, a nu fi confundat cu limbajul de programare folosit pentru realizarea aplicatiilor Java.
Un programator numit Azer Koculu a publicat cu ceva timp in urma un modul de JavaScript, folosind NPM, un manager foarte popular de pachete care faciliteaza distributia codului.
S-a intamplat ca acel modul sa aiba numele „kik”, acelasi ca o aplicatie de mesagerie instantanee. Avocatii companiei care detine serviciul de mesagerie l-au rugat sa schimbe numele, pentru a nu exista conflicte atunci cand vor sa publice propriul lor modul, dar programatorul a refuzat. Asa ca avocatii au contactat direct NPM care aa trecut modulul respectiv sub tutela companiei.
Evident suparat, Koculu si-a sters modulul, iar in proces a fost sters si un banal modul care completeaza partea stanga a unui sir cu spatii sau zerouri. Un cod banal de cateva randuri, care ai crede ca nu ar fi chiar atat de important. Adica, oricine cu ceva pricepere l-ar putea rescrie in cateva secunde, doar nu este lung:
module.exports = leftpad;
function leftpad (str, len, ch) {
str = String(str);var i = -1;
if (!ch && ch !== 0) ch = ‘ ‘;
len = len – str.length;
while (++i < len) {
str = ch + str;
}return str;
}
Din pacate, nu l-a rescris nimeni. Situatia a fost oarecum ridicola, pentru ca acest modul, care este descarcat de 16 ori pe minut, a fost implementat in mii si mii de aplicatii din senin nu mai functionau.
Acestea au continuat sa nu mai functioneze chiar si atunci cand un dezvoltator a incarcat la loc fisierul cu pricina, pentru ca de fiecare data cand un fisier este incarcat, primeste un numar nou de varianta. Iar majoritatea aplicatiilor erau facute sa caute exact acea varianta stearsa. Problema a fost rezolvata abia dupa ce NPM a restaurat editia disparuta. Pentru ca asta sa nu se mai intample, NPM nu mai permite acum stergerea fisierelor la 24 de ore dupa ce au fost incarcate.
Intre timp, disputa dintre Koculu si Kik s-a rezolvat, Kik cerandu-si iertare pentru incident. Koculu in sine nu si-a cerut scuze pentru stergerea acelui fisier, deoarece crede ca asta dovedeste cat de oribila este situatia curenta. Una in care dezvoltatorii sunt prea lenesi sa scrie 11 randuri. In vederea sa, daca NPM devine o entitate privata, ceva ce se poate intampla peste noapte in aceasta industrie, atunci companii precum Kik vor deveni o prioritate, chiar daca afacerea depinde de cod creat gratuit de membri ai comunitatii.