Intervista a Richard Matthew Stallman in Boston
Cominciai a lavorare nel laboratorio di intelligenza artificiale del Massachvsetts Institvte Of Technology nel 1971 entrai a far parte di una comunità di Hackers molto attiva a loro piaceva fare programmi e esplorare cosa potevano fare con i computers avevano sviluppato un sistema operativo completo interamente scritto li.
Diventai uno di loro e continuai a migliorare il sistema operativo aggiungendo nuove funzioni era il mio lavoro e mi piaceva, a noi tutti piaceva è per questo che lo facevamo chiamammo questo sistema Incompatible Time Sharing System http://en.wikipedia.org/wiki/Incompatible_Timesharing_System che esemplifica lo spirito giocoso tipico di un Hacker, gli Hackers sono persone dall'intelligenza vivace.
Tutto iniziò ad andar male quando dall'esterno ci fecero pressione per utilizzare le passwords e nei nostri computers non c'erano passwords perchè i primi Hackers che avevano progettato il sistema si erano resi conto che attraverso le passwords gli ammnistratori potevano controllare tutti gli utenti non volevano costruire dispositivi intendo chiave e lucchetto con i quali gli amministratori avrebbero potuto controllarli, perciò non lo fecero tralasciarono di inserirli.
Secondo la nostra filosofia chiunque si fosse seduto al computer avrebbe dovuto avere la possibilità di fare tutto ciò che voleva e qualcun altro che aveva usato quel computer il giorno prima non doveva avere il modo di controllare ciò che facevi oggi.
A me e ad un gruppetto di Hackers non piacque quando all'MIT furono inserite le passwords in una delle macchine, volli tentare una specie di azione informatica sovversiva. Scoprii come decifrare le passwords e guardando il database delle passwords cifrate fui in grado di individuare ciò che ogni persona digitava per entrare nel sistema.
Allora inviai messaggi dicendo salve so che hai scelto la password "mambo" o quello che era. Cosa ne dici di fare come me e digitare solo Enter come password è molto più breve e facile da scrivere.
Implicitamente con questo messaggio dicevo loro che la sicurezza era solo una buffonata e oltre li rendevo partecipi di quest'azione e alla fine 1/5 di tutti gli utenti di quel computer fecero come me e per password usarono solo Enter.
E quindi mi trovai difronte a un problema di tipo etico perchè, all'epoca erano i primi anni 80 per aver un computer all'avanguardia dovevi procurarti un sistema operativo proprietario ma gli sviluppatori di quei sistemi non condividevano al contrario cercavano di controllare gli utenti, di dominarli, di contenerli dicendo: per avere questo sistema dovete accettare di non condividerlo con nessun altro.
Per me accettare quella promessa significava essere una persona cattiva, tradire o isolarmi dalla società, dalla comunità cooperante.
Avevo già vissuto sulla mia pelle quello che era successo quando altre persone si erano comportate così con noi, quando avevano rifiutato di condividere con noi perchè avevano firmato uno di questi contratti, l'intero laboratorio ne aveva risentito ci fu impedito di fare cose utili, quindi non mi sarei mai comportato così, sentivo che era sbagliato, io non voglio vivere in questo modo.
Cercai allora un'alternativa e mi resi conto che uno sviluppatore di sistemi operativi, se avessi sviluppato un altro sistema operativo in quanto autore avrei incoraggiato tutti a condividerlo avrei detto che potevano prenderlo e usarlo e formare una nuova comunita'.
Non solo potevo continuare a usare i computers senza tradire altre persone, ma potevo passarlo anche a tutti gli altri. Tutti avrebbero avuto una via d'uscita da questa questione etica, capii che quella era la mia missione nella vita.
Cominciai a lavorare al progetto nel Gennaio del 1984, cioè quando lasciai il mio lavoro all'MIT per iniziare a sviluppare il sistema operativo GNU, ci tengo a spiegare che il termine GNU è tipico del mondo degli Hackers è un acronimo ricorsivo e significa GNU = GNU'S Not Unix! http://en.wikipedia.org/wiki/GNU Gnu Non è Unix ! e quindi le iniziali GNU stanno per GNU questo acronimo significa che stavo sviluppando un sistema che era come il sistema operativo Unix ma non era Unix ! era un sistema diverso che doveva essere scritto da zero perchè Unix era un sistema proprietario, non avevamo il permesso di condividere Unix ! non potevamo usare Unix ! e quindi per una comunità era inservibile, perciò dovemmo scriverne uno che lo sostituisse
Unix era formato da un gran numero di programmi separati che comunicavano fra loro, dovemmo sostituire questi programmi uno per uno, allora cominciai a scrivere un programma sostitutivo per uno di questi, poi per un altro, e un altro ancora e poi altri iniziarono ad unirsi a me, perchè avevo pubblicato un annuncio http://www.gnu.org/gnu/initial-announcement.html in cui chiedevo aiuto per scrivere i programmi, verso il 1991 li avevamo praticamente sostituiti tutti.
In sostanza per avere un sistema completo c'è bisogno di un kernel vale a dire il programma che attribuisce le risorse a tutti gli altri programmi c'è bisogno di un compilatore che traduce un programma da un sorgente leggibile che i programmatori possono capire in numeri incomprensibili che un computer può effettivamente far girare c'è bisogno di altri programmi utili al compilatore http://gcc.gnu.org/ che lo assistano nel suo compito, c'è bisogno di un debbuger, http://www.gnu.org/software/gdb/ di un editor di testo, http://www.gnu.org/software/emacs di un formattatore di testo, di programmi per la posta e molto altro, ci sono centinaia di programmi in un sistema operativo simile a Unix !
L'aspetto fondamentale di GNU è che è software libero, Free Software in inglese va inteso come libero e non gratuito, quindi dovete pensare alla libertà di parola piuttosto che ad una birra gratis.
La libertà di cui parlo sono le libertà di fare cambiamenti se volete o chiedere a qualcun altro di farle per voi o se usate un software per lavoro, quelle di ristribuirne delle copie da condividere con altri, fare miglioramenti e pubblicarli in modo che anche altri possano trarne vantaggio.
Queste sono le libertà che distinguono un software libero da uno non libero queste sono le libertà che permettono alle persone di formare una comunità, se queste libertà vengono a mancare si è divisi e dominati da qualcuno.
Se facciamo diventare il software di pubblico dominio, altri potrebbero apportarvi alcune modifiche e renderlo un pacchetto software proprietario, ciò significa che gli untenti utilizzerebbero il nostro software ma non avrebbero la libertà di cooperare e condividere, per impedire che ciò accada ricorriamo al copyleft o permesso d'autore.
L'idea del CopyLeft è quella del CopyRight al contrario, ciò che diciamo è questo software è protetto da copyright e noi gli autori vi diamo il permesso di ridistribuirlo copie, di cambiarlo, aggiungere dei miglioramenti ma quando lo ridistribuite dovete farlo a queste condizioni ne più ne meno, in questo modo chiunque lo riceva da voi avrà anche lui se lo desidera, la libertà di cooperare con altre persone.
In questo modo dove va il software va anche la libertà e diventa un diritto imprescindibile per collaborare con altre persone e formare una comunità.
Il CopyLeft è un concetto generale e per usarlo si deve ricorrere a un esempio specifico quello che usiamo per la maggior parte dei pacchetti software GNU è la GNU General Public License http://www.gnu.org/copyleft/gpl-3.0.html
un documento in linguaggio giuridico che svolge questa funzione, molti altri usano questa stessa licenza per esempio Linus Torvalds usa questa licenza per linux.
Sin dall'inizio del movimento Free Software ho avuto l'idea che ci fosse spazio per guadagnare uno dei vantaggi del software libero è che c'è un mercato libero per qualsiasi tipo di servizio o assistenza, perciò se per lavoro usi del software e vuoi un buon servizio d'assistenza hai la possbilità di scegliere fra un vasto numero di persone, puoi scegliere fra varie aziende che operano nel settore dei servizi di assistenza.
In linea generale devono fornirti un servizio di qualità altrimenti ti rivolgi a qualcun altro, con il software proprietario l'assistenza è un monopolio c'è una sola azienda di solito che ha il codice sorgente e solo lei puo' garantirti assistenza, di conseguenza ti trovi alla merce di un monopolio e' il caso per esempio della microsoft, perciò non c'è da stupirsi se l'asistenza è così scadente.
Il kernel fu una delle ultime cose sulla quale cominciammo a lavorare e non avevamo iniziato da molto quando arrivò Linus Torvalds.
Sviluppò un kernel e riuscì a farlo funzionare più velocemente di quanto non riuscissimo a fare noi e funzionava molto bene e in modo stabile, questo kernel si chiama linux.
Linus utilizzò il metodo collaudato tradizionale di scrivere un programma che funziona ed è subito riuscito a farlo funzionare, in realtà lo ha fatto molto più in fretta di quanto io pensassi è possibile.
In realtà noi cominciammo GNU/HURD poco prima che lui cominciasse linux, si da il caso però che scegliemmo un disegno molto all'avanguardia in termini di potenza disponibile ma risultò molto difficile individuarne il bug, decidemmo di dividere il kernel che tradizionalmente era sempre stato un programma unico in una serie di programmi piu' piccoli i quali avrebbero comunicato fra loro tramite messaggi asincroni.
E' facile però che in questo tipo di programmazione si formino molti bugs che spesso sono difficili da individuare perchè dipendono dal fatto che questo programma invii un messaggio prima o dopo che questo programma abbia inviato un altro messaggio, di conseguenza ci mettemmo degli anni per far funzionare il sistema.
Quando Linus sviluppò il suo kernel non stava lavorando sul Progetto GNU http://www.gnu.org/home.html lo fece in modo indipendente e lo rilasciò in modo indipendente, noi non ne eravamo al corrente, ma alcune persone che lo sapevano decisero di vedere dove sarebbero arrivati usando quel kernel per creare un sistema completo, cercarono in giro e tutto ciò di cui avevano bisogno era già disponibile, che fortuna sfacciata pensarono, ma in realtà non si trattava di fortuna avevano trovato tutti i pezzi del sistema GNU al quale mancava solo il kernel, quindi quando misero tutto quanto insieme non fecero che inserire linux nel vuoto del sistema GNU ma questo loro non lo sapevano, pensarono di prendere un bel pò di componenti e di sistemarli attorno a linux, e così finirono per chiamare l'insieme un sistema linux, per qualche motivo la definizione prese piede, il risultato è che ora questa variante del sistema GNU, il sistema operativo GNU/linux è usato da 10.000.000 di persone e la maggior parte di loro non lo sa neppure.
Quando ero bambino a scuola gli insegnanti cercavano di educarci a condividere, dicevano: se porti dei dolci non puoi mangiarli tutti da solo devi dividerli con gli altri bambini adesso le autorità dicono che gli insegnanti dovrebbero educare i bambini a rispettare le licenze se porti del software a scuola oh, no, non condividerlo, condividere significa che sei un pirata e che sarai messo in prigione.
Non è così che la società dovrebbe funzionare, c'è bisogno di buona volontà, di disponibilità ad aiutare gli altri perlomeno quando non è troppo difficile, perchè questo è il fondamento della società è il fondamento che distingue la società da una giungla spietata.
L'intero Progetto GNU http://www.gnu.org/home.html è in realtà un solo grande Hack, una grande azione di intelligenza creativa e sovversiva intesa a cambiare la società in meglio, perchè sono interessato solo a cambiarla solo in meglio ma in modo intelligente.
Intervista a Richard Matthew Stallman in Brasile
Nel 1983 decisi che avrei voluto vivere nel mondo del Software Libero ma ciò era impossibile a quel tempo: per far funzionare un computer è necessario un sistema operativo e nel 1983 tutti i sistemi operativi erano proprietari, per poter avere ed usare un computer dovevi firmare la promessa che non avresti scambiato il software con nessun altro così, non c'era nessun modo per usare un computer ed essere un buon cittadino essere un buon vicino decisi di cambiare questa situazione.
Non potevo farlo cambiando le leggi, ero solo un singolo individuo il governo non mi avrebbe mai ascoltato non potevo nemmeno coinvincere le compagnie a cambiare la loro politica neanche loro mi avrebbero ascoltato l'unica cosa che potevo fare era programmare, così decisi di creare un altro sistema operativo che sarebbe stato un Software Libero, in questo modo saremmo stati Liberi.
Nel Gennaio del 1984 cominciai il vero lavoro sviluppando il sistema operativo GNU ed all'inizio degli anni 90 il sistema operativo Gnu era in gran parte finito, ma mancava ancora un pezzo importante.
Poi qualcun altro colmò la lacuna scrivendo un programma libero che faceva proprio ciò che mancava, quel programma si chiama linux, così, usando linux per completare il sistema operativo GNU si ottenne un sistema operativo libero completo.
Noi gli sviluppatori di GNU non realizzammo questa combinazione perché stavamo sviluppando un altro kernel che pensavamo sarebbe stato pronto in breve tempo ma non fu così, altre persone presero il sistema GNU quasi finito ed usarono linux per completarlo, in altre parole le persone cominciarono ad usare un sistema che è GNU con l'aggiunta di linux e questo sistema ora è usato su decine di milioni di computers. Linus Torvalds ha scritto il kernel linux e ciò fu un grande contributo alla nostra comunità , ma non fu l'inizio.
Software Libero significa software che rispetta la Libertà dell'utente, il software solitamente è proprietario il software che normalmente si possiede è un software proprietario e questo significa che tiene gli utenti isolati e privi di aiuto isolati perché è proibito condividerlo con il proprio vicino e privi di aiuto perché non puoi studiare il codice sorgente o cambiarlo e quindi non puoi controllare quello che il software fa. Software Libero significa che puoi condividerlo e cambiarlo Software Libero significa che hai quattro libertà precise:
Libertà 0: è la Libertà di usare il programma a tuo piacimento e per qualsiasi scopo leggittimo.
Libertà 1: è la Libertà di aiutare se stessi ovvero la Libertà di studiare il codice sorgente vedere cosa fa esattamente il programma e quindi cambiarlo per fargli fare tutto quello che vuoi.
Libertà 2: è la Libertà di aiutare il tuo vicino ossia la Libertà di distribuire copie per gli altri.
Libertà 3: è la Libertà di aiutare a costruire la tua Comunità ossia la Libertà di pubblicare una versione modificata così che gli altri possano beneficiare delle tue modifiche.
Tutte queste Libertà sono essenziali, se un programma ti offre tutte queste Libertà è un Software Libero.
Quando si usa un Software Non Libero si hanno due possibilità : prenderlo o lasciarlo, perché non si può cambiare lo si può avere così com'è, ma con il Software Libero ci sono più possibilità lo si può tenere così com'è o lo si può lasciare ma si può anche usare con una piccola modifica o con una modifica un pò più grande oppure con una modifica ancora più grande o ancora con quell'altra piccola modifica ci sono moltissime possibilità chiaramente più grandi sono le modifiche e più verrà a costare, quindi si cercherà l'alternativa migliore e supponendo che si farà una modifica allora si pagherà un programmatore per farlo proprio come quando si acquista un edificio per viverci o lavorarci lo si può tenere esattamente così com'è ma si possono pagare anche dei muratori per cambiarlo e renderlo più funzionale ci sono varie possibilità ci saranno quindi molti programmatori pagati da differenti clienti per apportare diverse modifiche al programma ed è infatti ciò che sta accadendo ci sono diverse persone in Europa che si guadagnano da vivere così ed una delle novità importanti è che quando paghi per avere la possibilità di utilizzare un Software Non Libero il denaro è assorbito in quantità enorme da un ristretto numero di grandi aziende, ma quando le persone pagano per adattare il software libero per modificarlo, tendono ad impiegare persone del proprio paese, della propria zona, perché con loro si trovano meglio parlano la stessa lingua e così il denaro circola all'interno di diverse regioni invece di essere assorbito da poche grandi aziende altrove quindi in generale credo che sia economicamente migliore passare al Software Libero ma devo ripeterlo questo è solo un aspetto secondario la nostra Libertà di cooperare è molto più importante.
Ci sono quattro ragioni per cui le scuole dovrebbero insistere sul Software Libero inizierò con il motivo più superficiale per Risparmiare
Per poter avere una copia di Software Non Libero normalmente è necessario pagare ora anche nei paesi più ricchi non ci sono mai fondi sufficenti per le scuole sono costantemente arretrate per la mancanza di denaro, quindi perché si dovrebbero spendere dei soldi per avere la possibilità di usare dei softwares il sistema scolastico può servirsi di softwares liberi e fare liberamente tutte lecopie che vuole e distribuirle a chiunque voglia comprese tutte le scuole.
E questo ci porta ad un altro dei motivi per i quali le scuole dovrebbero formare adulti che sappiano usare Softwares Liberi per quale motivo far crescere persone dipendenti da qualcosa che impoverisce costantemente l'economia se le scuole insegnano alle persone come usare Softwares Non Liberi aiutano l'impoverimento della regione se invece si insegnasse come usare Software Liberi si permetterebbe alla gente di diventare indipendente e forte perché sapete Microsoft può anche fornire copie omaggio alle scuole per rendere le persone dipendenti ma una volta cresciuti e diplomati Microsoft non fornirà loro copie omaggio lo scopo di fornire copie omaggio alle scuole ai ragazzi è che una volta cresciuti saranno costantemente costretti a pagare.
Sto analizzando i vari motivi da quello più superficiale a quello più profondo il prossimo motivo per cui i bambini a scuola dovrebbero usare Softwares Liberi è per fini puramente didattici nell'educazione informatica vedete alcuni ragazzi rimangono affascinati dalla programmazione e vogliono sapere tutto quello che succede all'interno del computer e questo include chiedere come lavora questo programma ? e se quel programma è un Software Non Libero l'insegnante dovrà dire: non lo so, non sono autorizzato a saperlo e neanche tu sei autorizzato a saperlo e così la formazione dello studente finisce li ma se il programma è Software Libero l'insegnate potrà dire: ecco qui il codice sorgente da questo puoi leggere esattamente come lavora questo programma e ti puoi esercitare a migliorarlo oppure a cambiarlo sei solo all'inizio e non potrai scrivere un programma intero uguale a questo ma potresti apportare una piccola modifica ed è così che le persone imparano ad essere bravi programmatori per essere un bravo programmatore e scrivere dei codici validi devi leggere e scrivere molto codice all'inizio non si è in grado di scrivere un programma intero da soli e quindi è necessario poter accedere ai codici di programmi scritti da altri per poterli leggere e cambiare e facendo una modifica dopo l'altra si acquisiscono le capacità per scrivere un programma intero e fare un buon lavoro è necessario leggere il lavoro degli altri per vedere cosa è facile e cosa è difficile da capire e quando si legge qualcosa che risulta molto difficle da capire si impara a spiegare ogni cosa nei propri programmi per non renderne complicata la comprensione questo è essenziale per formare coloro che sono interessati preparandoli ad essere bravi programmatori e questo è il terzo motivo.
La ragione più profonda per cui le scuole dovrebbero insistere nell'uso di Softwares Liberi è per insegnare alle persone come essere bravi cittadini abituarli alla cooperazione ad aiutare i propri vicini le scuole dovrebbero insegnare fatti e capacità alle persone ma la cosa più importante che la scuola insegna è come essere buoni vicini quindi le scuole dovrebbero avere questa regola: ragazzi se portate a scuola dei softwares non potete tenerli solo per voi dovete permettere agli altri di copiarlo dovete condividerlo con la classe chiaramente le scuole devono mettere in pratica le proprie regole le scuole dovrebbero dire se porti software a scuola lo devi condividere con gli altri non puoi tenerlo solo per te e questo vuol dire che non puoi portare Softwares Non Liberi in classe le scuole quindi dovrebbero fornire per le lezioni solo Software Libero ed insegnare alle persone che le conoscenze vanno condivise.
Un governo ha la responsabilità verso i suoi cittadini di mantenere il controllo dei propri computers e del loro funzionamento e l'unico modo per fare ciò è assicurandosi di usare solo Softwares Liberi perché quando si usano Softwares Non Liberi non si è in grado di controllare i propri computers chi ha sviluppato il programma controlla ciò che fa ma non si può nemmeno scoprire cosa faccia realmente non si può verificare, non si può revisionare il che significa che non si ha controllo ora è sbagliato se io e te non abbiamo controllo è sbagliato per noi ma quando è un governo a non avere il controllo dei suoi computers ciò non è sbagliato solo per il governo è sbagliato per tutti i cittadini che quel governo si suppone rappresenti e per i quali lavora, il governo non ha solo il diritto ma la responsabilità il dovere di insistere per l'uso di Softwares Liberi nei suoi computers.
In realtà molte persone usano il Software Libero ma non hanno mai pensato alla questione della Libertà che è alla base del Software Libero, vedete negli anni 90 quando il sistema operativo Gnu/linux divenne popolare e iniziò a prendere piede le persone videro che era superiore tecnicamente che era potente, che era affidabile e quindi molte persone iniziarono a raccomandarlo ad altre per questi vantaggi tecnici e molte altre persone iniziarono ad usarlo per questi vantaggi tecnici e non hanno mai parlato di Libertà e il risultato è che anche nella nostra comunità la maggior parte degli utenti non ha mai pensato alle questioni etiche che sono proprio il motivo per cui la comunità esiste e questa è una situazione pericolosa, quando le persone hanno la Libertà ma non la riconoscono e non le danno valore il pericolo è che se la lascino scappare tra le mani ci sono così tanti possibilità di perdere la Libertà nella vita, che se non dai valore alla tua Libertà finirai col perderla.
Se sono un Hacker si lo sono e precisamente sono stato un Hacker fin dagli anni 70 ma siete probabilmente stati mal informati sul significato di questa parola all MIT nel 1970 essere un Hacker significava essere qualcuno che si divertiva a programmare in modo intelligente che si divertiva a risolvere i problemi tipo creare un programma più breve di tutti quelli esistenti per fare un lavoro oppure creare programmi che facessero qualcosa al solo fine di divertirsi o che fossero strani come stampare numeri romani questo è qualcosa che fu fatto da un Hacker ed aveva solo un'importanza da Hacker perché non era per nulla pratico ed era solo per divertirsi, quindi se sapevi programmare in quel modo eri considerato un Hacker più avanti ho generalizzato e reinterpretato un pò il termine e oggi la mia definizione di Hacker è qualcuno che si diverte a giocare in modo intelligente.
Comments (0)
You don't have permission to comment on this page.