login LOGIN
CHIUDI chiudi
Il mio profilo
ACCEDI CON MYFASTWEB

mostra
Non sei registrato? Crea un account
Hai dimenticato la password?
Inserisci l'indirizzo email di registrazione per reimpostare la password.
Segui le istruzioni che ti abbiamo inviato per posta elettronica.
Torna alla form di Login
Non sei registrato? Crea un account

Azer, il programmatore che ha quasi rotto Internet

Molto noto nella comunità open source, è autore di diversi moduli Node.js. Uno di questi ha mandato in frantumi il web

Programmazione

Se a fine marzo 2016 Internet ha smesso di funzionare per qualche ora, non preoccupatevi. La colpa non è vostra, né del router, né tantomeno del vostro operatore telefonico. La colpa, se così si può dire, è di un giovane programmatore, Azer Koçulu, appassionato di open source e autore di un modulo software tanto piccolo quanto utilizzato.

Lo sviluppatore di origine turca (ma ora residente a Oakland, negli Stati Uniti) è tra i membri più attivi di NPM, una sorta di app store per software scritto in Node.js (piattaforma di sviluppo per il motore JavaScript V8). Grazie alle sue creazioni, realizzate e distribuite con licenza open source, Koçulu ha raggiunto un certo livello di notorietà nella comunità degli sviluppatori indipendenti, tanto che alcuni moduli scritti in Node.js sono utilizzati da "mostri sacri" di Internet.

E proprio uno dei moduli, chiamato kik, dello sviluppatore turco ha rischiato di mandare in tilt la Rete. A voler essere precisi, ha bloccato il funzionamento di app per smartphone, siti e applicativi web per diverse ore. E non perché fosse malfunzionante, anzi. Il modulo non presentava (apparentemente) difetti ed era utilizzato da migliaia di utenti sino a che non è intervenuto "l'altro" Kik.

La contesa

Nativo del Canada, Kik è un social network che conta decine di milioni di utenti in tutto il mondo. E come la gran parte dei prodotti di successo, è un marchio registrato in diversi Paesi del mondo. Per questo motivo, a cavallo tra la fine del 2015 e l'inizio del 2016, Ted Livingston, ideatore del social network, fa contattare Azer Koçulu chiedendogli di cambiare nome. Una richiesta tutto sommato accettabile, come ammesso dallo stesso programmatore turco, che decide però di non ottemperare: il suo pacchetto Node.js continuerà a chiamarsi Kik.

A questo punto gli avvocati della rete sociale canadese cambiano obiettivo: anziché interagire con Koçulu, rivolgono la loro richiesta direttamente ai gestori di NPM. La risposta, in questo caso, è differente: onde evitare noie legali e per preservare "l'interesse collettivo" degli utenti dell'app store, il nome del modulo è cambiato d'ufficio, così da non infrangere più alcun copyright né marchio registrato.

Undici righe di codice

Azer Koçulu, convinto assertore della filosofia open source, non digerisce di essere stato scavalcato e prende una decisione radicale: cancellare Kik e tutta la sua repository di pacchetti Node.js dal database di NPM.

 

Codice sorgente

 

Problemi limitati, si potrebbe pensare, alle poche migliaia di utenti che fanno riferimento a Kik, se non fosse che il programmatore turco è anche l'autore di "npm left-pad", un altro pacchetto Node.js con un numero infinitamente maggiore di utilizzatori (oltre mezzo milione, secondo gli ultimi conteggi NPM). La scomparsa del pacchetto, di appena 11 righe, manda nel panico decine di migliaia di sviluppatori in tutto il mondo e mette letteralmente in ginocchio alcuni dei giganti del web.

Effetto domino

Il modulo npm left-pad, di per sé, potrebbe sembrare insignificante: nelle sue 11 righe di codice permette di bypassare e automatizzare alcune operazioni di controllo e velocizzare lo sviluppo di applicativi web e app per smartphone. Un modulo di questo genere, infatti, altro non è che una sorta di scorciatoia software che consente agli sviluppatori di evitare di scrivere inutilmente e ripetutamente le stesse righe di codice: si inserisce la "chiamata" e al momento giusto il programma in uso va a richiamare il pacchetto integrandone così le funzionalità.

 

Logo di NPM e Node.js

 

Il più delle volte, tutto fila alla perfezione e il funzionamento del programma non risente del continuo rimando a librerie software esterne. Ma, in altre occasioni, può accadere che un modulo faccia riferimento a un altro modulo, il quale a sua volta fa riferimento a un terzo  e così via potenzialmente all'infinito. Si capisce che, nel caso in cui uno dei pacchetti cui si fa riferimento dovesse venire a mancare per un motivo qualsiasi, l'intera infrastruttura su cui si regge il software crollerebbe come in un castello di carte.

Ed è quello che è accaduto con npm left-pad. Non appena lo sviluppatore turco ha cancellato il suo modulo, Babel, piattaforma che aiuta Facebook, Netflix e Spotify a "macinare" codice più in fretta, e React, che aiuta gli sviluppatori a costruire interfacce migliori, hanno smesso di funzionare quasi istantaneamente. Stando al blog di NPM, oltre un migliaio di progetti software (tra i quali anche Kik, la piattaforma social che ha dato il via a tutto) hanno smesso di funzionare per alcune ore.

 

Sviluppatore al lavoro

 

La soluzione

Si è reso quindi necessario l'intervento dei gestori del portale che ospita i pacchetti Node.js, che hanno ripristinato la situazione pubblicando nuovamente npm left-pad e assegnandolo a un altro utente. Soluzione che ha fatto felice migliaia di sviluppatori che utilizzavano (e utilizzano) il pacchetto, ma che ha infastidito nuovamente Azer Koçulu (che, a onor del vero, aveva lasciato il pacchetto sia su GitHub sia nella sua repository personale ospitata dal suo sito). In gioco, sostiene il giovane programmatore turco, c'è il futuro della community di sviluppatori indipendenti e della filosofia free software in generale.

A cura di Cultur-e
Segui le ultime notizie sul nostro canale Whatsapp
Immagine principale del blocco
Segui le ultime notizie sul nostro canale Whatsapp
Fda gratis svg
Iscriviti al canale gratuito

Iscriviti
all'area personale

Per ricevere Newsletter, scaricare eBook, creare playlist vocali e accedere ai corsi della Fastweb Digital Academy a te dedicati. Leggi l'informativa