Di colors.js, GitHub e della leggerezza con cui gli sviluppatori pubblicano codice su GitHub

Nel day after della protesta di Marak Squires le discussioni in merito al suo gesto continuano ad infiammare la community.

Autore di colors.js e faker.js, librerie da venti milioni di download settimanali, Squires ha deciso di compiere quello che, a suo dire, è stato un atto di protesta nei confronti delle Fortune 500s, aziende che non intende più supportare con il suo lavoro gratuito: inserire volutamente un loop infinito nel codice in modo da compromettere l’utilizzo delle sue librerie ovunque.

In seguito a questa azione, che ovviamente ha comportato disservizi a tutti gli utilizzatori, GitHub ha deciso di sospenderne l’account e di riportare la libreria allo stato precedente della modifica accusata, motivando così la scelta:

GitHub is committed to ensuring the health and security of the npm registry. We removed the malicious packages and suspended the user account in accordance with npm’s acceptable use policy regarding malware, as outlined in our Open Source Terms.

La missione di GitHub è quella di garantire la salute e la sicurezza del registry npm. Abbiamo rimosso i pacchetti malevoli e sospeso l’account rispettando le politiche a proposito di malware di npm, come illustrato nei nostri Open Source Terms.

Il tutto accompagnato da una security advisory specifica: https://github.com/advisories/GHSA-5rqg-jm4f-cqx7.

Il punto quindi è chiaro, ed è ciò che sta al centro delle discussioni di questi giorni:

  • L’autore poteva fare quello che ha fatto? La risposta è sì.
  • GitHub poteva fare quello che ha fatto? La risposta è sì.

Quindi come si trova la quadra in questo contesto? Perché quello che si chiedono tutti è “possibile quindi che uno sviluppatore non sia libero di modificare il proprio codice?”.

È chiaro che a fronte di una domanda simile il rischio che l’indignazione offuschi il ragionamento è altissimo, principalmente perché non va sottovalutato un aspetto di tutta la faccenda: se è vero che il codice in questione è stato creato da Squires, questo è pubblicato (e condiviso, e scaricato, con tutto quello che comporta in termini di banda, fruizione e diffusione) su una piattaforma proprietaria. Specificamente di proprietà di un’azienda privata la quale, come qualsiasi piattaforma online, ha un codice di comportamento e delle regole a cui qualsiasi utente è obbligato ad attenersi per usare il prodotto.

Perché GitHub è questo che è, un prodotto. Piaccia o meno.

Quindi tralasciando tutte le considerazioni di natura filosofico-morale (specificamente sulle motivazioni dell’autore), è bene mantenere sempre un certo distacco, usando le verità oggettive, in questo caso il paradigma piattaforma/regole.

In questo senso, e fa bene ricordarlo anche a noi stessi, nel momento in cui il nostro codice (libero) è su GitHub, allora valgono le regole dell’azienda GitHub (leggi Microsoft in questo caso) la quale può anche sospendere arbitrariamente il nostro account.

Da sempre appassionato del mondo open-source e di Linux nel 2009 ho fondato il portale Mia Mamma Usa Linux! per condividere articoli, notizie ed in generale tutto quello che riguarda il mondo del pinguino, con particolare attenzione alle tematiche di interoperabilità, HA e cloud.
E, sì, mia mamma usa Linux dal 2009.

Tags: ,