Posts Tagged ‘RichardStallman’

La Grande Menzogna

14 aprile 2017

Chi mi conosce lo sa: reagisco sempre male quando qualcuno mi ricorda che “non si deve dire Linux, ma GNU/Linux”. Eppure la mia reazione è sempre stata oggettivamente spropositata nei confronti di una apparentemente innocua richiesta, certo non misurata alla classica e sobria contro-argomentazione percui “è meglio dire Linux, perché è un nome più diffuso”. Non sono mai riuscito a spiegare fino in fondo questo mio istintivo astio, neppure a me stesso, ma forse dopo lunga riflessione sono giunto ad una conclusione.

E la conclusione è che “GNU/Linux” è una menzogna.

Per comprendere appieno tale inedita posizione, quasi blasfema secondo i canoni della shari’a stallmaniana, è opportuno iniziare a delineare il contesto di riferimento, ovvero la figura dello stesso Richard Stallman – indubbiamente, primo promotore del presunto obbligo morale di anteporre il prefisso “GNU” – e dei suoi fedayyin.

Già ho avuto modo di commentare come sia stata forzosamente introdotta la distorsione percui il modello di sviluppo condiviso dovrebbe essere un fondamento del freesoftware, abbondantemente sbugiardabile dalla mole di materiale storico a disposizione e giustificabile dal desiderio di assegnare al Movimento Freesoftware (e dunque, in primis, proprio a Stallman) gli indubbi meriti e successi del modello opensource, ma da allora – a distanza di quasi due anni dal mio originario post – ho constatato come questa falsa idea sia stata attivamente promossa, divulgata, e progressivamente assorbita prima dai fedelissimi e via via dai sostenitori più vicini al loro cerchio magico.

Altri indizi sul subdolo modus operandi adottato dalla GNU/propaganda, basato sull’alterazione e la puntuale mala-interpretazione, non sono difficili da trovare. Un giorno per caso mi sono trovato sulla pagina Wikipedia che descrive il significato della parola “cracker”, ed ho visto citato il nostro barbuto Profeta come illuminato ed eroico ideatore del termine – che, nell’intento, vuole tutelare il ben più alto significato del termine “hacker”. Sorpreso da tale rivelazione ho tentato di cercarne una qualche fonte su Internet, invano: nessuno ha mai documentato questo fatto, eppure qualcuno si è sentito in dovere di sbandierarlo sull’enciclopedia online più consultata. Ho editato io stesso la pagina per sopprimere l’ennesima bugia, infondata, che attribuisce a sproposito meriti e onori a chi meriti ed onori non ha. In altre circostanze non ho invece potuto provvedere. In questo articolo, apparso su un sito locale ben noto qui in Piemonte, al GNU/Messia viene addirittura attribuita la nascita della stessa Wikipedia. Considerando che l’evento annunciato dall’articolo – il colloquio tra Stallman e l’allora sindaco di Torino, Fassino – era noto solo ad una manciata di persone, tra cui appunto un fervido ed attivissimo cultore della mitologia stallmaniana – artefice del suddetto incontro, e forse unico a tenere alla sua divulgazione -, non faccio fatica ad immaginare come questa piccola svista sia potuto giungere, magari sottoforma di comunicato stampa copiato ed incollato, sulle pagine di un frequentata fonte di informazione, a portata di un pubblico che probabilmente non sa come stanno davvero le cose (e non sa del fork operato nel gennaio 2001 per affossare l’allora Nupedia, embrione di Wikipedia).

Appurata l’inclinazione al revisionismo da parte di una certa fronda del Movimento Freesoftware, arriviamo dunque al nostro “GNU/Linux”. Su gnu.org c’è una intera (e lunghissima!) pagina che dettaglia tutte le motivazioni per le quali la dicitura estesa sarebbe preferibile: perché senza GNU oggi non esisterebbe nessun sistema operativo libero (infatti BSD non esiste, no?), perché GNU è una parte integrante ed indivisibile del sistema operativo propriamente detto (ma stranamente nel sommario di “Operating Systems Design and Implementation” di Andrew Tanenbaum – che mi sembra una referenza sufficientemente autorevole sul tema – trovo riferimenti a scheduling, filesystem, I/O, ma nessuno a interpreti di comandi e benché meno a compilatori o editor di testo…), fino a giungere alla pena del perché se lo chiami “Linux” devi pagare i diritti per l’utilizzo del nome (sfacciatamente falso). Il tutto condito da abbondanti dosi di moralismo, atto ad indurre lo sprovveduto lettore all’unica Verità Assoluta: attento, se non lo chiami “GNU” ti stai confondendo, ti aiutiamo noi che ci teniamo all’istruzione; del resto – allacciate le cinture – quel cattivone di Torvalds non ha mai sostenuto la libertà di cooperare, dunque i buoni siamo noi. Stupisce che la pagina non si concluda con un “Amen”.

