Un programator nervos aproape că a stricat Internetul ştergând 11 linii de cod
Săptămâna trecută, un programator, pe nume Azer Koçulu, a creat haos pe Internet, ştergând un simplu program alcătuit din 11 linii de cod. O serie de programe de mari dimensiuni au avut probleme de funcţionare din această cauză, întrucât includeau modului acesta, relatează Business Insider.
Ce s-a întâmplat: programatorul a scris o extensie pentru limbajul de programare Node.js, numită Kik, pe care a oferit-o gratuit pe NPM, care este un fel de magazin online cu aplicaţii pentru programatorii Node.js. Reţeaua socială Kik a sesizat şi l-a notificat să schimbe numele progrămelului, pe motiv de nume protejat de copyright.
Koçulu a refuzat cu îndârjire, deşi spune într-o postare pe propriul blog că prima solicitare Kik a fost una „rezonabilă”.
„Când am început să scriu codul pentru Kik, nu ştiam că există o companie cu acelaşi nume. Şi nu am vrut să las o companie să mă forţeze să schimb numele”, spune dezvoltatorul.
După ce Koçulu a refuzat, Kik a contactat NPM, iar CEO-ul NPM, Isaac Schlueter, i-a luat dreptul de proprietate al modulului fără să îl întrebe nimic. Apoi, Koçulu a anunţat pe blogul său că va şterge Kik de pe NPM complet, dar şi restul programelor sale.
Poate nu ar fi fost mare lucru, dar Koçulu este, de asemenea, persoana care a scris codul unui modul foarte popular pe NPM, numit „npm left-pad”. Programul are doar 11 linii şi nu face nimic complicat, dar a fost descărcat de peste 575.000 de ori. Şi când a fost şters, dezvoltatorii din toată lumea au început să facă scandal pe Twitter, Reddit şi pe orice alte reţele sociale.
Motivul? Un modul ca npm left-pad este, de fapt, o scurtătură pentru ca un dezvoltator să nu mai fie nevoit să scrie multe linii de cod de la zero. Practic include acest modul de-a gata în prorpiul său program. De cele mai multe ori, acest lucru funcţionează perfect. Însă, uneori, programele mari sunt bazate pe mai multe module, care la rândul lor includ alte module, şi tot aşa. Şi totul funcţionează până când unul dintre module este retras de pe Internet.
Şi aşa, proiecte software populare, precum Babel, care ajută Facebook, Netflix sau Spotify să ruleze cod mai rapid, sau React, care ajută dezvoltatorii să construiască interfeţe mai bune, au picat brusc. Peste o mie de proiecte software au fost afectate, conform blogului NPM. După reacţiile indignate ale programatorilor, NPM a republicat modulul sub proprietatea altcuiva, spunând că deşi nu se simte confortabil să facă asta cu proprietatea intelectuală a lui Koçulu, trebuie să procedeze aşa pentru comunitate.
Dezvoltatorii vor să îţi regândească modul în care programează prorpiul soft, pentru a evita astfel de situaţii.
„Deşi îmi pare rău că am întrerupt munca oamenilor, am făcut-o pentru binele comunităţii pe termen lung. Monopolul NPM nu va mai fi dictat comunităţii software din întreaga lume”, a declarat Koçulu pentru Business Insider.