
21 Dicembre 2021
Negli scorsi giorni si sono verificati una serie di eventi che hanno riacceso il dibattito sul ruolo del software open-source, spesso gratuito, nel supportare quello che è di fatto uno dei settori più remunerativi di sempre. Il prolifico sviluppatore Marak Squires, attivo su GitHub con centinaia di progetti, ha introdotto volontariamente un bug che rende inutilizzabili due delle sue librerie più diffuse, note come faker.js e color.js (una crea dataset fittizi da usare in demo e presentazioni, l'altra aggiunge color coding alle console JavaScript), che sono usate da innumerevoli altri utenti (i contatori dei download sono rispettivamente a 2,5 e 22,4 milioni a settimana).
Le versioni sabotate contenevano codice che causava l'output di simboli e lettere strani, preceduti da una riga che recitava "LIBERTY LIBERTY LIBERTY". Nel file readme di uno dei due progetti chiedeva, in modo provocatorio, cosa fosse accaduto realmente ad Aaron Swartz, uno dei fondatori di Reddit e coinvolto nello sviluppo di realtà come Creative Commons e i feed RSS, successivamente accusato di furto di documenti per renderli gratis e liberamente accessibili e suicidatosi nel 2013. È importante sottolineare che nessuna delle due librerie sabotate ha mai incluso codice per condurre attività criminali, come backdoor, malware e virus.
NPM has reverted to a previous version of the faker.js package and Github has suspended my access to all public and private projects. I have 100s of projects. #AaronSwartz pic.twitter.com/zFddwn631S
— marak 🗿 (@marak) January 6, 2022
La versione manomessa di faker.js è stata pubblicata su GitHub il 4 gennaio. In seguito alle segnalazioni degli utenti, la piattaforma di Microsoft ha sospeso l'account di Marak il 6 gennaio, ma l'ha riattivato quasi subito, visto che la versione manomessa di colors.js è andata online probabilmente il 7 gennaio. Più recentemente, colors.js è stata aggiornata di nuovo e ora è tornata a funzionare normalmente, mentre la versione più recente di faker.js (6.6.6) è ancora manomessa. È tuttavia sufficiente scaricare la versione precedente per aggirare il problema.
Tutta la vicenda ha i connotati di una presa di posizione "politica"/ideologica. Già a fine 2020 Marak aveva detto su GitHub che avrebbe smesso di lavorare gratis per supportare il business di aziende multimilionarie. "Prendetela come un'opportunità per inviarmi un contratto annuale a cinque zeri oppure fate un fork del progetto e mettete qualcun altro a lavorarci".
È interessante contestualizzare questo sviluppo con la grave vulnerabilità Log4jam (o Log4shell) che è emersa appena qualche settimana fa. Anche lì il bug risiedeva in un software libero e open-source, ma che viene nondimeno usato in un numero enorme di server internet, da quelli di Google, Microsoft e Amazon ai più piccoli e indipendenti. Anche lì, la responsabilità di risolvere il problema il più in fretta possibile è ricaduta su un team di volontari.
Recensione Lenovo Legion Go, sfida ROG Ally a viso aperto
Cyber Monday 2023: tutte le offerte, sconti, promo e acquisti da fare in diretta live
Recensione Corsair Platform:6, modulare, regolabile e super robusta!
Prime Video: tutti i film e le serie TV in arrivo a dicembre 2023
Commenti
Ma certo, sono due concetti antitetici. Per definizione una licenza Open Source è "una licenza attraverso cui i detentori dei diritti favoriscono la modifica, lo studio, l'utilizzo e la redistribuzione del codice sorgente". Questa definizione non è compatibile con il modello "l'autore ha il controllo totale sul sorgente", non ha senso lamentarsi che una licenza open non ti dà controllo sul codice. Se vuoi il controllo totale sul codice non lo rilasci, fine.
Probabile, o magari aveva già scritto alle aziende che usavano il suo software e non avendo ricevuto un contratto ha detto 0 per 0 meglio 0 per tutti. Sono sue scelte. Chi si lamenta dicendo che è poco professionale non ha torto ma deve mettersi nei suoi panni prima di aprire bocca e accusare. Ripeto la soluzione più corretta era quella di abbandonare il progetto e fare in modo che nessuno potesse più continuarlo, scrittura ex novo. Nessuna licenza garantisce questo, alla fine fork e continui. La tutela della proprietà intellettuale anche in questi casi sta praticamente a 0 (mio pensiero sia chiaro).
Conseguenze etiche dovrebbero avercene le aziende che hanno usato il suo codice a sbafo senza neanche fare una donazione, ok non eri obbligato ma "eticamente" saresti stato "costretto". Peccato che si punta il dito sulla sola etica dello sviluppatore e non di chi ne ha sfruttato il lavoro senza riconoscere nulla. Ricorda che le licenze (qualsiasi siano) non ti dicono di non riconoscere l'operato di chi ha realizzato il software, non ti vietano una donazione etc. Solo che semplicemente le aziende se ne sbattono.
io non voglio la testa dello sviluppatore e anzi github non ha diritto di bannarlo perché ha fatto una modifica in suo prodotto ed era lecito.
Inoltre la licenza MIT dice espressamente ("IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.") che non ci si puó rifare con lo sviluppatore per danni perché é una licenza senza garanzie, quindi lo sviluppatore ha ragione, ma i modi lo faranno passare dalla parte del torto. Anche se legalmente non avrà conseguenze ne avrà eticamente. Nessun azienda lo assumerà mai e quindi ha ottenuto il contrario di quello che voleva.
A parte che era un esempio di mer nato dal suo di mer. Ritengo più pericolose le persone che continuano a pretendere la testa dello sviluppatore. Bene non lo assumessero ma per coerenza smettessero di usare il suo prodotto e se ne facessero uno tutto loro. Il punto è sempre lo stesso qualsiasi licenza open source non ti da diritto di ritirare qualcosa che è di tua proprietà intellettuale. Quindi qualsiasi licenza avesse usato non sarebbe cambiata realmente la cosa. Detto questo, lo sviluppatore che neanche legge il codice che ingloba / invoca o quel che vuoi nel suo progetto per quanto mi riguarda (nel caso di opensource) può tranquillamente andare a zappare la terra.
"nessuna licenza open è pensata per questo" ed è quello che ti sto dicendo. Nessuna licenza open ti garantisce la reale proprietà intellettuale al punto che se decidi di chiudere basta si chiude e fine.
Istigazione al suicidio è un reato e la legge cercherebbe anche te eccome. Le tue idee sono criminose. Forse altri non capiscono bene l open source ma tu non comprendi la legge ed è molto peggio. Sei pericoloso. Sebbene lo sviluppatore poteva fare quello che ha fatto è fortemente infantile e stupido. E se già prima non lo assumevano figurati ora.
Normale, il software è qualcosa di versionato che si evolve, non avrebbe senso che un cambio di licenza agisca retroattivamente su precedenti versioni, compromettendo così tutte le opere derivate, verrebbero a mancare i principi base su cui si fonda il concetto di open source, anzi non esisterebbe proprio un ecosistema di librerie open source con premesse del genere.
Se vuoi controllo totale usi una licenza proprietaria, nessuna licenza open è pensata per questo.
Da puffolandia è tutto, linea allo studio.
E da fantasia è tutto, linea allo studio.
Vale ancora mica ti sta negando fi usarlo.... Senti o inizi ad argomentare seriamente o basta veramente ti sei reso sufficientemente ridicolo.
No è diffamazione, ennesima riprova del livello esorbitante dei tuoi commenti.
Ma tu frigni e parli di complotti doli etc.
Aridaglieee niente più scrivi più dimostri di non aver chiare le cose. È come se te mettessi la tua ricetta per le caramelle e nella ricetta scrivessi aggiungere veleno per topi. Ora chi ha aggiunto il veleno per topi è un co..ione... Non può esser colpa tua, moralmente parlando potresti sentirti in colpa ma non hai cucinato te né obbligato loro ad usare la tua ricetta.
Anche con le GPL varie sarebbe così. Nessuna licenza copre questa casistica mi sembra.
Questo dimostra la tua ignoranza. Se lo store lo consente si, vengono rimosse dagli store che hanno policy stringenti su tali temi.
E sti ca..i... Scorretto o no è un suo diritto e puoi lamentarti quanto ti pare ma sei in torto.
No per ora ti stai solo dimostrando un frignone che non ha nulla a valorizzare le sue tesi.... Doloooo... Combloddoooo... Ma vai in mona. Documentati perché non ha fatto niente di illegale.
Eh sì, ma quello dipende tutto dalla licenza che ha scelto inizialmente per il progetto, per quello dico che a mio avviso non c'è tanto da lamentarsi, sapeva (si presume) come funzionano le licenze MIT/BSD-like
OK, allora vanno bene anche le app gratuite con dentro malware, corretto?
Lo vuoi capire o no che è un comportamento scorretto?
Tu, perché fin dall'inizio hai scritto che il gioco è liberamente disponibile per tutti per qualunque scopo.
Domani affiggo un cartello in cui scrivo che regalo caramelle. Dentro ci metto veleno per topi. Io però non c'entro nulla, la responsabilità è di chi se le prende.
Ahahaha perché lo pagavano? Non mi risulta e anche fosse, levagli lo stipendio ma non puoi impedirgli di farlo. Il codice è suo e basta, poteva fare molto peggio e invece ha preferito essere meno dannoso.
Infatti berla è una mia scelta. Diverso è se io l'avessi acquistata, ma non è questo il caso.
Si infatti intendevo dire che non puoi fare in modo cge nessuno possa ripubblicare il mio progetto se io ho deciso che non deve più esistere. La proprietà intellettuale non ti da il diritto di dire non lo può più usare nessuno neanche forkando.
Mi hai rubato il gioco e lo rivoglio, tu tiri, io tiro. Il gioco si rompe e la colpa è solo mia che ho rotto il mio gioco ma tu ti lamenti perché non ci puoi più giocare. Chi dei due è il frignone?
No, sei te che ti sei preso un'auto difettosa senza garanzie e ti lamenti che i freni non funzionano.
Ha rotto la sua vetrina non quella degli altri.... Aho non ha modificato direttamente il tuo codice lo vuoi capire o no?
Eh no, caro! Lui ha scelto una licenza, e gli altri usavano il suo codice rispettandola. Se quella licenza non gli andava più bene poteva pensarci prima, oppure cambiarla.
Se io ho accettato di lavorare per X euro al mese, non è che dall'oggi al domani spacco tutto se non mi danno X più quello che decido io.
Se non mi sta più bene me ne vado e tanti saluti.
Facciamo così: l'anno prossimo per Natale ti regalo una bella bottiglia di spumate corretto col Guttalax.
Se la bevi e poi ti cachi addosso la responsabilità è tua, avresti potuto comprartela da solo o evitare di berla.
Io non sono obbligato in alcun modo a preoccuparmi di quello che bevi tu.
Sua vetrina che aveva detto chiunque avrebbe potuto prendere in quantità illimitate per qualunque scopo. Così aveva deciso lui.
Poi ha cambiato idea e ha spaccato le vetrine che gli altri avevano già preso.
Una scorrettezza fatta e finita.
Se manometti di proposito i freni con l'intento doloso di farmi schiantare, sei sostanzialmente un criminale.
Il progetto lo puoi cancellare se se il padrone del repository, chi te lo impedisce? Ovviamente però se qualcuno ha una copia del sorgente che tu precedentemente hai pubblicato sotto licenza permissiva ha il diritto di ripubblicarlo come fork. Questo però lo sai già quando decidi la licenza da usare per il tuo progetto, quindi c'è poco da lamentarsi.
Alla fine il successo del software open-source si basa anche sul fatto che qualcosa difficilmente "sparisce nel nulla", altrimenti appena a qualcuno girano le scatole si innescherebbe un effetto domino che non finisce più. Infatti non è un caso se i registry pubblici di pacchetti tipo NPM o NuGet hanno regole ben precise e molto stringenti su quando/se puoi cancellare un pacchetto pubblicato, anche se sei il possessore.
Ma lui ha sabotato la sua libreria. Sei te che stai usando cose non tue come se fossero tue e ti lamenti se il proprietario fa quel che vuole con le sue cose
Aridaglie... Travisi la realtà. Se io mi assemblo una macchina e arrivi te che mi dici ci posso fare un giro? Si ok ma poi te la tieni per un mese. Quando rivedo la mia macchina prendo e smonto le ruote. Te vieni da me e ti lamenti che ho sabotato la mia macchina per non fartela usare a te! Ma chi sei?!
No no, ls vera soluzione sarebbe stato cancellare il progetto e fine per tutti. Senza possibilità di eseguire fork, ma questa possibilità non esiste, chissà perché...
No chi ragiona come un bimbo di 6 anni o meno è chi rosica perché gli hanno levato il gioco e chiede il ban dell'account o lo critica. Ma scriviti una tua libreria o forka e lavoraci per fatti tua invece che frignare. Altrimenti potevi almeno fargli una donazione.
Ma dolo di cosa? È codice suo e ci fa quello che vuole. Sbagli te a usarlo senza analizzarlo.
Buona fede???
Ma che razzo dici tu, qua c'è dolo, ed è una cosa gravissima.
Avesse cancellato il progetto, avrebbe fatto benissimo, ma sabotarlo di proposito è una cosa molto poco seria.