Infine, diciamocelo: la stragrande maggioranza delle persone che usano l’etichetta “GNU/Linux” lo fa per esasperazione, perché continua a sentirsi ripetere (a volte anche in modo verbalmente violento) che è giusto e corretto ed è immorale fare altrimenti, dunque si finisce per cedere senza neppure capire bene perché o, peggio, per evitare ritorsioni.

Ma ancora non siamo arrivati al punto citato nell’incipit di questo post: perché reagisco così male dinnanzi all’invito di usare la menzione “GNU/Linux”? Perché è falsa, fondata su presupposti falsi, promossa da chi ha oramai fatto il callo con la diffusione di nozioni false, e se forse può essere tollerata certo non può essere incentivata all’interno di un movimento culturale che fa della conoscenza e della consapevolezza la propria ragion d’essere. Tutto qui. L’ossessione nei confronti del nome “GNU/Linux” è antitetica rispetto a tutto quel che si suppone esso stesso vorrebbe rappresentare.

E pertanto: no, se non scrivo “GNU/Linux” non è perché mi sono confuso, o perché non conosco la storia (anzi mi sembra di conoscerla meglio di molti altri), né per distrazione e men che meno per comodità. Bensì per deliberata scelta di onestà intellettuale. Una qualità sempre più rara all’interno del nostro movimento.

Annunci

Il Mezzo e lo Scopo

7 marzo 2015

Qualche giorno fa è circolata una notizia che per certi versi mi aspettavo sarebbe prima o poi giunta, in una qualche forma: Stallman all’attacco di LLVM, progetto (libero e opensource, chiaramente) finalizzato all’implementazione di un nuovo compilatore universale (in verità è un pochino più complesso, ma accontentatevi qui di questa approssimazione) alternativo su molti fronti al popolare GCC, che è ad oggi lo strumento di riferimento per l’intera comunità linuxara. Nonché componente fondamentale dell’ambiente GNU, l’unico – insieme probabilmente a libc – che giustifica l’esistenza dello stesso.

Da qui si può iniziare a desumere la difficile posizione del povero RMS: se GCC perde la sua posizione di rilievo, e viene rimpiazzato con altro, a cosa ci si potrà più appellare per conservare almeno la dicitura “GNU/Linux”, ultima vestigia di un epico progetto che certamente ha prodotto tanto (…) ma che in 30 anni non è mai riuscito neppure a lambire le ambizioni iniziali?

Eppure, ragionandoci, penso sia legittimo ribaltare il quesito ed invece chiedersi: se lo scopo di tutto questo, del movimento freesoftware e della Free Software Foundation e dei LUG e degli sviluppatori di software libero e di tutto quanto, è la tutela, la preservazione, l’estensione della libertà degli utenti, perché mai tanto attaccamento nei confronti di un singolo progetto, GNU, nel mare magnum di codice libero già in circolazione, di altri progetti più o meno articolati esistenti, e di tutti gli altri obiettivi ancora da raggiungere necessari per perseguire il suddetto scopo?

Una risposta emerge approfondendo appunto la vicenda di LLVM. E non è quella che avrei voluto.

