|
INDICE Prefazione
INTRODUZIONE
Codici, metodi, tattiche e amenità varie
I. Storie informatiche
II. Licenze, politica, mercato
III. Comunità
IV. La strategia economica dellOpen Source
V. Hic Sunt Leones
Appendici
Presentazione oggetti grafici
Disclaimer
PREFAZIONE
Questa prefazione in realtà è una postfazione, nel
senso che è stata fatta dopo il libro stesso. Il fine di questa
azione che precede il testo è parlare fuori dai denti, rendere
il più possibile comprensibile, ampliare le prospettive, dare
delle indicazioni utili al lettore, soprattutto quello non specialistico
e alieno a concetti come software, computer, internet.
Questo libro traccia dei percorsi e delle linee di fuga in una materia
complessa: la scrittura di codici informatici, lagire quotidiano
di legioni di coder e hacker di vario tipo. Il mondo digitale, la
tecnocultura pervasiva, la matrice tutte immagini di gran moda
devono molto a questi individui manipolatori di codici, ovvero
coloro che detengono il potere tecnico di intervenire direttamente
sui processi di creazione dei codici che modellano le realtà.
Tuttavia, malgrado il loro enorme potere, raramente queste persone
se ne fanno carico, difficilmente lo gestiscono, in pochi prendono
posizioni dal punto di vista politico, o per meglio dire al di fuori
dei mondi digitali. Quanto meno, si tratta di una minoranza.
I media di massa ripropongono regolarmente, e in maniera concertata,
banalizzazioni ridicole dellattivismo digitale. Questo atteggiamento
di sufficienza e spettacolarizzazione rende difficile una cartografia
anche solo vagamente oggettiva di quanto si muove nelle reti: i pirati
informatici sono uno spauracchio utile al pensiero totale, non importa
di quale colore politico, e funzionale alle risposte preconfezionate.
Per correre ai ripari, per difendersi da questa malvagia incarnazione
piratesca, sono stati costituiti corpi polizieschi internazionali
con giurisdizione anche virtuale, lanciate campagne sulla sicurezza
informatica, sequestrate migliaia di macchine in tutto il mondo, arrestate
centinaia di persone; i superstati, dagli USA allUE, fanno a
gara nellapprovare corpus di leggi liberticide (DMCA, Digital
Millennium Copyright Act, del 1998; EUCD, European Union Copyright
Directive, del 2001) , che finalmente permettano loro di prendere
il controllo delle reti. Un effetto lampante di questa politica è
stata la criminalizzazione, avvenuta nellindifferenza generale,
di larghe fasce della popolazione che ha accesso alle reti: tutti
quelli che scaricano materiali protetti da copyright, audio, video,
testi, qualsiasi cosa, al momento compiono un illecito penale, alla
faccia della riproducibilità tecnica! Questi tentativi, in
parte già riusciti, di imbrigliare, irreggimentare, castrare
la libertà creativa delle reti informatiche riguardano dunque
la vita concreta di tutti. Tutti usano carte di credito e bancomat,
cellulari e computer, pochi si preoccupano della costante chiusura
di orizzonti, delle continue limitazioni delle libertà sulle
reti, che guarda caso corrispondono a tagli drastici delle libertà
civili più tradizionalmente intese: più controlli ovunque,
più paranoia per tutti, più polizia, più armi:
naturalmente, è nel vostro interesse, per la vostra sicurezza.
I mondi digitali, di cui la rete di internet è la manifestazione
più nota, non sono completamente altro dai mondi reali: sono
semplicemente differenti, spesso in movimento più rapido e
convulso, ma sostanzialmente riflettono e a volte anticipano i movimenti
che si verificano fuori da essi. Perciò la mitizzazione manichea
dellhacker come individuo pericoloso che si muove in un territorio
senza leggi (magari!), onnipotente quasi fosse un essere distribuito
con terminali senzienti in ogni capo del mondo, in rapporto con oscure
comunità di supertecnici, è unimmagine decisamente
troppo nostalgica di soluzioni facili, desiderosa di stabilire confini
chiari e netti, di separare i buoni dai cattivi. Il mito fortemente
modellato dalla cultura cyberpunk rappresentava gli hacker come individui
pericolosamente interfacciati con la realtà, tra il virtuale
e il reale, con il giubbotto di pelle e gli occhiali a specchio. Effettivamente,
gli hacker creano codici e aprono nuove strade nella tecnosfera, ma
non hanno gli occhiali a specchio, forse non li hanno mai avuti. Hanno
una passione per i codici, per le macchine, un desiderio di capire
come funzionano e di comunicarlo agli altri. Creano comunità
molto stratificate e spesso fortemente gerarchizzate, dove la meritocrazia
ha un ruolo centrale, ma difficilmente parlano al mondo:
nel complesso, da un punto di vista meramente politico, sono neutri,
non schierati, non attivi. Una delle ragioni di questa disaffezione
per la vita reale, la real life schematicamente contrapposta alla
virtual life (campo dazione e di costruzione della propria individualità
per un numero sempre più imponente di individui) risiede probabilmente
nelle caratteristiche stesse dei mondi e dei linguaggi digitali. Il
cyberspazio, la matrice digitale, già di per sé è
fatta di codice. La scrittura e luso di codici informatici può
dunque sembrare del tutto autoreferenziale, interna allespansione
della matrice stessa, senza relazioni con la realtà nondigitale.
La realtà esterna, invece, non è completamente codificata,
perdurano enormi sacche che resistono a qualsiasi tentativo di codifica.
Mentre scrivere codice crea di fatto, e completamente, la realtà
della matrice, e si configura in quanto azione omogenea alla natura
stessa della matrice, usare una lingua naturale non crea tutta la
realtà, è unazione eterogenea, perché crea
solo il mondo condiviso di chi comprende quel linguaggio . Inoltre,
se paragoniamo i linguaggi informatici alle lingue naturali, laspetto
che più ci preme sottolineare è la radicale differenza
di finalità e funzionalità: una lingua naturale viene
codificata a posteriori, viene scritta una grammatica da esperti dopo
che la lingua viene utilizzata; invece un linguaggio digitale viene
pensato per raggiungere un determinato scopo: per scrivere interfacce
grafiche, per mettere in relazione altri programmi scritti in linguaggi
differenti, per programmare una macchina a basso livello, ecc. La
finalità è dettata a priori, anche se ovviamente si
possono aggiungere usi e funzionalità impreviste. Finalità
e funzionalità: il fine di un codice è che funzioni.
Poi ognuno lo userà a modo suo. Lattitudine hacker è
tutta qui: ho un bisogno o desiderio, applico la mia passione per
soddisfarlo, scrivo un codice che funzioni a quel fine. Banalizzando:
ho un computer, un microfono, un telefono, desidero parlare con un
amico lontano, scrivo un codice, un programma che metta in relazione
gli elementi tecnologici per raggiungere il mio scopo. La politica
diventa personale al massimo grado: uso il mio potere tecnico per
raggiungere i miei obiettivi in maniera funzionale.
Abbiamo imparato molto dallo stile hacker. Abbiamo imparato a giocare
e a condividere, a immaginare nuovi possibili usi della tecnologia.
Vorremmo dare qualcosa in cambio, influenzare come siamo stati influenzati:
condividere un immaginario radicale. Smetterla una buona volta con
la strategia della resistenza e della difesa di minuscoli interstizi
di libertà, di piccole aree autogestite a fatica connesse tra
loro, sempre pronti a cambiare aria se la repressione alza il tiro;
abbandonare le strategie di pura sopravvivenza, le economie di autosussistenza,
e cominciare ad ampliare le aree di libertà. La creazione di
TAZ è solo il primo passo, ma non basta: deve diffondersi come
un virus, moltiplicarsi in una miriade di progetti. I mezzi ci sono:
la tecnica è nelle mani di chi la sa usare, e adesso è
il momento di promuovere un uso sovversivo della tecnica. Negli anni
Ottanta gli hacker venivano processati e sbattuti in prima pagina
(e, spesso, cooptati subito dopo dai servizi più o meno segreti
per spiegare a ottusi funzionari come usare le macchine) perché
osavano penetrare nei sistemi delle grandi compagnie telefoniche americane.
Era ridicolo, visto che chiunque sapesse leggere e usare i manuali
tecnici delle compagnie, non certo segreti, avrebbe potuto fare altrettanto.
Ma diffondere le conoscenze e le informazioni, nelletà
in cui linformazione è il bene più prezioso, lunica
vera moneta di scambio e fonte di potere, è già di per
sé sovversivo. Oggi gli hacker detengono senzaltro il
potere tecnico per costruirsi le loro reti telefoniche o reti di qualsiasi
altro tipo, senza chiedere il permesso a nessuno, negoziando invece
con i soggetti interessati i possibili scenari. Dovrebbero solo sporcarsi
di più le mani con la vita reale, prendere la parola e imparare
a parlare anche a persone che non hanno la loro competenza tecnica.
Non è facile, non è automatico, non ci sono ricette
di sicuro successo. Lincomprensione è sempre dietro langolo,
la traduzione può risultare oscura e inefficace. Però
si può giocare, e metterci tutto il proprio desiderio. Non
sarà comunque fatica sprecata.
Questo libro, quindi, è unazione diretta, un modo di
chiamarsi in causa, di non restare a guardare il divenire vorticoso
della tecnocultura, ma di metterci su le mani. È stato scritto
a otto mani, attraverso strumenti di open publishing in rete , da
una comunità scrivente che si è costituita in diversi
mesi di lavoro comune; ma, in pratica, sono molte di più le
mani che sono intervenute: ognuno con le sue competenze, abbiamo dovuto
confrontarci e cercare di capirci fra di noi, mediare e trovare linguaggi
condivisi, prima di poter dire qualcosa. Questo libro non è
un libro perché continua sulla rete, nei percorsi che si sono
aperti man mano che ci guardavamo intorno, chiedendo a chi ne sa di
più, ma magari non ha tempo, voglia e capacità di raccontare
agli altri. Questo libro è unautoproduzione di un autore
collettivo che ha coagulato intorno a sé degli interessi precisi,
una volontà chiara di immergersi nella realtà, consapevoli
dei propri mezzi tecnici. Fra tante azioni, ci sono state anche parecchie
riflessioni. In primo luogo, su chi siamo e cosa vogliamo, sui nostri
desideri. Sul modo di relazionarci fra di noi, nei confronti degli
altri, delle comunità di cui facciamo parte. Sul primato del
processo, del metodo, rispetto ai risultati. Nessuna indagine sociologica,
economica, linguistica che pretenda dessere oggettiva: ma tutto
questo, e molto altro insieme, in un divenire fluido. Ogni capitolo
può essere letto a sé: si susseguono una discussione
sulluso dei codici (Introduzione), una panoramica storica dellemergere
dei concetti di Free Software e Open Source (cap. I), una disamina
delle licenze software (cap. II), unanalisi delle comunità
digitali (cap. III), un approfondimento sulle relazioni tra Open Source
e mercato (cap. IV), una focalizzazione sulle possibilità dazione
degli invidi (cap V). Un altro livello di lettura, più immediato
rispetto alla narrazione, è quello grafico; infatti, sono state
inserite delle infografiche, cioè oggetti grafici, mappe di
vettori senza alcuna legenda che evidenziano le connessioni fra le
comunità digitali e fanno il punto sulle relazioni tra Free
Software e Open Source, per facilitare il posizionamento del lettore
nel discorso del testo. In rete, oltre al libro completo liberamente
scaricabile, rilasciato sotto una licenza Creative Commons , si trovano
sitografie, link e approfondimenti vari aperti a contributi futuri.
In questo libro tanto eterogeneo vi sono molte carenze e molti punti
di forza; nessuno sviluppato a fondo: questo perché la teorizzazione
perfetta, le teorie piene e lisce, senza alcun punto debole, perdono
subito contatto con la realtà e si traducono in pratiche catastrofiche,
autoritarie, non condivise. Preferiamo abbozzare, rilasciare una versione
alfa, e attendere contributi. Questo libro è pensato come un
software modulare: abbiamo dei desideri da realizzare, vorremmo far
funzionare e implementare le nostre reti, quindi abbiamo pensato a
scrivere delle librerie, dei pezzi che possano essere riutilizzati
in altri contesti, dei brani di codice che possano servire da collegamento
tra diversi tipi di comunità e soggetti eterogenei: hacker,
tecnici, attivisti, utenti a qualsiasi livello delle tecnologie informatiche.
Lordito e la trama della tela che possiamo tessere sono molto
più complesse di quanto non possa restituire un libro, ma un
libro è quello che ci serve per iniziare a costruire. Questa
struttura modulare è funzionale inoltre allintervento
esterno: chiunque può scrivere la sua implementazione, proporre
migliorie, ideare e realizzare un suo plugin che svolga funzioni specifiche.
Annoveriamo tra i punti deboli, quelli che possono facilmente essere
attaccati, almeno tre linee di fuga che ci piacerebbe seguire, o meglio
che qualcuno seguisse. Innanzitutto, un discorso sul mondo del lavoro.
Elaborare pratiche di autoformazione e la condivisione delle competenze
come modello di autodifesa digitale, esportabile in qualsiasi campo
anche al di fuori dellambito qui affrontato: prospettive di
biosindacalizzazione dei soggetti precari, per i quali le tattiche
del welfare tradizionale (e di qualsiasi presunto welfare alternativo)
sono del tutto obsolete e inappropriate. In secondo luogo, le tematiche
legate allergonomia: a partire dal software e dal rapporto uomomacchina,
progettare oggetti, servizi, ambienti di vita e di lavoro, affinché
rispettino i limiti delluomo e ne potenzino le capacità
operative, con la massima attenzione al confort, allefficacia,
alla sicurezza. Buone pratiche per vivere con un certo stile, per
usare le tecnologie e non esserne usati. Infine, immaginare nuovi
modi per attraversare i livelli delle realtà in cui viviamo,
nuove declinazioni collettive e individuali, che prendano forma, diventino
azioni concrete e di quando in quando riescano, attraverso pratiche
di scrittura comunitarie, a fermare il tempo e il flusso dellazione,
a teorizzare, a individuare nuove vie di fuga, per spingere al massimo
i propri desideri.
Una precisazione: in questo libro si accenna appena a Microsoft,
perché sparare sulla croce rossa è troppo facile e persino
noioso. Le posizioni monopolistiche e di chiusura pressoché
totale dei codici del colosso di Redmond non possono nemmeno essere
prese in considerazione, tanto sono lontane dallo spirito hacker.
Se addirittura lantitrust americano si accorge che qualcosa
non va, non ci vuole un grande intuito. È più interessante
prendere in considerazione il sottile slittamento di significato che
ha portato la pratica del Free Software a diventare più semplicemente
Open Source, un movimento che sostituisce la pratica della libertà
con una meno imbarazzante apertura: come ricompensa, viene
appoggiato da governi e da corporation come IBM e Sun, insomma da
poteri forti, che ora si fanno improvvisamente paladini dello sviluppo
dei metodi di condivisione e apertura elaborati nelle comunità
digitali. Perché non avvalersi della collaborazione appassionata
di persone a cui piace il lavoro che fanno, invece che costringere
persone poco motivate a produrre merci che non gli interessano? Il
controllo morbido, linsistenza sulla creatività e sul
lavoro déquipe, le pacche sulle spalle, le gratificazioni
sono da tempo patrimonio delle tecniche aziendali: si realizzano prodotti
migliori in minor tempo e a costi inferiori. Per molti settori, persino
i militari preferiscono usare lo sviluppo aperto, piuttosto che la
chiusura, per perfezionare i loro strumenti di dominio e sterminio.
Vogliamo allora mettere il dito sulla piaga, evidenziare le incapacità
politiche del Free Software, linsufficienza della GPL, la necessità
dellestensione del copyleft e insieme lipocrisia, molto
redditizia in tutti i sensi (ma che nonostante tutto ha dato una scossa
al monopolio Microsoft), che ha portato al successo del termine Open
Source.
Infine: se questo libro vi darà delle risposte e lo chiuderete
colmi di sicurezze e gratificazioni, avremo fallito. Speriamo che
questo libro vi deluda: siamo certi che non sia abbastanza e perciò
speriamo che vi spinga a dire la vostra, ad agire in prima persona,
magari a prendervi uno spazio di elaborazione e scrittura collettiva,
usando e migliorando gli strumenti che qui abbiamo testato. Questi
strumenti e molti altri sono a disposizione, fra laltro, presso
il server Ippolita (www.ippolita.net), che incidentalmente è
anche lautrice di questo libro. Solo così il meccanismo
della delega, almeno per una volta, sarà accantonato: confidiamo
nellassunzione diretta di responsabilità, per la creazione
di dinamiche impensate di autogestione.
1. Alcuni approfondimenti, in italiano: EUCD http://www.softwarelibero.it/progetti/eucd/
(cache); DMCA http://www.annozero.org/nuovo/pages.php?page=Sklyarov+DMCA
(cache)
2 . Il discorso qui accennato è ovviamente assai più
complesso. La realtà è idiota, nel senso etimologico
del termine di proprio, privato, particolare; questo aspetto è
assolutamente alieno alle codifiche totalizzanti che rendono invece
la matrice digitale una sequenza, per quanto gigantesca, di impulsi
discreti, di zeri e di uno.
3. Matthew Arnison, Lopen publishing è la stessa cosa
del software libero, Indymedia FAQ #23, http://italy.indymedia.org/news/2002/07/64459.php
(cache). Lo strumento principale che abbiamo usato è un wiki,
un software collaborativi per scrivere, che potete trovare qui: www.ippolita.net
4. In particolare abbiamo scelto una licenza Creative Commons copyleft
di tipo byncsa 2.0, ovvero: Tu sei libero: di distribuire,
comunicare al pubblico, rappresentare o esporre in pubblico lopera;
di creare opere derivate. Alle seguenti condizioni: by: Attribuzione.
Devi riconoscere la paternità dellopera allautore
originario. Nc: Non commerciale. Non puoi utilizzare questopera
per scopi commerciali. Sa: Condividi sotto la stessa licenza. Se alteri,
trasformi o sviluppi questopera, puoi distribuire lopera
risultante solo per mezzo di una licenza identica a questa. Maggiori
informazioni: http://www.creativecommons.it (cache)
INTRODUZIONE
Codici, metodi, tattiche e amenità varie
In questo libro si parla spesso di codici. Un codice è un
insieme di regole che permette la conversione di una porzione di informazione
(una lettera, una parola, una frase) in unaltra forma di rappresentazione,
non necessariamente dello stesso tipo. Una lingua naturale, come litaliano,
è un codice, in quanto è composta da segni arbitrari
che, combinati con altri segni dello stesso tipo, costituiscono un
sistema di segni complesso, ovvero un codice. La lingua quindi può
essere considerata un codice in quanto essa mette in relazione un
universo di significanti e linsieme dei significati di quella
lingua stessa.
Allo stesso modo, nel contesto informatico, un codice mette in relazione
le proprietà di un particolare linguaggio (C, php, perl, ecc.),
composto di segni arbitrari, con i significati che lutilizzatore
del linguaggio desidera esprimere. La scrittura di codice, latto
del codare (la codifica, da to code), in questo senso, è unoperazione
di passaggio da un significante a un significato. La decodifica, viceversa,
sarà il passaggio dal significato al significante1. Nella stesura
e nella composizione del libro, operazioni successive di codifica
e decodifica, abbiamo cercato di tenere presente e di rendere questo
continuo trapasso, questo movimento.
1. Canguri dimensionali
Saltando in una tensione continua da un piano allaltro, dalla
rete al reale, dallindividuale al comunitario, e ritorno, è
inevitabile porsi in unottica di traduzione, e dunque di tradimento.
Finora con la stesura di questo libro, che non riusciamo a considerare
concluso, abbiamo saltato in continuazione da dimensioni virtuali
a dimensioni reali: siamo passati dalle microrealtà individuali
(lhacker solitario che scrive il suo codice) ad ampliamenti
comunitari (la condivisione delle conoscenze), a proiezioni globali
(luso di licenze che rilasciano un permesso, che concedono un
determinato potere a un certo utente riguardo a una precisa porzione
di codice).
Naturalmente, questi stessi esempi sono semplificazioni: i flussi
si possono analizzare solo perdendo qualcosa della loro complessità.
Questi passaggi non solo non sono affatto scontati, perché
richiedono una certa elasticità e molteplicità di punti
di vista, ma sono evidentemente anche del tutto soggettivi e situati.
Abbiamo cercato di fotografare una realtà complessa e in divenire
vorticoso, il mondo digitale, con il suo pullulare di comunità,
individui, codici, nelle relazioni con il mondo commerciale. Questa
fotografia, è quasi inutile dirlo, non poteva che risultare
mossa, dunque un tradimento delloggettività che esiste
(forse) là fuori da qualche parte, ma che le parole e i codici
possono appena abbozzare.
2. Analisi pure e oggettive Desideri e linguaggi
I livelli di analisi macrosociale scadono presto in costruzioni di
poco o nullo interesse perché perdono di vista la materialità
degli individui che danno vita allo spazio sociale, sia esso digitale
o reale (quanto poi i livelli siano mescolati, è un ulteriore
elemento di complessità).
Se consideriamo invece i singoli individui, e i loro desideri, si
svela lovvia parzialità del proprio punto di vista. Tradurre
nella realtà ciò che sta in rete è unazione
impura (per fortuna), cioè di tradimento, perché ogni
traduzione si confronta con la complessità del nondetto
(i codici non sono mai equivalenti anche se sembrano dire la stessa
cosa): allo stesso modo, un codice ben scritto non si esaurisce nella
purezza delle sue routine e subroutine, e nemmeno nello stile di indentazione
o nella ritmica dei commenti al codice stesso. Il codice contiene
in sé la possibilità di un uso, che può tradursi
in un accrescimento, in una perdita, comunque in una trasformazione
di ciò che già esiste.
3. Codici
Limitiamo momentaneamente il termine codice allambito informatico.
Un codice non utilizzato è monco, o forse inutile. La questione
dellutilità o meno di un codice è decisamente
mal posta, spinge un parallelo con i linguaggi naturali eccessivamente
forzato2. Prescindiamo dallutilizzo che ne viene fatto (o non
ne viene fatto): possiamo dire che non esistono codici inutili.
Esistono sicuramente codici monchi, non finiti, abbandonati, non utilizzati,
accatastati in qualche cimitero di sorgenti sparso da qualche parte
nella rete. Non si scrive codice, non si coda mai iniziando dallo
zero assoluto, ma studiando i codici sorgenti di altri prima di scrivere
il proprio. Dunque accade che codici ritenuti monchi da chi li ha
scritti tornino a essere sfogliati, studiati, utilizzati, implementati.
Il codice può essere riciclato e riutilizzato, studiato, ammirato,
smembrato e ricomposto oppure semplicemente tenuto da qualche parte
per i posteri o per il piacere di avere un archivio.
Infine, non è nemmeno detto che sia possibile analizzare lutilità
o meno di un codice. Ovvero, i codici possono essere scritti per il
«grande pubblico», per gli «addetti ai lavori»,
per il «programmatore stesso». Non per forza acquistano
valore nella loro compilazione ed esecuzione, ma a volte addirittura
si attualizzano solamente e completamente nella loro semplice scrittura.
Per non parlare dei codici che sono scritti per essere il più
possibile non utilizzati oppure semplicemente per il gusto di essere
i primi a riuscire in una qualche impresa.
Lutente medio può apprezzare un programma per gestire
la posta elettronica come Thunderbird, «pochi eletti»
o «addetti ai lavori» apprezzano Blender per la grafica
3d, alcuni coder sorridono allidea delle librerie dmalloc. Esistono
poi linguaggi di programmazione esoterici, il cui fine non è
tanto lusabilità quanto il desiderio di esplorare i limiti
delle macchine, o dimostrare un concetto, o giocare semplicemente
con le possibilità del codice ed espanderle3.
4. Virtù(alità) del codice
Luso di un codice, in ogni caso, apre la strada al salto dimensionale:
è virtuale, sì, e proprio per questo non è solo
virtuale. Un codice usato non è solo codice: entra in relazione
con la realtà, e la realtà non è fatta solo di
codici e parole, ma anche di cose che proprio non ne vogliono sapere
di rientrare nella semplicità del nostro codice, di essere
fedelmente rispecchiate, di adattarsi. Anzi di solito accade che la
realtà, le cose, trasformino il codice e viceversa: lesempio
più banale è luscita di nuove release dei programmi
che impone laggiornamento del proprio sistema quindi un impiego
di tempo da parte di individui in carne e ossa, e a volte un mutamento
nella struttura stessa delle macchine (più potenti, più
performanti).
Luso, la prassi, fra laltro, trascina con sé letica.
Letica è la responsabilità degli esseri umani,
la loro capacità relazionale, e non solo. Non si tratta affatto
di riscoprire il grande valore aggiunto dellumanità,
la centralità delle scelte delluomo, che si costruisce
nel quadro di un umanesimo in fondo malinconico: ah, certo, le macchine
servono, risparmiano fatica, ma come si stava bene senza! Letica
riguarda anche le macchine, e non solo gli esseri umani. perché,
che piaccia o meno, attualmente esistono macchine che agiscono, che
si relazionano con altre macchine, con altri esseri più o meno
viventi e senzienti. Esistono ad esempio macchine armate (dagli esseri
umani, certo) che decidono della vita di esseri animati4. Vi sono
passaggi continui tra i mondi. Mancano, perché devono essere
create, parole adeguate (che non siano solo codici) per esprimere
questi passaggi, dal virtuale al reale e ritorno, e dal collettivo
allindividuale e ritorno, dove non cè mai un punto
di partenza né di arrivo, ma il percorso dipende dal punto
di entrata. Insomma, «realtà» non significa affatto
«ambito dazione degli esseri umani, mondo umano dei corpi
e delle cose», né «virtuale» sta per «mondo
delle macchine, delle menti e degli oggetti immateriali». Questa
dicotomia fra reale e virtuale, cavallo di battaglia di una certa
vulgata pseudoscientifica, è del tutto inappropriata, oltre
che orfana di altre ben più potenti e storicamente influenti
separazioni (fra corpo e mente, fra mondo delle idee e mondo della
materia, ecc.)5. Immaginare possibili hacking della realtà
non centra nulla con una ridefinizione e riproposizione dellambito
reale come «migliore perché umano e umano dunque migliore»
per intervenire.
Le cose sono assai più complesse, i mondi variamente mescolati,
e osservare i punti di passaggio fra di essi implica delle identità
sempre in gioco e negoziabili. Volerle fissare e legare a un livello
a ogni costo è una semplificazione indebita. Chi vuole definire
un livello «migliore», un approccio «migliore»,
di solito, vuole semplicemente mantenere lo status quo perché
gli fa comodo, ovvero, per mantenere il potere che ha.
Lumanesimo che ribadisce allarmato che il progresso tecnico
mette da parte lessere umano ed esalta le macchine, inumane
e dunque cattive come se invece gli esseri umani fossero «di
natura buoni» è solo la faccia luddista della
tecnofilia repressiva che immagina di scaricare le menti umane in
software puri. Sogni, incubi di tecnofascisti puritani, che si troverebbero
a loro agio in un universo disincarnato: come se potessero darsi software
senza hardware o senza wetware. Entrambe le posizioni hanno scarse
capacità di cambiare, ma soprattutto di immaginare e desiderare.
5. Visioni differenti
Capacità di immaginare e desiderare: in questo senso, ogni
capitolo può essere letto come un tentativo di far vedere ciò
che non si vede tra le «semplici» righe di un codice.
Ad esempio, nel capitolo dedicato alle licenze software appare evidente
che, adottando il «permesso dautore» (copyleft),
le licenze come la gpl (General Public Licence) funzionano con un
meccanismo virale e cercano così di garantire ed estendere
la libertà del codice. Un codice rilasciato sotto gpl è
libero, e tutti i codici che da esso derivano saranno altrettanto
liberi; queste licenze quindi cercano di esplicitare ciò che
non si può esplicitare, far vedere la libertà intrinseca
in quel codice. Tuttavia questo non è sufficiente per rendere
oggettivo e ineliminabile un uso etico del software.
Infatti letica, come la libertà, non si può garantire
per decreto o per licenza, dando o togliendo permessi, ma solo confrontando,
traducendo, adattando. Lì sta il tradimento, nelluso,
che può essere diverso e lontano (volendo anche di mercato;
per quanto la licenza gpl non neghi affatto la possibilità
di profitto commerciale) rispetto a quello che si era previsto scrivendo
quel codice. È come dire a un autore (che scriva romanzi, saggi,
poesie o software a questo punto non è cruciale): io nel tuo
testo ho letto questo. Lautore si potrà anche risentire,
sostenendo di aver avuto tuttaltro intento, ma linterpretazione
non può che essere libera. La libertà dellutente
in questo caso sta nella possibilità di uso (etica) che gli
viene concessa. Dare una libertà significa anche prendersela.
Scrivere uno stesso concetto con il linguaggio del liberismo, dello
strutturalismo, del postmodernismo, del marxismo, dellavanguardismo
(o di qualunque altro ismo, maggiore o minore che sia), ecc.
non è metodologicamente diverso dallo scrivere un codice che
in linea di principio compie le stesse cose in un linguaggio procedurale
come il C, oppure con uno script perl, o php, o in un linguaggio a
oggetti, o in un linguaggio macchina assembly, ecc. Si tratta di visioni
differenti di una medesima, molteplice realtà. Ognuno ha familiarità
e competenza per un certo linguaggio e non per altri, quindi formulerà
il proprio approccio nel linguaggio che padroneggia meglio o che ritiene
più adatto.
Un programma può essere scritto in un linguaggio qualsiasi,
in linea di principio, sempre che i mezzi linguistici siano adeguati
ai fini che si intende raggiungere e dunque: una sequenza di boot
allaccensione di un computer, il cui fine è bootare,
sarà probabilmente scritta in assembly, un sito web dinamico,
il cui fine è servire pagine web agli utenti che interagiscono
e le richiedono, potrà essere scritto ad esempio in php+mysql6,
e così via.
Tuttavia alcune cose si possono scrivere solo con certi linguaggi,
o meglio, la maggior parte delle idee che un programmatore desidera
realizzare si possono codare con un linguaggio adeguato al target
di utenti che si intende raggiungere7.
Dunque, la scelta del codice, o dei codici, utilizzati non è
indifferente.
6. Traduzioni e poteri: modelli chiusi,
modelli aperti, modelli free: liberi.
Tradurre significa inoltre mescolare le carte in tavola. Significa
mettere a confronto linguaggi spesso del tutto eterogenei che descrivono
(codificano) la stessa realtà e cercare di trovare ciò
che non quadra, lerrore, il bug, che può anche essere
un elemento di nuova forza e spinta a migliorare linguaggi e codici.
Ovviamente, considerato quanto abbiamo detto poco sopra, tradurre
significa posizionarsi in un luogo di potere dal quale si dà
la parola a un certo linguaggio e in un certo modo. Tradurre è
contraddittorio perché significa dare a chi non conosce quella
lingua o quel codice la possibilità di accedere a un determinato
significato, ma nello stesso tempo forzare il significato ad adattarsi
al proprio particolare punto di vista. Significa prendersi la responsabilità
della fiducia, affermando: fidati di me, anche se non conosci questa
lingua, io ti posso spiegare. Nel caso della scrittura di codice vi
sono ulteriori passaggi che rendono ancora più indispensabile
un investimento di fiducia nella traduzione proposta, perché
lutente medio «legge» il codice già «tradotto»
dallinterfaccia grafica8.
Ma sarebbe ipocrita fingere che i codici possano davvero spiegarsi
da soli, per quanti manuali, howto e tutorial (o dizionari e prontuari)
si scrivano: anzi, ogni manuale in più è un nuovo punto
di vista, una nuova operazione di posizionamento in cui chi scrive
per spiegare domanda la fiducia a chi ascolta la spiegazione9.
Il codice si spiega quando qualcuno prende coraggio e dice: secondo
me funziona così, lho scritto (oppure lho debuggato,
migliorato, ecc.) e credo che questo sia luso migliore che se
ne possa fare. Se questo codice è proprietà privata,
o puro oggetto di scambio commerciale, nessuno può in teoria
spiegarci meglio, modificando e migliorando il codice stesso, come
stiano le cose. In questo senso, possiamo dire che un software close,
è nella stragrande maggioranza dei casi unoperazione
di posizionamento assoluta, in cui qualcuno si arroga il diritto di
spiegarci come stiano le cose, riducendole a un solo punto di vista,
il suo, che generalmente non è affatto disinteressato, visto
che il codice lha scritto per far soldi e basta.
Il software proprietario, ipocritamente, riduce le possibilità
e afferma: le cose stanno così, proprio così, nessun
privilegio, nessun luogo di potere, solo la pura e semplice verità.
Non è una visione differente, è una visione totalizzante
che richiede fiducia cieca da parte dellutente senza dare in
cambio laccesso agli strumenti per interagire e implementare
quella traduzione, quel particolare punto di vista.
Per rendere ancora più saldo questo monopolio interpretativo,
il software close si avvale di minacce, ricatti e repressioni: bisogna
aspettare il prossimo rilascio del programma se ci sono dei bug, ma
se ci azzardiamo a metterci su le mani rischiamo denunce civili e
penali. Ma ci sono anche strategie più morbide di controllo
e persino sfruttamento degli utenti: per esempio, si può contribuire
allo sviluppo di applicazioni close facendo betatesting, ovvero testando
versioni non ancora stabili (beta version) e comunicando le proprie
difficoltà e impressioni duso alle aziende produttrici;
oppure inviare segnalazioni derrore quando qualcosa non funziona.
In cambio, potremo acquistare una nuova versione migliorata grazie
ai nostri suggerimenti!
Adottare un modello open, o meglio free, libero, significa invece
senzaltro affermare la propria posizione, scrivere il proprio
codice, ma dare la possibilità ad altri di spiegarlo, nella
maniera più condivisa possibile. Poi sta alla comunità
che recepisce il codice trovare nuovi usi, interpretazioni e interazioni,
nuove spiegazioni, modificare e tradurre, creare. Ma senza nascondersi
dietro una presunta trasparenza del codice che hai scritto.
Se il codice si può usare, in un modo qualsiasi, anche smontandolo
a pezzi (e non solo accettando passivamente le condizioni stabilite
una volta per tutte da chi ha scritto la licenza), la trasparenza
è meglio lasciarla a chi è davvero convinto che un giorno,
quando il mitico Progresso del libero mercato avrà fatto il
suo corso, chiunque schiacciando un bottone farà la cosa giusta
e sarà libero. I codici non rispecchiano fedelmente e in maniera
trasparente la realtà: sono traduzioni imperfette, punti di
vista e prese di posizione parziali.
Luso del codice implica letica, un certo stile, un certo
codice di comportamento; la libertà duso implica limprevisto,
e la continua rinegoziazione di ciò che significa «fare
la cosa giusta» con quel pezzetto di codice. In ogni caso, fiducia
negli altri e nelle capacità di condivisione degli esseri umani,
nelle loro capacità dinterazione con le macchine (che
non si costruiscono da sole non ancora, almeno), nella loro
capacità di conoscere, comprendere: nella possibilità
di cambiare, e divenire Altro.
Questa fiducia non è per nulla incondizionata, anzi: non è
fiducia nellUomo, nella Macchina, nella Ragione, ma più
semplicemente in alcuni individui che si sentono affini, comunità
di riferimento, situazioni in cui si è a proprio agio e che
procurano piacere. Fiducia in alcune macchine che si ritengono migliori
di altre, o che stimolano maggiormente il proprio senso estetico.
Nessuna grande idea quindi, nessuna verità da svelare, nessuna
bandiera da sventolare: al contrario, molte idee, molti individui,
molte verità, molte etichette, raggruppamenti, comunità,
sempre in divenire.
Tra questi soggetti e oggetti vogliamo stabilire delle relazioni,
e non si tratta di volare basso, perché per quanto piccole,
temporanee, revocabili, queste aperture di fiducia possono creare
livelli di complessità enormi.
Note allintroduzione
1. In realtà la questione è assai più complessa,
sia per quanto riguarda la lingua naturale, sia nel caso dei linguaggi
informatici. Sitografia: CODICI e LINGUAGGI.
2. Infatti, avrebbe poco senso paragonare luso, nel 2005, di
una lingua arcaica e desueta ad esempio la scrittura cuneiforme sumerica,
con luso di codici informatici «antichi». Basti
pensare a quanti usano i codici di mplayer 0.1, Linux 0.01, xchat
0.1 ecc. Non ha senso definirli codici monchi o inutili.
3. Linguaggi di programmazione esoterici: http://en.wikipedia.org/wiki/Esoteric_programming_language
4. Lespressione più compiuta dellincubo delle macchine
armate è probabilmente il film Il Dottor Stranamore, ovvero
come imparai a non preoccuparmi e ad amare la bomba di Stanley Kubrick,
Gb, 1964. Dati alcuni input iniziali, le macchine scatenano lapocalisse
nucleare. E, se non fosse per la pervicacia di alcuni esseri umani
nel raggiungimento degli obiettivi di distruzione, nelladempimento
militaresco degli ordini ricevuti, potrebbero essere fermate! Per
unanalisi più recente si veda: Manuel De Landa, La guerra
nellera delle macchine intelligenti, Feltrinelli, Milano, 1996
(ed. or. War in the Age of Intelligent Machines, Zone Books, New York,
1991). Sicuramente la biocenosi contemporanea è un continuum
di interazioni e sinergie caotiche fra esseri di specie diverse, tra
i quali le macchine svolgono una funzione non secondaria.
5. In particolare, si vedano i paradigmi dellia nella sua formulazione
forte (non a caso, ispirata da oltre mezzo secolo di ricerca militare).
Si tratta in un certo senso di una rivisitazione tecnofila del platonico
mondo delle idee, trasformato in un mondo di software in cui finalmente
i corpi non saranno più il carcere di gigantesche menti inumane.
Si veda Naief Yehya, Homo Cyborg, p. 141 ssg., Elèuthera, Milano,
2005.
6. Non tutto si può scrivere con ogni linguaggio perché
ogni linguaggio ha una sua finalità. Il C è stato ideato
per scrivere a medio livello sistemi operativi, php è stato
fatto per il web, lassembly e stato scritto perché era
un po più semplice del linguaggio macchina in codice
binario. Ovviamente poi ci sono linguaggi particolarmente fortunati
da essersi accaparrati altre fette di utilizzatori. Non credo che
quando nel 1974 Dennis Ritchie ha rilasciato il primo compilatore
C si immaginasse che oggi io programmo applicazioni grafiche...
7. Ad esempio, si può benissimo scrivere un window manager
in perl, ma lo userebbero quattro persone e tutti e quattro perlisti
esperti. Se faccio un portale web in C, lo faccio semplicemente per
esibire i miei attributi (senza considerare che aumenterei esponenzialmente
la possibilità di essere attaccabile).
8. Vedi nota 1. Un codice informatico, a seconda del linguaggio in
cui è scritto, subisce passaggi radicalmente diversi. I linguaggi
informatici si dividono in tre tipologie principali: linguaggi interpretati,
linguaggi compilati, linguaggi macchina. Sitografia: CODICI e LINGUAGGI.
9. Un percorso di approfondimento a proposito della nozione di verità,
della necessità di stringere patti di fiducia e di «sospensione
dellincredulità» (si veda in proposito Samuel T.
Coleridge, «suspension of disbelief»), al fine di comprendere
le traduzioni e il rispecchiamento del reale da parte di un linguaggio,
prende le mosse senzaltro da Friedrich Nietzsche, Su Verità
e menzogna in senso extramorale, Roma, Newton Compton, 1981 (ed or.
Über Wahrheit und Lüge im aussermoralischen Sinn, 1873).
I
Storie informatiche
1. In principio era Unix , ma lo sapevano in pochi
Agli inizi degli anni Novanta la Free Software Foundation (FSF) distribuiva
un sistema operativo derivato da Unix, ma libero, gratuito, stabile
e soprattutto (ancora) poco famoso: GNU/Linux. Il panorama digitale
di quegli anni, lato utente e piccole medie imprese, era scandito
dal lancio sul mercato dei processori Intel e dalle release (1) di
MSDOS e, successivamente, di Windows.
Il computer, la scatola magica della rivoluzione informatica, era
appena diventato un fenomeno di massa(2) e la gente veniva indottrinata
sullo standard di accessibilità economica dei Personal Computer.
(Un Computer per tutti! Un PC, un Computer Personale!)
Le nuove leve del digitale non conoscevano altri sistemi operativi
oltre a quelli di casa Microsoft, i programmi erano piccoli e a pagamento,
ma anche facilmente copiabili su floppy disc e distribuiti quindi
di mano in mano.
I nuovi programmatori nati sui PC lavoravano per lo più in
BASIC e pascal, pochissimi in assembly (3). Nascevano i virus, i giochi
grafici, la computer music e le riviste di settore. GNU/Linux non
era conosciuto, così come si ignorava la possibilità,
e persino lutilità, di avere i codici sorgente di un
applicativo. Semplicemente, i programmi venivano crackati. Laspetto
commerciale del mondo digitale era dato per scontato da chiunque perché
quasi nessuno sapeva cosa si celava allaltro lato di questa
rivoluzione. In realtà, se consideriamo che la condivisione
del codice è nata insieme allinformatica, piuttosto che
di origini del Free Software dovremmo parlare di origini del Software
Close o software proprietario.
Erano interessati al Free Software accademici, informatici consapevoli
o programmatori con collegamenti a internet che si sarebbero diffusi
presso lutenza non specializzata solo 510 anni più
tardi. Questi personaggi, insieme a tutti coloro che sviluppavano
applicativi su piattaforma Unix, rappresentavano i principali depositari
del termine hacker: colui che scrive codice per passione, lo migliora,
lo condivide e aiuta chi ha problemi nellutilizzarlo (4) .
Il termine hacker ha un ampio spettro semantico e sicuramente acquisterà
nuove accezioni in futuro. Non è dunque errato sostenere che
gli hacker esistevano anche su piattaforma PC legati per lo più
al movimento cyberpunk della seconda metà degli anni Ottanta.
Qualcuno usava Linux, ma pochissimi avevano contatti con le comunità
virtuali di sviluppo software, utilizzando per lo più le BBS
(Bullettin Board System(5) come strumento di incontro e confronto.
I particolare, i gruppi che nascono in Europa in quegli anni sono
orientati alla sperimentazione tecnica, come il mitico Chaos Computer
Club di Amburgo(6) , ma spesso sono anche più spiccatamente
luoghi di elaborazione politica e culturale, che di fatto centrano
molto poco con il computer hacking, come litaliano Decoder(7)
o lolandese Hacktic (8) , fino alla rete europea ECN (European
Counter Network) (9) . Questi gruppi cercano nelle nuove tecnologie
degli strumenti di comunicazione per gruppi di affinità sociale
e/o ludica, per esperimenti di partecipazione pubblica e politica
alla vita delle comunità reali; il mondo della rete è
percepito come una frontiera di libertà nella quale rielaborare
sconfitte e vittorie della controcultura underground (10) . Un momento
cruciale, di forte aggegazione delle culture hacker, fu la tre giorni
di Amsterdam Icata 89 (11) . In quelloccasione Lee Felsestein,
il papà dei Personal Computer, che già negli
anni Settanta aveva fondato il Community Memory Project e poco dopo
lHomebrew Computer Club, portò lesperienza della
Bay Area: il confronto con i gruppi americani diventava sempre più
serrato, si elaborava con entusiasmo letica hacker.
Negli Stati Uniti, la novità nellapproccio della FSF
risiedeva soprattutto nel taglio politico col quale esigeva laccesso
al codice sorgente. Mentre si diffondevano programmi crackati, la
FSF insisteva sulla necessità politica di rilasciare software
libero allorigine. Del resto, fino alla fine degli anni Settanta,
quando il mercato del software non si era ancora affermato (il mercato
era praticamente limitato allhardware, e i produttori facevano
a gara a distribuire software gratuitamente, pur di vendere le macchine),
negli ambiti universitari o laboratoriali possedere i codici degli
applicativi in uso rappresentava la base per levoluzione stessa
dellinformatica; nessuno avrebbe rivendicato diritti sulla propria
opera se non in termini professionali di riconoscimento dei meriti
e dei contributi individuali. La protezione e la chiusura dei codici
era dunque un fenomeno del tutto nuovo, e da combattere
con determinazione.
La cultura digitale dellepoca traeva le proprie origini dalla
ricerca scientifica condivisa e dalleccellenza accademica statunitense
(ovvero da strutture come il MIT o lUniversità di Berkeley);
di qui vengono mutuate le successive codifiche, regole ed abitudini
sociali allinterno dei network di sviluppo tecnologico, trasformandosi
in quella cultura comunitaria virtuale che ha gettato le basi per
lapprodo di unintera società nella rete globale.
Il metronomo storico di questa cultura e delle evoluzioni che seguirono
è il sistema operativo Unix (12) , lispiratore di GNU/Linux.
Lintroduzione dei sistemi operativi rese i programmi sempre
più portabili: lo stesso sistema operativo veniva offerto dal
produttore di diversi modelli di hardware. Unix nasce alla fine degli
anni Sessanta nei laboratori Bell presso lAT&T, società
telefonica americana, da programmatori che lo avevano pensato e scritto
nel tempo libero. Per quanto semplice, questo sistema conteneva innovazioni
tecniche o implementazioni che lhanno reso immortale: il linguaggio
con cui è stato programmato, il C; un nuovo file system (13)
e una nuova struttura dei file e delle directory; unintegrazione
con lambiente di sviluppo che i sistemi operativi commerciali
di uso domestico/individuale non erano ancora in grado di offrire
(in realtà non esistevano affatto!).
Una famosa causa antitrust contro la AT&T vietò alla società
di entrare nel settore dellinformatica. Unix venne allora distribuito
a un prezzo simbolico a buona parte delle istituzioni universitarie,
le quali si ritrovarono ad avere una piattaforma comune, completa
di codice sorgente, ma senza alcun supporto da parte del produttore.
Si creò spontaneamente una rete di collaborazioni attorno al
codice di questo sistema operativo, coordinata dallUniversità
di Berkeley (che avrebbe in seguito sviluppato la versione BSD (14)
di Unix).
Personaggi chiave dellevoluzione informatica (da Vinton Cerf,
a Richard Stallman, fino a TimBarnes Lee, insieme a molti altri)
hanno sperimentato con grande autonomia nel periodo tra gli anni Settanta
e Ottanta dando vita ai principali protocolli di comunicazione di
rete (SMTP invio di posta elettronica, FTP trasferimento
di file in rete, HTTP trasferimento di ipertesti), ai linguaggi
di programmazione ancor oggi fra i più utilizzati, come il
C, e alla suite di protocolli di rete TCP/IP.
Letica hacker, nata dalla spinta congiunta dei movimenti libertari
dellamerica negli anni Settanta e dallottimismo scientifico
delle élite accademiche (15) , costituiva lenergia di
cui si nutrivano i laboratori e gli studenti universitari crescendo
nel brodo di coltura di un Sistema Operativo aperto, Unix, vivificato
da uno strumento appena nato: internet.
Il potere politico derivato dalle conoscenze tecniche, unito al metodo
della collaborazione paritetica, forniva la libertà necessaria
a uno sviluppo dal ritmo incalzante; strumenti quali mailing list
e chat line cominciavano a diffondersi anche nei primi gruppi non
puramente tecnici, ma affascinati da questo nuovo paradigma comunicativo.
Nel frattempo, la suddivisione della AT&T in 26 società,
le cosiddette BabyBell?, favorì luso di logiche biecamente
commerciali nella distribuzione dello Unix. AT&T chiuse il codice
e iniziò a distribuirlo solo compilato, innalzando notevolmente
i costi delle licenze e impedendo la pratica delle patch. Nel 1982
iniziò la storia delle diverse versioni commerciali di Unix,
legate ai singoli produttori di hardware, che, differenziando anche
solo di poco la propria versione, riuscivano a legare a sé
i clienti acquisiti, in quanto programmi scritti per una specifica
versione di Unix non funzionavano solitamente su versioni concorrenti.
Unix, senza una copertura legale, si modellava quindi secondo le esigenze
delle comunità di ricerca, creando sistemi spesso non compatibili
fra loro: nascevano BSD, Solaris, IRIX (16) e altri sistemi operativi
di cui alcuni sono tuttora utilizzati. Sulla scia di questo
esempio, le università e i laboratori di ricerca cominciarono
regolamentare laccesso ai codici e adottarono manovre di riservatezza
e chiusura, facendo sottoscrivere ai coder accordi di non divulgazione
(17) che sostanzialmente li espropriavano delle loro creazioni; in
questo modo gran parte della filosofia hacker iniziò a perdere
di valore.
Lo standard POSIX (18) , con il primo rilascio nel 1988, fu la conseguenza
naturale della nascita di diversi Unix: per far comunicare fra loro
diverse versioni del sistema vennero stese regole abbastanza ferree
su cosa poteva e doveva essere un sistema operativo per definirsi
Unix. Loperazione di standardizzazione fu compiuta in gran parte
dalla IEEE (19) , un ente relativamente neutrale (se si tralasciano
le operazioni di lobbying, assolutamente comuni negli Stati Uniti),
che non privilegiò nessuno dei concorrenti Unix proprietari;
in questo modo fu sostanzialmente raggiunto lintento di fornire
soltanto linee guida per rendere portabili gli applicativi tra le
versioni e le varie implementazioni.
Linformatica stava uscendo dalle università, anche se
linformatica di massa era ancora ben lontana; con labbattimento
dei costi dellhardware molti neofiti si avvicinavano alle tecnologie
grazie ai PC. Paradossalmente, da una situazione di scambio e libera
circolazione dei saperi nei laboratori di ricerca, lepoca doro
degli hacker del MIT negli anni Sessanta, con lespansione delle
tecnologie digitali la direzione sembrava ormai tracciata: si andava
verso la chiusura dei codici e la mera commercializzazione, il cracking
stava diventando più diffuso dellhacking. In attesa del
boom internet negli anni Novanta, le comunità di sviluppo costituirono
la riserva di caccia delle softwarehouse per assoldare coder, gente
che scrivesse programmi commerciali, abbandonando di conseguenza lo
sviluppo dei sistemi aperti (ai quali comunque molti coder continuarono
a dedicarsi nel tempo libero).
Nessun privato poteva acquistare un PDP11 della DEC, una macchina
su cui giravano gli Unix, ma i PC IBM 8088, tecnicamente molto inferiori,
erano compatibili col portafoglio della gente. Sui PC IBM 8088 e successivi
girava un sistema operativo molto primitivo, se confrontato allo Unix
System V commercializzato dallAT&T, lMSDOS.
Questo limitato e quindi semplice sistema operativo era della Microsoft,
allepoca piccola softwarehouse con appena due dipendenti e veniva
fornito assieme al BASIC, linguaggio di programmazione implementato
da Bill Gates e Paul Allen. LMSDOS era basato sul DOS,
un sistema operativo compatibile con CP/M (20), l86DOS,
subito acquistato dallex hacker e neo imprenditore Gates.
E mentre linformatica diventava accessibile anche a chi desiderava
un network unito per affinità sociali e culturali non solo
informatiche, allinterno delle prime comunità di hacker
molto stava cambiando. Negli anni Ottanta ormai da tempo le università
avevano partner commerciali: per questa ragione ritenevano ragionevole
bloccare la condivisione di codice tra laboratori e a utilizzare pratiche
di controllo sullo sviluppo dei programmi.
2. E venne il Free Software
Fu in questo periodo che Stallman intraprese la sua battaglia politica.
Abbandonati i laboratori di intelligenza artificiale del MIT, si dedicò
a scrivere codice per un sistema operativo libero, avviando nel 1984
il progetto GNU (GNUs Not Unix, un acronimo ricorsivo in stile
hacker): Lobiettivo principale di GNU era essere software
libero. Anche se GNU non avesse avuto alcun vantaggio tecnico su UNIX,
avrebbe avuto sia un vantaggio sociale, permettendo agli utenti di
cooperare, sia un vantaggio etico, rispettando la loro libertà..
Nel 1985 fondò la Free Software Foundation (FSF), unorganizzazione
senza fini di lucro per lo sviluppo e la distribuzione di software
libero: i software del progetto GNU (molti scritti da Stallman stesso,
come il compilatore gcc e leditor di testo Emacs) sarebbero
stati rilasciati sotto la General Public License (GPL), licenza scritta
da Stallman che rese de facto un applicativo libero, accessibile a
tutti, modificabile e distribuibile in qualsiasi modo, purché
accompagnato da codice sorgente. Approfondiremo il fondamentale discorso
sulle licenze nel cap. II.
Con la diffusione di massa dei PC e di internet, il progetto GNU si
fece conoscere; si creò una nicchia di utenti attivi, convinti
e motivati. Si formava quindi una comunità indipendente dal
nascente mercato del software e animata da precise finalità
politiche: obiettivo principale della battaglia era la libertà
despressione in campo digitale.
Nel combattere la strategia di penetrazione socioeconomica del close
software, Stallman ipotizzò un sistema operativo basato su
Unix, ma in ogni suo aspetto libero. Coniando il termine Free Software
per definire gli applicativi liberi di essere scambiati, modificati
e distribuiti, diede inizio a una campagna contro i brevetti, ma soprattutto
contro il copyright, sostenendo luso del cosiddetto copyleft,
il permesso dautore: nessun diritto riservato (21) . In breve,
il copyleft ribalta il copyright. In teoria, il livello massimo della
libertà con cui può essere distribuito il software è
quello che corrisponde alla denominazione di pubblico dominio
(public domain), che da molti anni viene spesso adottata nella comunità
degli informatici. Il problema è che un prodotto software di
pubblico dominio può anche essere utilizzato per la realizzazione
di software proprietario, così come è avvenuto anche
per molti programmi liberi, che essendo distribuiti con licenze permissive
(ad esempio BSD) sono stati trasformati in prodotti chiusi e proprietari.
Stallman non ritenne opportuno rendere GNU di pubblico dominio, anche
se quella soluzione avrebbe consentito la massima diffusione del prodotto:
un programma completamente di pubblico dominio avrebbe rischiato di
estinguersi, limitandosi a unentusiasmante esperienza creativa,
una volta che le sue varianti fossero state utilizzate per un uso
proprietario. In tal modo le relazioni cooperative si sarebbero spezzate,
oscurando anche il valore insito nel prodotto iniziale, in quanto
lultima versione aggiornata avrebbe avuto molte più probabilità
di diffondersi, vanificando tutto il lavoro precedente. Il copyleft
invece rende inalienabili e virali le libertà del Free Software.
Molti programmatori aderirono al progetto e allo sviluppo dei software
di Stallman, scrivendone di nuovi o rilasciando i propri sotto licenza
GPL.
Si definiva così la GNU Economy: uno spostamento dellinteresse
economico dal prodotto (software) al servizio (assistenza). I programmatori
furono messi nella condizione di modificare un loro programma per
specifiche esigenze commerciali, e quindi divennero in grado di vendere
una copertura di servizio difficile da ottenere per un software acquistato
a scatola chiusa. Parecchi anni più tardi la new economy (22)
non ha fatto altro che appropriarsi di questo e di molti altri aspetti
dello sviluppo libero. Parte del fallimento della new economy è
da attribuirsi sicuramente alla banalità con la quale ha utilizzato
queste intuizioni senza alcuna cognizione di causa, come se si trattasse
di una semplice strategia per conquistare nuovi mercati e non di un
movimento essenzialmente politico. Infatti bisogna ricordare che le
posizioni della FSF fin dallinizio erano tese alla promozione
della libera circolazione dei saperi e, attraverso la centralità
dellassistenza, alla liberazione dei programmatori dalla noia
frustrante della routine lavorativa imposta dalla committenza, invece
che dal proprio desiderio di creare nuovi strumenti.
Dopo 10 anni di lavoro, agli inizi del 1990, la comunità GNU
aveva quasi ultimato il suo sistema operativo. Buoni compilatori,
interfacce grafiche, editor di testi, giochi, software di rete, tutto
ciò che esisteva per un sistema Unix degli anni Ottanta era
disponibile anche nel lungo elenco degli applicativi GNU.
Ma non esiste un sistema operativo se non esiste il kernel. Il kernel
(23) è il motore software per ogni computer ed è ciò
che distingue un sistema operativo da unaltro. La FSF tentò
per anni e senza alcun successo di scrivere questo ultimo fondamentale
elemento.
Molteplici le ragioni del fallimento del kernel HURD (24) , lelemento
software mancante alla GNU per creare un sistema operativo completo:
Stallman accusa larchitettura modulare scelta, palesemente troppo
complessa da gestire e tuttavia già troppo sviluppata per decidere
di accantonarla; altri invece considerano responsabili i programmatori
a causa dellapproccio gerarchico imposto alla comunità
scrivente (coder, debuggers, ecc.).
Qualunque siano le cause di questa sconfitta, la storia volle che
un giovane studente finlandese, Linus Torvalds, risolvesse la situazione
con risultati che andarono ben al di là del cuore del sistema
operativo. Nellagosto del 1991 Linus iniziò la scrittura
di un nuovo kernel a partire dai sorgenti di Minix, un sistema operativo
che Andrew S. Tannenbaum aveva concepito a scopo didattico, con una
vera e propria chiamata alla armi sui principali newsgroup di programmazione.
In due anni formò una comunità che con veloci rilasci
di nuove versioni, unampia cooperazione e la totale apertura
delle informazioni consentì di testare estensivamente il codice.
Mentre Stallman si affannava sul kernel HURD inutilmente, Linus aveva
spontaneamente dimostrato che per ottenere una performance migliore,
quando si è svincolati da istituzioni premianti (le università
che gratificano attraverso lauree e titoli di riconscimento i ricercatori,
oppure le aziende che offrono gratifiche monetarie, ecc.), è
necessaria unadesione a un complesso di valori capaci di coniugare
il coinvolgimento comunitario e la passione tecnica.
Pubblicare i codici sorgenti prima ancora che lapplicativo fosse
terminato, chiedendo immediatamente un feedback ai propri pari, agli
individui che si ritengono in grado di comprendere e collaborare a
qualsiasi livello, rappresentava per la FSF un processo nuovo e non
privo di rischi, ma ebbe un successo tale da venire assunto collettivamente
sotto il nome di metodo bazar (25) , termine coniato da
Eric S. Raymond, uno degli ex sviluppatori GNU, per sottolineare laspetto
di scambio quasi caotico dello sviluppo.
Con lingresso della metodologia bazar usata per
il kernel Linux, la comunità assumeva una configurazione completamente
diversa. Al ruolo degli sviluppatori si affiancava quello di una miriade
di funzioni periferiche con finalità di testing, documentazione,
traduzione. Non occorreva più essere un mago del codice per
diventare parte di una comunità perché ogni aspetto
era stato reso pubblico e trasversale. Anche il singolo utente poteva
sapere come stava procedendo il progetto e contribuire con test e
suggerimenti.
Il bazar di Torvalds aveva segnato il passaggio definitivo degli hacker
dal luogo chiuso degli atenei e dei network di soli sviluppatori,
allo spazio sconfinato della rete di internet soprattutto,
uno spazio misto e spurio, in cui la contaminazione fra reale e virtuale
diventa la norma e non leccezione .
In questo nuovo contesto la produzione di applicativi si apriva alla
cooperazione di centinaia di potenziali partecipanti attivi. Limmagine
di un centro pulsante di sviluppo a cui si può collaborare
in maniera marginale, derivata in ultima analisi dal mito dello scienziato
chiuso nel suo laboratorio, viene spazzata via dal modello bazar.
Le reti favoriscono la deterritorializzazione dello sviluppo, per
cui un luogo fisico univoco, il laboratorio, non è più
indispensabile: il lavoro deterritorializzato delle periferie, che
producevano feedback a tutti i livelli (dalla documentazione al debug)
si muoveva con lo stesso ritmo del cuore dello sviluppo (daltra
parte nemmeno gli sviluppatori codavano in luoghi vicini, certo non
tutti insieme nello stesso laboratorio) e non ci volle molto perché
lo stesso metodo reticolare venisse esportato in nuovi progetti comunitari.
In brevissimo tempo si materializzarono comunità autonome per
specifiche esigenze. Sono del 1995 i progetti Apache, uno dei server
web più utilizzati; PHP, un linguaggio per web dinamico e The
Gimp, il programma di manipolazione di immagini della GNU. I principali
desktop GNU/Linux, KDE e Gnome, nascono rispettivamente nel 1996 e
nel 1997.
Fu infatti la grafica a rendere Linux così attraente ai non
tecnici. Il porting del window server X fu sicuramente un duplice
successo: senza un ambiente grafico il nuovo sistema operativo non
avrebbe mai avuto unampia diffusione e il server X sarebbe rimasto
confinato sui sistemi Unix.
Con luscita delle prime distribuzioni , si affermò subito
Linux come nome del sistema operativo. I software della FSF erano
largamente in uso ma non sembravano più avere particolare importanza
politica: il ruolo della FSF veniva relegato a una battaglia passata
e in parte vinta, almeno dal punto di vista della diffusione dei modelli
aperti. La libertà passava in secondo piano.
Stallman dovette spesso ribadire che il nome corretto del nuovo sistema
operativo era GNU/Linux e non Linux, poichè questo è
solo il nome del kernel, una delle tante parti essenziali di un sistema
completo in particolare lunico che la FSF non era riuscita
a creare. Ancora oggi questo errore concettuale viene commesso da
molti .
Il 1998 fu lanno del cambiamento. Per molti membri della comunità,
GNU/Linux era pronto per diffondersi sui sistemi desktop fino ad allora
monopolizzati da Microsoft (e da Apple, per quanto riguarda una ristretta
ma fedele nicchia di utenti). Dopo la coniazione del termine Open
Source e attraverso la pubblicazione di alcuni testi firmati da Raymond,
Oreally e altri guru, si ottennero i primi risultati. In quello
stesso anno la Netscape, famosa softwarehouse in concorrenza con il
browser Explorer, rilasciò i codici sorgenti del proprio applicativo
insieme a un nuovo nome: Mozilla.
3. E finalmente solo soldi! Nasce lOpen Source.
Il termine Open Source nasce quindi per ragioni prettamente economiche.
In inglese la parola free ha il duplice significato di libero e di
gratuito. Tutte le comunità di sviluppo erano favorevoli alla
libertà del codice, ma per alcuni free poteva essere inteso
come gratuito ed essere quindi un ostacolo per la vendita. La soluzione
a questo problema, non solo linguistico, fu la creazione ex novo di
un termine più neutro politicamente e più appetibile
per le imprese. Tuttavia, si trattava di un problema apparente: bisogna
infatti notare che il progetto GNU, finanziato dalla FSF, non aveva
particolari preclusioni al mercato. I software venivano sviluppati
da programmatori appositamente stipendiati. Furono sviluppate anche
altre componenti di sistema UNIX, alle quali si aggiunsero le applicazioni
più disparate e anche giochi. Questi programmi furono distribuiti
per circa 150$, una cifra che, oltre a coprire i costi di riproduzione
(il costo delle memorie di masse era centinaia di volte superiore
a quello attuale per MB di memoria), garantiva un servizio di supporto
al cliente. Lunica condizione era che tutte le modifiche eventualmente
effettuate su tali programmi venissero notificate agli sviluppatori.
Il termine Open Source non ha dunque altra finalità se non
far passare in secondo piano le libertà propugnate dalla FSF.
La FSF non riconobbe mai il nuovo nome perché avrebbe dato
adito allambigua idea secondo cui il software può essere
accessibile, ma contemporaneamente non libero: semplicemente, aperto.
Dal 1998 in avanti, spinti dallesempio di Netscape/Mozilla,
alcuni progetti Open Source iniziano a modificare il metodo di scrittura
aperta, eliminando la relazione di dipendenza con gli altri progetti
e strutturando le comunità in gerarchie sempre più verticali.
Questi cambiamenti di metodo implicano mutamenti radicali anche nel
software finale (vedremo come nei prossimi capitoli). Banalizzando,
lo status del software passa da creazione, frutto di un investimento
creativo da parte di un coder o di unintera comunità
di sviluppo, a prodotto, generato per soddisfare una richiesta di
mercato (solitamente un bisogno indotto).
Fino ad allora le relazioni a piramide costituivano una
parte minima della gestione dei rapporti interni alle comunità
(per quanto la pratica della meritocrazia comporti nella pratica dei
rapporti gerarchici). Dopo la svolta di Mozilla la gerarchizzazione
diviene una condizione imprescindibile per quei progetti che si rendono
completamente autonomi dalle modalità di condivisione maturate
nel periodo precedente.
Dopo la decisione della Netscape, molte altre aziende cercarono di
stabilire legami con il mondo Open Source: IBM, SUN, Novell e HP sono
di certo le più note. Quando il software libero comincia a
essere chiamato più semplicemente e facilmente software aperto,
in modo da entrare a pieno regime nella catena commerciale, la nostra
storia inizia.
1 . È significativo notare che release, in inglese,
significa in prima istanza scarcerazione, liberazione
e solo in seguito ha assunto laccezione di rilascio
di una versione di codice o di una determinata caratteristica hardware.
Tradurre quindi release software con scarcerazione
o liberazione di codice non è affatto esagerato.
2 . Naturalmente parliamo di masse di utenti nel cosiddetto primo
mondo; gran parte della popolazione rimane comunque ancora oggi
esclusa dal paradigma digitale; si veda http://www.digitaldivide.it
3 . BASIC: http://it.wikipedia.org/wiki/Basic (cache); pascal: http://it.wikipedia.org/wiki/Pascal_%28linguaggio%29
(cache); assembly: http://it.wikipedia.org/wiki/Assembly (cache)
4 . Più precisamente, si tratta di computer hacking;
per una storia del termine hacker, si veda Sam Williams, Codice Libero
Richard Stallman e la crociata per il software libero, Apogeo,
2003, disponibile in rete allindirizzo http://www.apogeonline.com/ebooks/2003/90045/CodiceLibero/
(cache)
5 . http://it.wikipedia.org/wiki/BBS (cache)
6 . Il CCC nasce nel 1981, poi formalizzato nel 1984, per iniziativa
di Wau Holland e S. Wernery http://www.ccc.de/ (cache)
7 . http://www.decoder.it (cache)
8 . http://www.hacktic.nl (cache)
9 . Il progetto ECN, di cui si discuteva dal 1988, coinvolgeva fin
dallinizio gruppi italiani, inglesi, tedeschi e olandesi; nasce
di fatto nel 1990, in particolare in diversi nodi italiani. Si veda
http://www.ecn.org (cache)
10 . SITOGRAFIA: La cultura CYBERPUNK. Si veda il portale http://www.dvara.net/HK/
e lipertesto http://www.decoder.it/archivio/cybcult/index.htm
(cache)
11 . Dichiarazione iniziale: http://www.dvara.net/HK/icata89bis.asp
(cache); dichiarazione finale: http://www.strano.net/wd/cr/cr001.htm
(cache)
12 . SITOGRAFIA: UNIX. http://it.wikipedia.org/wiki/UNIX (cache);
repository: ftp://ftp.autistici.org/Unixmirror (primi codici
dello Unix). Si veda anche la storia di Unix nel Corso Base di Unix,
documentazione dei corsi di Unix del LOA Hacklab di Milano http://www.autistici.org/loa/web/doc/corsounix.pdf
13 . In informatica, un file system è, informalmente, un meccanismo
con il quale i file sono immagazzinati e organizzati su un dispositivo
di archiviazione, come un hard disk o un CDROM. Più formalmente,
un file system è linsieme dei tipi di dati astratti necessari
per la memorizzazione, lorganizzazione gerarchica, la manipolazione,
la navigazione, laccesso e la lettura dei dati .
14 . BSD è un sistema operativo libero largamente utilizzato
da sistemisti, hacker e programmatori. Ispirato anchesso dallo
Unix, come GNU/Linux, rispetta lo standard POSIX. http://www.ibsd.org;
15 . Basti pensare allinfluenza di personaggi come Marvin Minsky
o John MacCarthy?, teorici e fautori dellintelligenza artificiale,
entrambi professori al MIT a partire dagli anni Sessanta. Si veda:
Steven Levy, Hackers, ShaKe?, Milano, 1996. Elaborazioni molto più
note al grande pubblico, come quelle di Pekka Himanem e dello stesso
Linus Torvalds, derivano da analisi assai più tarde e sostanzialmente
debitrici allesplosione del fenomeno Linux: si veda Pekka Himanem
(con Linus Torvalds e Manuel Castells), Letica Hacker e lo spirito
delletà dellinformazione, Feltrinelli, Milano,
2001.
16 . Solaris: http://www.sun.com/software/solaris/ (cache); Irix:
http://freeware.sgi.com/ (cache)
17 . Gli accordi di non divulgazione sono sempre più diffusi
in ogni settore; si veda NDA: Non-Disclosure? Agreement http://en.wikipedia.org/wiki/Non-disclosure_agreement
(cache)
SITOGRAFIA: Lo standard POSIX e la guerra tra IBM, SUN, Novell e altre
società che commercializzavano Unix. Vedi anche http://www.lilik.it/~mirko/gapil/gapilsu8.html
(cache)
IEEE: Institute of Electrical and Electronics Engineers, http://www.ieee.org
(cache)
18 . Control Program for Microcomputers, sistema operativo sviluppato
nel 1975 dalla Digital Research. Nel 1979 Tim Paterson, della Seattle
Computer Product scrisse l86-DOS. Contemporaneamente lIBM
stava pensando di costruire un personal computer. Fu allora che Bill
Gates, presidente della Microsoft, si incontrò con lIBM
(la quale nello stesso momento contattò anche la Digital Research).
LIBM non raggiunse un accordo con la Digital Research, mentre
la Microsoft acquistò i diritti per la distribuzione dell86-DOS
di Tim Paterson e trattò con successo con IBM: fu così
che lMS-DOS (leggi 86-DOS) divenne il sistema operativo del
nuovo personal computer IBM. Ecco che finalmente, nellaprile
del 1981 lIBM annunciò luscita del personal computer
IBM (che adottava la CPU Intel 8088), con il sistema PC-DOS (MS-DOS
con alcuni programmi aggiuntivi).
19 . La definizione originale di copyleft, formulata nel 1988, si
trova allindirizzo http://www.gnu.org/copyleft/copyleft.html
(cache); in italiano, una buona introduzione è http://www.wumingfoundation.com/italiano/outtakes/copyleft_booklet.htm
(cache)l
20 . Non si parla più oggi di new economy, ma sicuramente pratiche
come regalare i decoder satellitari (magari grazie a contributi governativi)
per poi far pagare i programmi sono applicazioni su vasta scala del
principio della vendita dei servizi (le trasmissioni televisive, i
servizi legati alla telefonia cellulare, ecc.) piuttosto che dei prodotti.
In fondo, lesplosione stessa dei callcenter deriva appunto
da una spinta alla vendita di servizi, al customer care, ecc.
21 . Si tratta di un software avente il compito di fornire ai processi
in esecuzione sullelaboratore un accesso sicuro e controllato
allhardware. Dato che possono esserne eseguiti simultaneamente
più di uno, il kernel ha anche la responsabilità di
assegnare una porzione di tempomacchina e di accesso allhardware
a ciascun programma (multiplexing).
22 . Il progetto kernel della GNU HURD si basa su una struttura a
microkernel tanto complessa quanto elegante. A cavallo fra gli
anni Ottanta e Novanta furono pubblicati molti scritti sulla progettazione
di kernel, tra cui vale la pena citare Andrew S. Tannenbaum (linventore
di Minix, da cui Linus Torvalds ha sviluppato Linux), Operating Systems:
Design and Implementations, Prentice Hall, 1987 (n.e. Modern Operating
Systems, Prentice Hall, 2001). La struttura a microkernel era
definita unarchitettura molto più performante rispetto
alla monolitica approcciata da Linus Torvalds. SITOGRAFIA: Linux is
obsolete. http://www.kde.org/history/Linux_is_obsolete.php (cache)
23 . Eric S. Raymond, The cathedral and the bazar, http://www.catb.org/~esr/writings/cathedralbazar/
trad. it. La cattedrale e il bazar, http://www.apogeonline.com/openpress/doc/cathedral.html
(cache).
24 . Nel passaggio da comunità omogenee (coder GNU, progetti
monolitici) a comunità eterogenee (GNU/Linux, progetti distribuiti)
i linguaggi si moltiplicano necessariamente e di conseguenza si moltiplicano
anche le occasioni di incontro. In questa espansione anche il mercato,
e il suo linguaggio, trova spazio e possibilità di sviluppo.
25 . X nasce nei laboratori del MIT come gestore di finestre grafico.
Era rilasciato gratuitamente e senza una licenza che limitasse lutilizzo
o che ne regolasse il copyright. SITOGRAFIA: La storia di Xfree.
26 . Una distribuzione (distro) è una raccolta di software
scelti e preconfigurati. Le principali usate oggi sono: Debian, Redhat,
Suse, Mandrake, Gentoo e alcune altre centinaia.
27 . Curiosa la posizione di Linus a riguardo: sostenne che non tutto
il resto del sistema operativo era GNU quindi chiamare GNU/Linux il
tutto significava non riconoscere adeguatamente lapporto di
altri applicativi come X.
II
Licenze Politica Mercato
1. Free Software != Open Source
Free Software (1) (Sofware Libero) e Open Source (2) (Sorgente Aperto)
sono sintagmi usati spesso come sinonimi per indicare codici o porzioni
di codici; rispecchiano tuttavia prospettive radicalmente differenti.
Free Software è un termine nato agli inizi degli anni Ottanta
per iniziativa di Richard Stallman (vedi cap. i): si riferisce alla
libertà dellutente di usare e migliorare il software.
Più precisamente, può essere riassunto in quattro libertà
fondamentali:
1) Libertà di eseguire il programma, per qualsiasi scopo.
2) Libertà di studiare come funziona il programma e adattarlo
alle proprie necessità. Laccesso al codice sorgente ne
è un prerequisito.
3) Libertà di ridistribuire copie in modo da aiutare il prossimo.
4) Libertà di migliorare il programma e distribuirne pubblicamente
i miglioramenti, in modo tale che tutta la comunità ne tragga
beneficio. Laccesso al codice sorgente ne è un prerequisito.
Lespressione Open Source, invece, nasce alla fine degli anni
Novanta, per iniziativa in particolare di Bruce Perens e Eric S. Raymond,
che nel 1998 fondano la Open Source Initiative (3) (OSI); si riferisce
alla Open Source Definition, a sua volta derivata dalle Debian Free
Software Guidelines, ovvero una serie di 10 punti pratici che definiscono
quali criteri legali debba soddisfare una licenza per essere considerata
effettivamente «libera»: o meglio, con il nuovo termine,
Open Source.
È evidente quindi che da una parte il Free Software pone laccento
sulla libertà: come sottolineato nella definizione, «il
«Software libero» è una questione di libertà,
non di prezzo» (4). Dallaltra parte, lOpen Source
si occupa esclusivamente di definire, in una prospettiva totalmente
interna alle logiche di mercato, quali siano le modalità migliori
per diffondere un prodotto secondo criteri open, cioè aperti.
Il Free Software ha un senso che va ben oltre il mercato, pur non
escludendolo a priori; lOpen Source esiste, come specificato
dai suoi stessi promotori, per adattare un modello preesistente, quello
free, al mercato.
Comunità hacker, fsf, Progetto gnu: erano questi i primi soggetti
protagonisti di un percorso che dopo aver rilanciato nelle menti e
nelle reti lidea di condivisione, insistendo sul concetto di
permesso dautore (copyleft), avevano messo in crisi lapparente
inattaccabilità della proprietà privata, almeno nella
sua applicazione al software.
Negli anni Ottanta e Novanta limportanza dello sviluppo di software
crebbe in maniera esponenziale (mentre in precedenza era lhardware
la componente principale e più costosa di un computer): aumentò
di conseguenza lattenzione delle aziende nei confronti del Free
Software, delle comunità hacker e dei suoi metodi. Il mercato
di riferimento, infatti, dopo aver gettato le basi per la diffusione
del software close (vedi cap. i), vedeva crescere il colosso Microsoft
che, attraverso la stipula di contratti commerciali capestro e accorte
manovre di lobbying, ha condotto il mercato a una fase sostanzialmente
monopolistica (5).
Le implicazioni di questo fenomeno non sono solo tecniche, ma permeano
letica, la filosofia e necessariamente la sfera del politico,
oltre che quella delleconomico. Lavvicinamento del mondo
commerciale al mondo delle comunità hacker non poteva infatti
non intaccare letica che sta alla base del movimento Free Software
(6). La radicalità politica del Free Software, questa insistenza
sulle libertà, era piuttosto scomoda e controproducente dal
punto di vista della sua diffusione al di fuori dallambito hobbistico
o universitario. Inoltre in inglese era facilmente fraintendibile,
per via del doppio significato di «Software Libero» e
di «Software Gratuito» (7); a ragione o a torto, il termine
Free era visto come fumo negli occhi perché legato a correnti
di pensiero poco apprezzate nel mondo aziendale. Troppa «libertà»
fa male al «libero» mercato: lOpen Source entra
allora in gioco.
Il cambiamento dapprima lessicale presupponeva punti
di vista e possibili evoluzioni diverse rispetto al periodo precedente:
non solo il termine free non piaceva alle aziende che cercavano quote
di mercato, ma anche la licenza GPL non era soddisfacente, perché
il suo sistema di diffusione virale rischiava di lasciare fuori dallaccelerazione
digitale molte imprese, che vedevano nelle comunità hacker
uno sbocco naturale delle proprie strategie economiche.
Open Source era un termine che rispondeva perfettamente a queste esigenze:
una volta avvicinate le imprese si trattava solo di dimostrare come
le logiche organizzative e produttive delle comunità da una
parte e il profitto dallaltra potessero andare daccordo.
Diventava così molto semplice ampliare il bacino delle aziende
impegnate a entrare nel «fantastico mondo dellOpen Source».
Il nuovo movimento, meno politicizzato e più orientato alle
possibilità commerciali di quello che era allora definito Free
Software, si impose. Molte le ragioni concomitanti che facilitarono
il passaggio concettuale e pratico: lo scossone dovuto alla nascita
di Linux; alcuni passaggi a vuoto della FSF, spesso chiusa su posizioni
piuttosto ingenue e di nostalgia per unetà delloro
di condivisione e libertà delle conoscenze; la paralisi delle
comunità hacker più radicali (che negli anni Settanta
avevano dato luogo a mitici gruppi come LHomebrew Computer Club
nella Bay Area di San Francisco); la potenza intrinseca del movimento
Open Source, spalleggiato fin da subito da imprese che avevano subodorato
laffare. Lo scenario politico del mondo hacker veniva modificato
rapidamente e profondamente.
Lo strappo si completò con la formulazione di nuove licenze
che si ponevano in un concorrenza con la GPL. Louting di alcune
società che rilasciarono il loro codice sorgente, Netscape
in primis, rappresentò il contributo decisivo: il Free Software
e la sua filosofia, con una forzatura palese ma funzionale, vengono
relegate nellangolo dellestremismo, dei progetti non sostenibili
economicamente; dallaltra parte lOpen Source conquista
il mercato anche a livello di credibilità in termini di business.
Nonostante queste differenze palesi, i fraintendimenti sono molti.
Proviamo allora a specificare e delimitare meglio termini e concetti.
Si può definire lOpen Source come quel metodo di progettazione
e produzione (di software, ma non solo) basato sulla condivisione
di ogni aspetto e passaggio (tipico delle comunità hacker e
del Free Software) che, nellottica di sviluppare un prodotto
open, accetta al proprio interno componenti e passaggi closed (comunità
ristrette e chiuse, in alcuni casi anche software proprietario) per
garantire maggiore competitività sul mercato ai propri prodotti.
Nulla di troppo differente da quanto le imprese avessero fatto fino
ad allora: il lavoro déquipe e la condivisione di obiettivi
comuni non è certo una novità (8).
La differenza tra queste due componenti delle comunità virtuali
hacker è comprensibile seguendo le evoluzioni delle licenze
che nel tempo hanno cercato di regolare la distribuzione di prodotti
Free Software, garantendone da un lato i principi di riproducibilità,
modifica, distribuzione e dallaltro cercando, con lavvento
dellOpen Source, di linkarlo più agevolmente al mercato
e alle sue regole (9).
Quello sulle licenze è il primo livello di investigazione
circa le effettive novità e loriginalità dellapproccio
hacker nel mondo del software ma non solo. Immaginiamo per
un attimo una comunità di individui che si definiscono hacker:
le licenze duso rappresentano il livello più esterno,
di relazione verso coloro che non appartengono alla comunità,
che per lo più non sono hacker e non condividono unetica
e una storia comune. Quando dalla GPL si passa a licenze formulate
esclusivamente per il mercato, ovvero del tutto aliene allo spirito
hacker, appare evidente che bisogna scavare molto più a fondo.
Useremo allora una sorta di lente dingrandimento, passando dalle
licenze, alle comunità, fino allindividuo: abbozzare
una cartografia di questi tre differenti livelli ci permetterà
di delineare possibili vie di fuga dal virtuale al reale, cioè
di immaginare nuove possibili ricadute dellhacking nella realtà.
2. La licenza: che cosè?
La parola licenza deriva dal latino licentia, da licire «essere
lecito»; nellaccezione che ci riguarda, significa: «concessione,
da parte di un organo competente, di una determinata autorizzazione;
anche, il documento che comprova lautorizzazione concessa: licenza
di esercizio...» (10).
Le licenze infatti specificano una concessione da parte di un soggetto
nei confronti di qualcun altro. Nel caso del software «concedono»
lutilizzo del codice alle condizioni stabilite da chi redige
la licenza: «licenziare» significa «concedere il
potere specificato».
In ambito informatico la licenza è un contratto tra il detentore
del copyright e lutente. Si parla quindi propriamente di «licenza
duso». La licenza è una sorta di «certificato»
che lautore pone al proprio prodotto per salvaguardarne la sicurezza,
la distribuzione e naturalmente rendere noti i propri meriti. Un software
rilasciato senza alcun testo che «determini» un utilizzo
del prodotto stesso rischierebbe infatti di finire nelle mani di qualcuno
che potrebbe arricchirsi indebitamente, farne un uso non etico, non
rispettare la volontà del creatore del prodotto.
Le Licenze software, nel loro complesso, rappresentano una cartina
di tornasole per misurare levoluzione delle comunità
hacker e verificare limpatto della nascita e dello sviluppo
del concetto di Open Source.
Ogni movimento ha bisogno di qualcosa che sancisca i passaggi salienti
della propria vita: le licenze software hanno spesso segnato qualcosa
di più di un cambiamento, coagulando un modus operandi, uno
stile, un background culturale e politico.
Le licenze, dalla GPL alle ultime rilasciate, ripercorrono la storia
del Free Software e dellOpenSource in alcuni casi incidendo
profondamente su di essa (non solo la GPL, ma anche altre: si pensi
solo alla Mozilla Public Licence, mpl11): differenti per specificità
e finalità, prendono le mosse da percorsi etici e culturali
anche molto eterogenei. Le licenze adottate sottolineano con forza
le molte differenze tra le varie comunità ed evidenziano lintreccio
di finalità diverse in un breve lasso di tempo. Gli anni di
rilascio delle varie licenze, infatti, tracciano la mappa temporale
e concettuale del processo che ha portato allegemonia del termine
Open Source e delle sue pratiche.
Le discussioni in merito alle licenze, sul «permesso»,
sui «poteri», spaziano ovviamente ben oltre i limiti delle
reti informatiche. Innumerevoli le visioni, le note, le caratteristiche
riscontrate, gli usi, le preferenze. Nellottica di analizzare
i rapporti di potere e le evoluzioni dellOpen Source le licenze
sono da un lato tentativi di regolamentare qualcosa che fino a quel
momento non aveva delle regole, dallaltro veri e propri scatti
concettuali da parte di particolari gruppi di «potere»
allinterno del mondo delle comunità hacker.
In un racconto Philip K. Dick, già rivisitato dal cinema (12),
un ingegnere elettronico ha il compito di carpire i segreti della
concorrenza e provvedere a concepire nuovi prodotti tecnologicamente
migliori. I suoi datori di lavoro si tutelano a loro modo dalla possibilità
che lingegnere venga «assoldato» da altre aziende,
cancellando al loro dipendente la memoria.
Dick, straordinario nel suo oscuro scrutare (13), percepisce con largo
anticipo la nascita di uneconomia in cui la «protezione»
delle conoscenze sarebbe diventata fondamentale (14) anche a costo
di limitare, castrare e distruggere gli individui stessi.
Leconomia del xx secolo si è basata sempre più
sul concetto di «protezione delle idee» e «proprietà
intellettuale»: un miscuglio assurdo di copyright, brevetti,
marchi registrati e accordi di segretezza che ha prodotto tra laltro
infinite e costose cause legali. In teoria tutti questi strumenti
erano stati approntati per tutelare le creazioni e diffondere meglio
le conoscenze; nei fatti si sono sempre rivelati armi a doppio taglio,
come del resto le stesse licenze apparse negli ultimi anni, che vanno
esattamente in questa direzione: evitare un eccessivo arricchimento
economico da parte di chi si impossessa del software, garantendo quindi
la libertà del software e allo stesso tempo tutelando lautore
del programma da tentativi di appropriazione (anche a scopi economici)
del proprio software. Nel xxi secolo, la cooptazione da parte delle
aziende dei metodi di sviluppo free, diventati open, dimostrano in
maniera lampante come la «protezione» debba cedere il
passo alla libera circolazione dei saperi.
3. Free Software e GPL
Abbiamo visto che la licenza GPL (General Public Licence) nasce dal
progetto gnu di Richard Stallmann.
Stallmann si pose il problema di come distribuire il software libero,
provando dapprima attraverso un semplice spazio ftp del mit. Questo
risolveva il problema della distribuzione, ma non garantiva che il
software rimanesse libero. Chiunque infatti in quel momento poteva
comprare il software e adottarlo come prodotto della propria azienda,
commercializzandolo e appropriandosi dei diritti. Proprio questo era
linconveniente del public domain che Stallmann e migliaia di
coder volevano evitare: la possibilità che il proprio software
finisse per essere utilizzato in progetti commerciali e proprietari,
o ancor peggio, in progetti eticamente discutibili. Mancava cioè
la possibilità per il programmatore di avere delle valide difese
rispetto a un uso non solo commerciale, ma anche irresponsabile, del
proprio prodotto. Fin dallinizio quindi il problema di Stallmann
non era la «sostenibilità» economica del Free Software
(era ovvio, dal suo punto di vista, che il fs fosse migliore, anche
commercialmente, del software close), quanto piuttosto la salvaguardia
della sua libertà attraverso una sorta di copyright del proprio
autore.
Stallmann adottò allora quello che definì permesso dautore,
giocando sul significato della parola copyleft: anziché privatizzare
il software, lo rendeva libero, fornendo quindi tutta una serie di
garanzie nei confronti dellautore del software.
Così nasce la GPL (15): lidea centrale è di dare
a chiunque il permesso di eseguire, copiare, modificare e distribuire
versioni modificate del programma, ma senza dare la possibilità
di aggiungere restrizioni. La GPL è virale perché le
libertà di cui è intriso il software sono garantite
a chiunque ne abbia una copia e diventano «diritti inalienabili»:
il permesso dautore infatti non sarebbe efficace se anche le
versioni modificate del software non fossero libere.
In questo modo Stallmann «garantiva» il creatore del software
e la comunità di riferimento stessa, perché ogni lavoro
basato sul prodotto originale sarebbe stato sempre disponibile, libero,
aperto, per tutta la comunità.
La GPL e Stallmann in quel momento rappresentavano lo stato avanzato
delletica hacker e il primo vero tentativo di «dichiarare
autonoma e replicabile» lesperienza della condivisione
e del superamento del settecentesco copyright, della stupidità
del concetto di proprietà intellettuale nel mondo software.
Abbiamo visto però che Stallmann, uno dei personaggi chiave
della storia del movimento hacker, non riuscì a vincere la
sfida tecnologica che si poneva: creare un sistema operativo potente
e flessibile come unix, ma libero.
Dopo lesplosione di Linux, allinizio degli anni Novanta,
apparve chiaro che Stallmann e il suo Free Software non erano più
gli unici soggetti in movimento nel mondo delle comunità digitali,
anzi: erano considerati improvvisamente quasi arcaici relitti dellepoca
doro dellhacking, surclassati dal successo mondiale di
Linux. Ormai il processo di espansione di internet, principale veicolo
della diffusione del software, era inarrestabile e contestualmente
i limiti e lagilità con cui la comunità hacker
si apriva anche al commerciale venne incarnata anche dalla nascita
del termine Open Source. Eppure sappiamo che la GPL stessa non esclude
applicazioni commerciali con finalità di business.
4. Open Source e nuove licenze
Nel 1997 Bruce Perens e Eric Raymond, in una conferenza in posta
elettronica, sanciscono la definizione di Open Source, per specificare
che il termine non significa solo «accesso al codice sorgente»,
ma si estende a numerosi altri aspetti. Il radicalismo politico del
Free Software non era attraente per molte imprese produttrici di software,
che tra laltro temevano di perdere il proprio capitale intellettuale;
la Open Source Definition (OSD) cambiava decisamente le carte in tavola.
Alcune precisazioni. Innanzitutto la OSD sottolinea di non prevedere
nessuna discriminazione dei settori che possono utilizzare software
Open Source: la licenza non proibisce ad alcuno luso del programma
in uno specifico campo o per un determinato proposito. Nessuno può
proibire che il software venga utilizzato per scopi commerciali o
scopi non considerati etici. La precisazione degli autori della OSD
è piuttosto chiara: il software devessere impiegabile
allo stesso modo in una clinica che pratichi aborti e in unorganizzazione
antiabortista.
A chi fa notare lincongruenza, o quanto meno, i rischi di tali
affermazioni, la risposta è di una sconcertante apoliticità:
queste discussioni politiche sono di pertinenza del Congresso degli
Stati Uniti, si sostiene, non delle licenze del software. Delega totale.
Daltro canto per i fautori dellOpen Source, la GPL, che
pure viene consigliata in molti casi, viene considerata con malcelato
disprezzo un mero «manifesto politico» (16).
Lo scossone del 1998, quando Netscape rende pubblici i propri codici
sorgenti e nasce il progetto Mozilla, è strettamente legato
alla questione delle licenze: la mpl, pur essendo approvata dalla
OSI come licenza Open Source, specifica che chiunque «è
libero di creare un prodotto commerciale utilizzando il codice Mozilla»
e proprio nella licenza il primo punto è dedicato a questo
aspetto («1.0.1. Commercial Use means distribution
or otherwise making the Covered Code available to a third party.»).
Il passaggio da Free Software a Open Source è compiuto, non
solo a livello semantico e linguistico ma anche a livello di implicazioni
commerciali: dalla libertà al primo punto, siamo giunti a mettere
il mercato avanti a tutto. Se infatti accettassimo come reale la distinzione
operata da Raymond tra «fanatici» e moderati» dellOpen
Source, il percorso concettuale apparirebbe lineare: inizialmente
il Free Software porta alla ribalta la parte «fanatica»
delle comunità hacker, coloro cioè che hanno sempre
specificato la libertà del codice senza accettare compromessi
commerciali, se non a livello di distribuzione.
La distinzione di Raymond è semplicistica ed è evidentemente
sbilanciata a favore dellOpen Source. Egli infatti si pone tra
i «moderati» (termine conciliante e sempre buono per chi
non vuole apparire scomodo) e definisce gli altri «fanatici»:
letteralmente, «ispirati da un dio» o «presi da
delirio»: nulla di positivo, in genere. Fanatiche sarebbero,
per Raymond, quelle comunità hacker che avevano appoggiato
la fsf e il suo percorso e che mal digerivano la piega conciliante
con il mercato intrapresa dal movimento Open Source. Lo stesso Raymond,
per avvalorare la propria tesi, richiama a sé proprio Linus
Torvald: questi, al pari degli estensori della OSD, ha specificato
di apprezzare anche lutilizzo di software proprietario, per
compiti specifici, deridendo «gentilmente quegli elementi più
puristi e fanatici allinterno della cultura hacker» (17).
La distinzione è quindi più che altro funzionale allOpen
Source, non certo oggettiva. La realtà è ben più
complessa di quanto unetichetta possa racchiudere: nella storia
del movimento hacker si è assistito alla nascita di unetica
che ha messo in crisi il concetto di proprietà intellettuale,
in unepoca e in un settore, il software, di riproducibilità
tecnica totale. Una delle conseguenze maggiori di questa forte politicità,
ovvero di questa prassi fortemente orientata e innovativa, è
stato lavvicinamento di alcune comunità ad aziende e
imprese che hanno fiutato nei metodi e nello sviluppo di software
delle comunità una valida opzione per creare mercato e profitti.
Nel prossimo capitolo ci occuperemo di questo incontro tra comunità
digitali e mondo commerciale.
Distinguere tra fanatici e moderati significa mettere in un angolo
i primi, considerare nel giusto i secondi, mentre naturalmente la
questione è più sfumata: Free Software e Open Source,
sono queste le due componenti di peso delle comunità hacker,
entrambe, e la seconda è unevoluzione della prima, ma
non necessariamente un miglioramento.
La distinzione non tiene inoltre conto del mondo hacker nella sua
complessità: esiste infatti una «massa grigia»
che possiamo considerare come una parte poco interessata non solo
alle implicazioni politiche e filosofiche che il Free Software aveva
portato alla luce, ma anche alle stesse implicazione business oriented.
Unica esigenza di questa «massa»: poter codare in maniera
sicura avendo garantita la GPL e poter praticare quella condivisione
connaturata al mondo delle comunità di software libero.
Linux, come del resto la mpl, rappresentavano dunque queste parti
delle comunità che vedevano nella GPL solo un mezzo, uno strumento
e non una riflessione etica, politica e filosofica applicata al software.
Si muovevano fin da subito verso un dimensione di «democraticizzazione»
(a fronte del monopolio Microsoft) del mercato del digitale, partendo
dal software commerciale, ma comunque libero, e cabotando pericolosamente
la zona commerciale non-libero.
LOpen Source sviluppò fin da subito marketing in grado
di irretire queste componenti; nello stesso tempo, il movimento Free
Software, poco in grado di cogliere immediatamente questi cambiamenti,
si trovò presto in grave difficoltà nel proporre soluzioni
al passo con i tempi.
In realtà, anche tralasciando divisioni artificiose che quasi
mai sono applicabili a una realtà in costante evoluzione, pare
invece più fondato e realistico il passaggio concettuale che
le imprese sono riuscite a far attecchire allinterno delle comunità:
lOpen Source infatti non rappresenta altro che unassunzione
del rischio imprenditoriale da parte tanto dei programmatori, quanto
delle aziende. Le licenze nate dopo il 1998 sanciscono questo passaggio.
Una società in crisi può «guarire» passando
allOpen Source, perché le licenze (che per definizione
cercano di regolare il mercato, non uscendo, in pratica, dal mercato)
permettono affidabili recuperi di denaro e competenze in una sana,
apparentemente democratica, economia di mercato. In fondo anche la
monopolista Microsoft, in un certo senso, si sta muovendo verso lOpen
Source (certo non verso il Free Software). Infatti Microsoft ha risposto
alla crescente richiesta da parte di Pubbliche Amministrazioni e grosse
aziende di poter visionare il codice che utilizzano, varando liniziativa
denominata Shared source: a pagamento (ma gratuitamente per le Pubbliche
Amministrazioni), consente di avere accesso ai sorgenti (18).
Le licenze quindi possono essere definite addirittura «metronomi»
del processo di avvicinamento del mondo commerciale allOpen
Source: più il legame si faceva stretto, più nascevano
licenze in grado di permettere, mantenendo il principio di libertà
daccesso al codice, una collaborazione effettiva tra comunità
Open Source e progetti commerciali.
.............Continua Parte 2
>>>>>>>
|