Ripercorrendo il thread in cui si svolge la discussione in oggetto, inizia a saltar fuori fin da principio un “It looks like there is a systematic effort to attack GNU packages“. Dichiarazione che, se rapportata all’innocente proposito che ha fatto scattare l’intera diatriba (ovvero quello di integrare il debugger LLDB in Emacs, polivalente editor per nerd con la passione per il pianoforte, anch’esso parte di GNU) si può interpretare come una presa di posizione – spropositata ed eccesiva – nei confronti di tutto ciò che non è GNU – pur essendo, ricordiamolo, software libero. Interpretazione che si rivela fondata leggendoNeither Windows nor MacOS was intended to push major GNU packages out of use.  What I see here appears possibly to be exactly that“. E che viene definitivamente confermata quando, in risposta alla segnalazione di come lo sviluppo di LLDB – e di tutta la struttura LLVM – sia più rapido ed efficiente rispetto a quello della “concorrente” toolchain GNU, emergeYou seem to be arguing that we should indeed regard LLDB as a threat“.

Sia ben chiaro: è naturale e anzi ovvio che i responsabili del progetto GNU vogliano tutelare il buon nome, la reputazione e la posizione di rilievo della propria opera. Chiunque sarebbe parimenti turbato ed infastidito dalla prospettiva di perdere la propria importanza nel contesto di riferimento, e nessuno può biasimare questo sentimento. Ma quel che mi tange è leggere tali sopra citate frasi scritte e pubblicate dal fondatore e massimo esponente del movimento freesoftware, paladino indiscusso ed indiscutibile dei diritti digitali, spirito guida incorrotto ed incorruttibile dei numerosi attivisti che portano il suo verbo ai quattro angoli del globo. E, si suppone, entità super-partes il cui unico scopo sia la tutela, la preservazione, l’estensione della libertà degli utenti.

Pare che “qualcuno” veda in GNU l’unico ed il solo progetto il cui percorso sia tale, e dunque l’unico ed il solo a meritare supporto, sostegno e promozione. Forse questo “qualcuno”, troppo preso con lo sviluppo del proprio stesso codice standosene chiuso in uno scantinato, si è perso gli ultimi trent’anni di eventi: il ruolo della ora vitupera Mozilla ci ha consegnato una Internet fondata su standard e formati aperti (e dunque a misura di software libero); la comunità prima OpenOffice e poi LibreOffice ha mantenuto e mantiene uno strumento vitale ed essenziale senza il quale la migrazione di imprese e pubbliche amministrazioni sarebbe nel migliore dei casi una vaneggiante utopia; la sempre contestata Canonical ha permesso a milioni di persone di scoprire, installare ed usare un sistema operativo certo non completamente ma in larga misura freesoftware… Ma questi non contano niente, come non conta niente un moderno ed evoluto compilatore più efficiente e veloce dell’esistente, che anzi è un “attacco” ed una “minaccia” da aggirare.

Notoriamente non ho mai accolto in modo favorevole gli inviti ad usare la dicitura “GNU/Linux”. Per una questione soprattutto di principio: nel momento in cui l’intero movimento freesoftware, con tutte le sue implicazioni culturali, langue e perde sempre più terreno nei confronti degli “antagonisti” (o anche solo nei confronti del suo alter-ego, il movimento opensource), cincischiare su tre lettere in più o in meno non è mai stata una delle mie priorità né godo nel constatare che si tratti della priorità di qualcuno (il quale potrebbe invece investire il suo tempo in modo molto più utile per tutti). Ma alla luce del fatto che GNU non intende essere solo un componente importante del mondo freesoftware, bensì l’unico componente – fosse anche a discapito di strumenti altrettanto liberi e tecnicamente superiori, dunque più utili a facilitare la penetrazione del software libero -, non posso far altro che iniziare a considerare l’eventualità di assumere una posizione critica nei confronti del progetto stesso. O quantomeno di chi ne detta la direzione, ne definisce gli intenti, ed agisce in ogni modo per dare a GNU quel peso e quella rilevanza che – forse – non ha.

E per te, caro amico lettore, GNU è il mezzo o il fine?

Autopsia

21 aprile 2014

E’ stato trovato un grave bug in una importante libreria opensource, che giaceva inosservato da ben due anni. Le reazioni: l’opensource e’ in declino, anzi sta morendo, anzi e’ gia’ morto.

Certo rispetto a quindici anni fa l’asticella si e’ alzata, le aspettative del pubblico e del mercato sono sempre piu’ alte, i tempi di sviluppo e manutenzione e perfezionamento di un progetto software – open o closed che sia – devono essere sempre piu’ stretti, le risorse umane richieste crescono, ma tutto questo penso sia una evoluzione naturale di qualsiasi settore produttivo. Dichiarare che “l’opensource e’ morto” semplicemente perche’ un programmatore volontario ha commesso un errore e nessuno lo ha notato equivale alla polemica secondo cui “i LUG non servono piu'”: le cose non vanno piu’ come nel 2000, dunque non resta che farci prendere dalla nostalgia. Ma i tempi cambiano, continuano a cambiare e sempre cambieranno, cambiano i requisiti ed i presupposti, devono cambiare i modi e le modalita’. Una ben nota pubblicita’ promossa da IBM intorno al 2003, che aveva come protagonista un biondo bambino personificazione incarnata di Linux, citava Charles Darwin: “a sopravvivere non e’ la specie piu’ forte, e neppure quella piu’ intelligente, ma quella che sa meglio adattarsi ai cambiamenti”: credo che codesto postulato sia ancora valido, e che cio’ che serve non siano piagnistei e lamentazioni di facile impatto popolare e populista ma adattamenti. Economici (piu’ soldi da destinare a pagare persone che svolgano il lavoro), quantitativi (piu’ persone che possano spartirsi il lavoro in modo cooperativo), ed in qualche misura “politici”.

Se davvero qualcosa e’ morto, o quantomeno indebolito, all’interno del movimento freesoftware, la ragione non va cercata nel singolo sbaglio di un singolo programmatore quanto nelle cause che impediscono ed ostacolano i tre adattamenti di cui sopra. Riassumibili – semplicisticamente e superficialmente – in una persona, o meglio un personaggio: Richard Stallman.

Il video del suo ennesimo talk tenuto un mese fa a Milano e’ l’emblema della stasi che attanaglia una intera comunita’: due ore di parole gia’ ripetute centinaia e migliaia di volte, dall’epica storia del progetto GNU (che in trent’anni ha solo marginalmente raggiunto un qualsivoglia obiettivo) alle invettive contro le multinazionali lanciate sorseggiando golate di Pepsi, dalle raccomandazioni a non usare il termine “opensource” per evitare confusione da parte del pubblico alle arzigogolate argomentazioni secondo cui condividere opere culturali e’ doveroso pero’ i video che lo rappresentano non possono essere modificati pero’ remixare e’ un diritto negato dai potenti pero’ bisogna usare la licenza Creative Commons No Derivates pero’ francamente non c’ho capito una mazza, dalla dettagliata divagazione sul fatto che la sigla FLOSS e’ piu’ neutrale di FOSS perche’ altrimenti “Open Source” ha una lettera di rappresentanza in piu’ (…) all'”asta” finale atta a rastrellare qualche decina di euri mettendo in palio il pupazzetto di uno gnu. Non una parola sulla partecipazione attiva allo sviluppo ed al supporto, men che meno sui successi del software libero in termini di diffusione, un vago cenno scarsamente approfondito sulla presunta gratuita’ del freesoftware; solo recriminazioni e proclami dettati dalla vanagloria, lo stesso medesimo talk che e’ stato tenuto uno, due, cinque anni fa.

Certo se questo e’ il massimo che la comunita’ freesoftware riesce ad esprimere non deve stupire che tanto le risorse economiche quanto quelle umane si tengano ben lontane: nessuna azienda puo’ aver desiderio di essere esposta alla gogna nel momento in cui adopera il termine “opensource” semplicemente perche’ piu’ popolare e riconosciuto tra i suoi clienti, nessun volontario puo’ aver voglia di sorbire rimbrotti ogni volta che gli scappa di dire “Linux” anziche’ “GNU/Linux”, da questi atteggiamenti si sentono attratti e lusingati solo i sedicenti filosofi, i parassiti culturali, gli intellettuali da bar ed i sepolcri imbiancati che popolano le mailing list ma non hanno mai scritto una riga di codice manco per sbaglio.

Ed e’ dunque li’ che occorre intervenire per risollevare le sorti di un movimento, dato prematuramente per morto ma che neppure gode di salute ferrea. Facendo passare un messaggio diverso, piu’ pragmatico, piu’ concreto, che desti interesse e ispiri alla partecipazione reale. E, quando necessario, isolando e scacciando troll e imbonitori prima ancora che combinino danno sui canali interni ed esterni.

I letali virus dell’autoreferenzialita’ e dell’insoffererenza possono essere debellati. Con massicce iniezioni di collaborazione e creativita’. Ma la cura deve essere radicale.

E Se…

11 agosto 2013

Qualche tempo fa si scherzava tra nerd, e qualcuno tra serio e faceto esclamo’ “Pensate se Free Software Foundation avesse finito Hurd ed il sistema operativo GNU fosse stato completo!”. Io ridacchiai, pensando allo stato attuale di Hurd e alla definizione di “finito”. Dopo un secondo mi son fatto serio. E dopo un altro secondo mi e’ stato impossibile evitare di dichiarare ad alta voce “Sarebbe stata la catastrofe”.

Come immagino tutti i lettori di questo blog sanno (e se no, sapevatelo) nell’era pre-opensource Stallman e compagnia si erano messi in testa di fare un sistema operativo completamente libero, e dopo aver scritto l’editor di testo per scrivere il codice, il compilatore per compilarlo, ed il debugger per debuggarlo, si piantarono nell’implementazione del kernel. Ovvero il pezzo che serviva ad eseguirlo, quello che stando a quanto che mi hanno insegnato all’universita’ e’ il sistema operativo propriamente definito. E, posti dinnanzi alla difficile scelta di rimandare il raggiungimento dell’obiettivo primario al 2043 o di sfruttare l’alternativa che gli era stata presentata su un piatto d’argento – il kernel Linux sviluppato da Linus Torvalds dalla parte opposta del pianeta – fecero buon viso a cattivo gioco ed optarono per la seconda, iniziando a costruire intorno ad esso. A cio’ si deve la doppia dicitura GNU/Linux, che a tutt’oggi caratterizza pressoche’ tutte le distribuzioni installate sui nostri PC e buona parte di grane e grattacapi all’interno della community.

E’ successo pero’ che Stallman e Torvalds non siano proprio sempre d’accordo su tutto: il primo ha una visione estremamente rigida ed inflessibile sulla liberta’ del software, il secondo ha un approccio piu’ libertario e pragmatico. Ed e’ cosi’ che al kernel Linux possono essere agganciati anche moduli non liberi senza eccessivi patemi, permette di inizializzare i driver con informazioni che si trovano in file di firmware pre-compilati, e contiene esso stesso blob binari di cui nessuno ha il codice sorgente che li ha generati. Insomma: una buona parte dell’hardware supportato da Linux, e’ supportato – che lo si voglia o no – in virtu’ di componenti tutt’altro che liberi. E tutti sappiamo quanto il supporto all’hardware sia fattore enormemente critico nella diffusione, soprattutto in ambiente desktop.

Se FSF avesse completato Hurd, non avesse dovuto ricorrere a Linux come kernel del proprio sistema, e non avesse dovuto dipendere dal reazionario Torvalds, tutto questo semplicemente non sarebbe successo: niente driver proprietari, niente blob binari, niente supporto hardware, e niente pubblico. Stallman lo ha sempre espressamente dichiarato: l’importante e’ garantire la massima apertura del codice, non raggiungere il piu’ ampio numero possibile di persone; data questa premessa mai si sarebbe piegato ad accettare compromessi nel suo sistema, e certo nessuno lo avrebbe supplicato per farlo. Qualcuno potra’ oggi sostenere che in fin dei conti le odierne gNewSense e Trisquel, distribuzioni “halal” benedette da Free Software Foundation che montano una versione speciale del kernel Linux “epurato” dai bit proibiti, in fin dei conti riconoscono una buona quantita’ di dispositivi – benche’ mai tanti quanti una piu’ lasciva Ubuntu – ma va detto che a questo punto ci siamo arrivati solo dopo venti anni di lenta ma costante espansione ed un coinvolgimento di un numero massivo di sviluppatori; se l’esperienza Linux (o in questo caso GNU) non fosse stata in un certo qual modo semplificata e resa piu’ morbida fin dall’inizio, sarebbe stato ben difficile avere tale progressivo coinvolgimento.

Ma va considerato anche un altro aspetto, meno appariscente ma probabilmente piu’ rilevante: GNU sarebbe stato certamente un sistema operativo libero, ma molto poco opensource. Fin dall’inizio della sua missione Stallman non si e’ mai dimostrato particolarmente incline ad accettare patch e correzioni dal mondo esterno, come ci racconta Eric Raymond nel celeberrimo “La Cattedrale ed il Bazaar” (nel saggio, Emacs e GCC rientrano nella categoria “Cattedrale”), e il “caso GnuTLS” del dicembre scorso ci racconta che le cose non sono cambiate nel tempo: a fronte di alcuni contrasti con lo sviluppatore principale appunto di GnuTLS in merito alla governance interna del progetto GNU, saltarono fuori dichiarazioni del calibro di “There is no process for decision making or transparency in GNU. The only existing process I saw is ‘Stallman said so'”. Torvalds non e’ uno stinco di santo e lo sappiamo tutti (per dirne due: CFS e ReiserFS 4), ma e’ legittimo chiedersi quanti componenti, anche importanti, non sarebbero stati inclusi nel kernel GNU sotto una guida puritana ed ortodossa: l’implementazione del protocollo SMB, indispensabile per interoperare con la condivisione file di Windows? I vari moduli per la virtualizzazione, che a loro volta permettono di eseguire altri sistemi operativi non necessariamente liberi? Per non parlare del supporto al DRM, che ha determinato una apertura spaccatura tra Torvalds e Stallman.

“Altola’! Hurd e’ sempre stato progettato come un micro-kernel, dunque chiunque avrebbe potuto implementare i suoi moduli anche senza il permesso di Stallman, ci sarebbero state tutte le funzioni del mondo e avremmo potuto cantare Kumbaya nudi sulla spiaggia!”. O forse no. Torvalds stesso, nel primo annuncio assoluto del suo kernel amatoriale, prendeva le distanze dal progetto GNU definendolo “professionale”: qualcosa di lontano, intoccabile, etereo. Vien da pensare che non fosse l’unico a vederla cosi’ – anche in funzione della gia’ citata tendenza a non accogliere in modo particolarmente entusiastico i contributi provenienti dai comuni mortali fuori da FSF – e che dunque il mondo GNU sia sempre stato visto – e sempre sarebbe stato visto – come un mondo parallelo. Talmente parallelo che, forse, non ci sarebbero neppure state “distribuzioni” messe insieme spontaneamente dalla community, come nella notte dei tempi e’ successo per Debian e Slackware: perche’ occuparsene, quando ci avrebbe pensato gia’ FSF? E delle distribuzioni “commerciali”, manco a parlarne: se mai una Red Hat o una Novell avessero messo mano a GNU, lo avessero compilato per proprio conto, e per una qualche necessita’ di esigenza dei propri clienti ci avessero aggiunto anche per sbaglio un qualche componente proprietario (cosa assai facilmente credibile, soprattutto all’inizio, quando necessariamente non ci poteva ancora essere una implementazione libera di ogni cosa), la contro-propaganda sarebbe stata sufficientemente spinta da fare terra bruciata intorno all’aspirante imprenditore. Gia’ oggi possiamo osservare l’attitudine dei nostri alla polemica nei confronti di Canonical, che, pur talvolta andando oggettivamente oltre il lecito, prova a far sfondare la sua Ubuntu sul mercato di massa benche’ la Fondazione non perda una singola occasione per muovere rimostranze piu’ o meno fondate (e, conseguentemente, tenendo lontani i potenziali collaboratori esterni al progetto open); figurarsi se fossero ancor piu’ direttamente toccati dalla questione, ovvero se Canonical cercasse di “manomettere” il loro proprio sistema operativo!

Alla luce di tutte queste considerazioni, c’e’ di che’ ringraziare che le cose siano andate cosi’ come sono andate. Il governo delle larghe intese gnulinuxaro, in cui devono necessariamente convivere scuole di pensiero diverse e persino contrastanti, forse non e’ il migliore possibile ma, pur non facendo contento nessuno (esattamente come la sua controparte parlamentare italiana) permette di non eccedere in nessuna direzione ed avere un ambiente bilanciato tra principi e pragmatismo (contrariamente alla sua controparte parlamentare italiana).

E se ci fosse stato Hurd? Sarebbe stata la catastrofe.